From 0c71cd7f8b2aa9bd05db88f9428809d1f09c5e70 Mon Sep 17 00:00:00 2001 From: Mark Murphy Date: Fri, 5 Aug 2022 16:05:20 -0500 Subject: [PATCH 001/360] DEVDOCS-4246: [edit] Create an Order request body cleanup (#849) Co-authored-by: Tina Gomez Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl --- reference/orders.v2.oas2.yml | 77 ++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 9d34cc9ab..fda5bd509 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -687,7 +687,7 @@ paths: * order_address_id * items - **Usage Notes** + **Usage notes** Presuming that a valid carrier code is used, a tracking link is generated if either `shipping_provider` or `tracking_carrier` is supplied alongside a tracking number. Providing only the tracking number will result in an unclickable text in the customer facing email. @@ -3053,7 +3053,7 @@ components: coupons: $ref: '#/components/schemas/coupons_Resource' external_id: - description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It can not be overwritten once set.' + description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set.' example: 'null' type: string nullable: true @@ -3394,7 +3394,7 @@ components: items: $ref: '#/components/schemas/orderProductOptions' external_id: - description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It can not be overwritten once set.' + description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set.' type: string nullable: true upc: @@ -4055,6 +4055,7 @@ components: title: order_Shared description: Order properties used in `PUT` and `POST` requests and responses. type: object + x-internal: false properties: base_handling_cost: description: 'The value of the base handling cost. (Float, Float-As-String, Integer)' @@ -4065,11 +4066,9 @@ components: example: '0.0000' type: string base_wrapping_cost: - description: 'The value of the base wrapping cost. (Float, Float-As-String, Integer)' + description: 'The value of the base wrapping cost expressed as a floating point number to four decimal places in string format.' example: '0.0000' - oneOf: - - type: string - - type: number + type: string billing_address: $ref: '#/components/schemas/billingAddress_Full' channel_id: @@ -4097,13 +4096,13 @@ components: example: '0' type: string external_id: - description: 'The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you can not write to or update the `external_id`. You can update this field using a /POST request, but a /PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: 'The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a /POST request, but a /PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' example: null oneOf: - type: string - type: null external_merchant_id: - description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you can not write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a /POST request, but a /PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a /POST request, but a /PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' example: null oneOf: - type: string @@ -4244,7 +4243,6 @@ components: description: 'The value of the wrapping cost, including tax. (Float, Float-As-String, Integer)' example: '0.0000' type: string - x-internal: false billingAddress_Base: type: object title: billingAddress_Base @@ -4467,16 +4465,19 @@ components: type: object title: orderCustomProduct_Put description: | - To `add` a custom product to an existing order, don't include `id` in the payload. At least one of these fields `name`, `name_customer`, or `name_merchant` must be provided with non-empty value. - To `update` an order product line, `id` is required. The payload should only contain the fields that needs to be updated. Those fields that are omitted will not be changed. - Note: - - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. - - `name` and `name_customer` always hold the same value, updating either `name` or `name_customer` will change the value for both of those fields. - - If both fields `name` and `name_customer` are present, they must have same value. - - When updating an existing order product, if both fields `name` and `name_customer` are omitted from the request, they will not be updated. - - When updating an existing order product, if `name_merchant` is omitted from the request, it will not be updated. - - When adding product, if `name_merchant` is omitted, it will be set to the value of `name` (or `name_customer`). - - When adding a new product to an existing order, if both fields `name` and `name_customer` are omitted, they will be set to the value of `name_merchant`. + **Usage notes:** + + To `add` a custom product to an existing order, don't include `id` in the payload. You must provide a nonempty value for at least one of these fields: `name`, `name_customer`, or `name_merchant`. + To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. You cannot change omitted fields. + + Note the following constraints and default field values: + - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. + - `name` and `name_customer` always hold the same value; updating either `name` or `name_customer` will change the value for both of those fields. + - If both fields `name` and `name_customer` are present, they must have the same value. + - When updating an existing order product, if you omit both fields `name` and `name_customer` from the request, they will not be updated. + - When updating an existing order product, if you omit `name_merchant` from the request, it will not be updated. + - When adding a product, if you omit `name_merchant`, it will be set to the value of `name` (or `name_customer`). + - When adding a new product to an existing order, if you omit both fields `name` and `name_customer`, they will be set to the value of `name_merchant`. properties: name: type: string @@ -4513,16 +4514,18 @@ components: orderCatalogProduct_Put: title: orderCatalogProduct_Put description: | - To `add` product to an existing order, don't include `id` in the payload. And note that the `product_options` are required if adding a product with variants. - To `update` an order product line, `id` is required. The payload should only contain the fields that needs to be updated. Those fields that are omitted will not be changed. - Note: - - `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. + **Usage notes** + + To `add` a product to an existing order, don't include `id` in the payload. When adding a product with variants, `product_options` are required. + To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. The fields that you omit will not be changed. + + Note the following constraints and default field values: + - `xxx` and `xxx_customer` always hold the same value. Updating either `xxx` or `xxx_customer` will change the value of both fields. - If both fields `xxx` and `xxx_customer` are present, they must have same value. - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. - - When updating and existing order product without changing the variant, product or product options, if `xxx_merchant` is not part of the request it will not be updated. - - When updating an existing order product, if both fields `xxx` and `xxx_customer` not part of the request they will not be updated. - - When adding a product to and existing order or changing the variant, product, or product options. - - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer, and `xxx_merchant` if `xxx_merchant` is omitted, it will default to have the catalog value. + - When updating an existing order product without changing the variant, product, or product options, requests that do not contain `xxx_merchant` will fail. + - When updating an existing order product, requests that do not contain both fields `xxx` and `xxx_customer` will fail. + - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer, and `xxx_merchant`. If `xxx_merchant` is omitted, it will default to have the catalog value. - If both fields `xxx` and `xxx_customer` are omitted from the request, they will default to the catalog value. allOf: - type: object @@ -4633,12 +4636,18 @@ components: title: orderCustomProduct_Post type: object description: |- - At least one of these fields `name`, `name_customer`, or `name_merchant` must be provided with non-empty value. - Note: `name` and `name_customer` always hold the same value, updating either `name` or `name_customer` will change value for both of those fields. - If both fields `name` and `name_customer` are present, they must have the same value. - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. - If both fields `name` and `name_customer` are omitted, they will be populated by the `name_merchant` value. - If field `name_merchant` is omitted it will be populated by the value of `name` (or `name_customer`). + **Usage notes** + + Provide one of these fields with a nonempty value: + - `name` + - `name_customer` + - `name_merchant` + + Note the following constraints and default field values: + - Null and `''` empty strings are invalid for `name`, `name_customer`, and `name_merchant`. + - `name` and `name_customer` always share the same value; updating one updates the other. + - When you omit both `name` and `name_customer`, they default to the value of `name_merchant`. + - When you omit `name_merchant`, it defaults to the value that `name` and `name_customer` share. properties: name: type: string From d330856bf42365fe9b2923be233e49c4a895f677 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Sat, 6 Aug 2022 14:39:02 -0500 Subject: [PATCH 002/360] DEVDOCS-4210: [update] channel_id (#897) --- reference/widgets.v3.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index d48448bbe..a86158dba 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -2,6 +2,7 @@ openapi: 3.0.1 info: title: Widgets version: '' + contact: {} description: |- Create and manage widget templates, widgets, regions, and placements. @@ -172,7 +173,7 @@ paths: type: string default: application/json - in: query - name: channel_id + name: 'channel_id:in' description: Filter items by channel_id. schema: type: integer @@ -479,7 +480,7 @@ paths: type: array items: {} - in: query - name: channel_id + name: 'channel_id:in' description: Filter items by channel_id. schema: type: integer From 9a9ab76499633648b3beb1065404608bcf8cf71e Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Sat, 6 Aug 2022 14:47:32 -0500 Subject: [PATCH 003/360] DEVDOCS-4223: [edit] Item request example, Tax Provider API (#827) --- reference/tax_provider.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 9b0791b2d..8b676bbae 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -849,6 +849,7 @@ components: type: object description: An **ItemRequest** represents required information relating to completing tax calculations for a specific line item. title: ItemRequest + x-internal: false properties: id: type: string @@ -870,6 +871,7 @@ components: type: number description: 'Note: This amount will be **negative** for order-level refunds and may be **zero** for line-item refunds.' format: double + example: 1.5 tax_inclusive: type: boolean description: 'Note: **Tax Inclusive** and **Tax Exclusive** prices cannot be added together.' @@ -900,7 +902,6 @@ components: - price - quantity - type - x-internal: false request-item-wrapping: type: object description: 'An **ItemRequestWrapping** represents required information relating to completing tax calculations for a specific line item, including the information used to calculate wrapping tax.' From 3ff1feaba9f15e66d73305996e8ce685b42bd9b5 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Sat, 6 Aug 2022 15:48:38 -0500 Subject: [PATCH 004/360] DEVDOCS-4184: [edit] Fix the request body schema for creating refunds (#919) Co-authored-by: Mo <64647846+S48-Mo@users.noreply.github.com> Co-authored-by: ansnaldo <34357510+ansnaldo@users.noreply.github.com> Co-authored-by: Tomas Gerulaitis --- reference/orders.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 6dc452658..7d5bbc4f5 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -1063,7 +1063,7 @@ paths: put: summary: Update Channel Order Settings description: |- - Updates order settings for a specific channel. + Updates order settings for a specific channel. **Note:** You must override both notifications `email_addresses` or neither, i.e. either both notification `email_addresses` are an array of valid email addresses, or both `email_addresses` must be null. You may not have one set to an array of addesses and the other set to `null`. operationId: UpdateChannelOrderSettings @@ -2577,7 +2577,7 @@ components: ItemsRefund: title: ItemsRefund x-internal: false - anyOf: + oneOf: - $ref: '#/components/schemas/AmountBoundItem' - $ref: '#/components/schemas/QuantityBoundItem' - $ref: '#/components/schemas/TaxExemptItem' From 9222ca6911c57468655799644d7745a19290ec84 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 8 Aug 2022 16:24:33 -0500 Subject: [PATCH 005/360] DEVDOCS-4367: added original price for response item object (#896) (#928) * DEVDOCS-4367: added original price for response item object (#896) * add X-Auth-Token headers Co-authored-by: Shawn Wang <94653751+bc-shawnwang@users.noreply.github.com> Co-authored-by: Mark --- reference/carts.sf.yml | 21 +++++++++++++++++-- reference/carts.v3.yml | 26 ++++++++++++++++++----- reference/checkouts.sf.yml | 42 ++++++++++++++++++++++++++++++++++---- reference/checkouts.v3.yml | 20 ++++++++++++++++-- 4 files changed, 96 insertions(+), 13 deletions(-) diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index 4ba7f96ec..ecf0bd333 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -654,7 +654,10 @@ components: description: Whether the item is taxable. listPrice: type: number - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + originalPrice: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' name: type: string description: The item's product name. @@ -816,7 +819,10 @@ components: description: Whether the item is taxable. listPrice: type: number - description: The net item price before discounts and coupons. It is based on the product default price or sale price (if set) configured in BigCommerce Admin. + description: The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel. + originalPrice: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' name: type: string description: The item's product name. @@ -1026,6 +1032,7 @@ components: imageUrl: 'http://example.com' isTaxable: true listPrice: 0 + originalPrice: 0 name: string parentId: '6' productId: 0 @@ -1065,6 +1072,7 @@ components: imageUrl: 'http://example.com' isTaxable: true listPrice: 0 + originalPrice: 0 name: string parentId: 6 productId: 0 @@ -1133,6 +1141,7 @@ components: imageUrl: 'http://example.com' isTaxable: true listPrice: 0 + originalPrice: 0 name: string parentId: '6' productId: 0 @@ -1172,6 +1181,7 @@ components: imageUrl: 'http://example.com' isTaxable: true listPrice: 0 + originalPrice: 0 name: string parentId: 6 productId: 0 @@ -1239,6 +1249,7 @@ components: id: '4' imageUrl: 'http://example.com' isTaxable: true + originalPrice: 0 listPrice: 0 name: string parentId: '6' @@ -1278,6 +1289,7 @@ components: id: '4' imageUrl: 'http://example.com' isTaxable: true + originalPrice: 0 listPrice: 0 name: string parentId: 6 @@ -1340,6 +1352,7 @@ components: discountedAmount: 24.6 discountAmount: 24.6 couponAmount: 0 + originalPrice: 130 listPrice: 123 salePrice: 110.7 extendedListPrice: 246 @@ -1405,6 +1418,7 @@ components: id: '4' imageUrl: 'http://example.com' isTaxable: true + originalPrice: 0 listPrice: 0 name: string parentId: '6' @@ -1444,6 +1458,7 @@ components: id: '4' imageUrl: 'http://example.com' isTaxable: true + originalPrice: 0 listPrice: 0 name: string parentId: 6 @@ -1509,6 +1524,7 @@ components: id: '4' imageUrl: 'http://example.com' isTaxable: true + originalPrice: 0 listPrice: 0 name: string parentId: '6' @@ -1548,6 +1564,7 @@ components: id: '4' imageUrl: 'http://example.com' isTaxable: true + originalPrice: 0 listPrice: 0 name: string parentId: 6 diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 5a12b20cd..7ed893e65 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -577,6 +577,7 @@ paths: coupons: [] discount_amount: 0 coupon_amount: 0 + original_price: 27.95 list_price: 27.95 sale_price: 27.95 extended_list_price: 139.75 @@ -1517,9 +1518,12 @@ components: coupon_amount: type: number description: The total value of all coupons applied to this item. + original_price: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' list_price: type: number - description: 'Item’s list price, as quoted by the manufacturer/distributor. Optional price override.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number description: Item's price after all discounts are applied. (The final price before tax calculation.) @@ -1691,9 +1695,12 @@ components: coupon_amount: type: number description: The total value of all coupons applied to this item. + original_price: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' list_price: type: number - description: 'Item’s list price, as quoted by the manufacturer/distributor. Optional price override.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number description: Item's price after all discounts are applied. (The final price before tax calculation.) @@ -1987,9 +1994,12 @@ components: coupon_amount: type: number description: The total value of all coupons applied to this item. + original_price: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' list_price: type: number - description: 'Item’s list price, as quoted by the manufacturer/distributor. Optional price override.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number description: Item's price after all discounts are applied. (The final price before tax calculation.) @@ -2161,9 +2171,12 @@ components: coupon_amount: type: number description: The total value of all coupons applied to this item. + original_price: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' list_price: type: number - description: 'Item’s list price, as quoted by the manufacturer/distributor. Optional price override.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number description: Item's price after all discounts are applied. (The final price before tax calculation.) @@ -2333,9 +2346,12 @@ components: coupon_amount: type: number description: The total value of all coupons applied to this item. + original_price: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' list_price: type: number - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number description: Item's price after all discounts are applied. (The final price before tax calculation.) diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 4292123f7..4a2b36ae6 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -100,6 +100,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -273,6 +274,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -437,6 +439,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -598,6 +601,7 @@ paths: discountedAmount: 2 discountAmount: 2 couponAmount: 0 + originalPrice: 17.99 listPrice: 15.99 salePrice: 13.99 extendedListPrice: 15.99 @@ -620,6 +624,7 @@ paths: discountedAmount: 1.06 discountAmount: 0 couponAmount: 0 + originalPrice: 25 listPrice: 25 salePrice: 25 extendedListPrice: 25 @@ -642,6 +647,7 @@ paths: discountedAmount: 2.12 discountAmount: 0 couponAmount: 0 + originalPrice: 49.99 listPrice: 49.99 salePrice: 49.99 extendedListPrice: 49.99 @@ -664,6 +670,7 @@ paths: discountedAmount: 0.8 discountAmount: 0 couponAmount: 0 + originalPrice: 18.95 listPrice: 18.95 salePrice: 18.95 extendedListPrice: 18.95 @@ -840,6 +847,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -1021,6 +1029,7 @@ paths: discountedAmount: 2 discountAmount: 2 couponAmount: 0 + originalPrice: 17.99 listPrice: 15.99 salePrice: 13.99 extendedListPrice: 15.99 @@ -1043,6 +1052,7 @@ paths: discountedAmount: 1.06 discountAmount: 0 couponAmount: 0 + originalPrice: 25 listPrice: 25 salePrice: 25 extendedListPrice: 25 @@ -1065,6 +1075,7 @@ paths: discountedAmount: 2.12 discountAmount: 0 couponAmount: 0 + originalPrice: 49.99 listPrice: 49.99 salePrice: 49.99 extendedListPrice: 49.99 @@ -1087,6 +1098,7 @@ paths: discountedAmount: 0.8 discountAmount: 0 couponAmount: 0 + originalPrice: 18.95 listPrice: 18.95 salePrice: 18.95 extendedListPrice: 18.95 @@ -1309,6 +1321,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -1491,6 +1504,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -1631,6 +1645,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -1778,6 +1793,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -1966,6 +1982,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 @@ -2114,6 +2131,7 @@ paths: discountedAmount: 2 discountAmount: 2 couponAmount: 0 + originalPrice: 17.99 listPrice: 15.99 salePrice: 13.99 extendedListPrice: 15.99 @@ -2134,6 +2152,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 25 listPrice: 25 salePrice: 25 extendedListPrice: 25 @@ -2154,6 +2173,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 49.99 listPrice: 49.99 salePrice: 49.99 extendedListPrice: 49.99 @@ -2174,6 +2194,7 @@ paths: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 18.95 listPrice: 18.95 salePrice: 18.95 extendedListPrice: 18.95 @@ -2866,8 +2887,11 @@ definitions: description: The total value of all coupons applied to this item. type: number format: double + originalPrice: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' listPrice: - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' type: number format: double salePrice: @@ -2975,8 +2999,11 @@ definitions: description: The total value of all coupons applied to this item. type: number format: double + originalPrice: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' listPrice: - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' type: number format: double salePrice: @@ -3804,8 +3831,11 @@ definitions: description: The total value of all coupons applied to this item. type: number format: double + originalPrice: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' listPrice: - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' type: number format: double salePrice: @@ -3916,8 +3946,11 @@ definitions: description: The total value of all coupons applied to this item. type: number format: double + originalPrice: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' listPrice: - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' type: number format: double salePrice: @@ -4141,6 +4174,7 @@ responses: discounts: [] discountAmount: 0 couponAmount: 0 + originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 4cdce2b3e..9ce96d87f 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -945,8 +945,11 @@ definitions: description: The total value of all coupons applied to this item. type: number format: double + original_price: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' list_price: - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' type: number format: double sale_price: @@ -1068,8 +1071,11 @@ definitions: description: The total value of all coupons applied to this item. type: number format: double + original_price: + type: number + description: 'An item’s original price is the same as the product default price in the admin panel.' list_price: - description: 'Item’s list price, as quoted by the manufacturer/distributor.' + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' type: number format: double sale_price: @@ -1901,6 +1907,7 @@ responses: coupons: [] discount_amount: 0 coupon_amount: 0 + original_price: 35.95 list_price: 31.95 sale_price: 33.23 extended_list_price: 31.95 @@ -2028,6 +2035,7 @@ responses: coupons: [] discount_amount: 0 coupon_amount: 0 + original_price: 35.95 list_price: 31.95 sale_price: 33.23 extended_list_price: 31.95 @@ -2149,6 +2157,7 @@ responses: coupons: 6.4 discount_amount: 0 coupon_amount: 6.4 + original_price: 32 list_price: 32 sale_price: 32 extended_list_price: 32 @@ -2173,6 +2182,7 @@ responses: coupons: 7 discount_amount: 0 coupon_amount: 7 + original_price: 35 list_price: 35 sale_price: 35 extended_list_price: 35 @@ -2257,6 +2267,7 @@ responses: coupons: [] discount_amount: 0 coupon_amount: 0 + original_price: 32 list_price: 32 sale_price: 32 extended_list_price: 32 @@ -2279,6 +2290,7 @@ responses: coupons: [] discount_amount: 0 coupon_amount: 0 + original_price: 35 list_price: 35 sale_price: 35 extended_list_price: 35 @@ -2344,6 +2356,7 @@ responses: coupons: [] discount_amount: 0 coupon_amount: 0 + original_price: 32 list_price: 32 sale_price: 32 extended_list_price: 32 @@ -2366,6 +2379,7 @@ responses: coupons: [] discount_amount: 0 coupon_amount: 0 + original_price: 35 list_price: 35 sale_price: 35 extended_list_price: 35 @@ -2442,6 +2456,7 @@ responses: coupons: 0 discount_amount: 0 coupon_amount: 0 + original_price: 0 list_price: 0 sale_price: 0 extended_list_price: 0 @@ -2473,6 +2488,7 @@ responses: coupons: 0 discount_amount: 0 coupon_amount: 0 + original_price: 0 list_price: 0 sale_price: 0 extended_list_price: 0 From a1b35c5a70c08616bf33e837a88030dd71277736 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 9 Aug 2022 10:54:52 -0500 Subject: [PATCH 006/360] =?UTF-8?q?DEVDOCS-4371:=20Add=20gift=5Fcertificat?= =?UTF-8?q?e=5Fid=20to=20v2/orders=20for=20GET=20Order=20Prod=E2=80=A6=20(?= =?UTF-8?q?#884)=20(#915)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Convert Spectral to GitHub Action (#906) * Stoplight moving Spectral * add Spectral GitHub Action * test spectral lint action * undo test * rename spectral config * update ruleset name * spectral update * Added reference/.spectral.yaml * Modified .spectral.yaml * test spectral linting (#901) * test spectral linting * change to yml * updates to match spectral_action * Deleted .circleci/config.yml * Deleted .stoplight/.spectral.yaml * update workflow * new line * Modified 3 files * newline * DEVDOCS-4006: [net new] tax properties (#814) Co-authored-by: Traci Porter Co-authored-by: Mark Murphy Co-authored-by: Sarah Riehl * DEVDOCS-3835: [edit] update tax provider api spec with tax properties (#810) Co-authored-by: Brett Daniels Co-authored-by: mark.murphy@bigcommerce.com * remove newline (stoplight) * DEVDOCS-4344: Add gift_certificate_id to v2/orders for GET Order Product Calls * DEVDOCS-4344: Fixes for schema Co-authored-by: Mark Murphy Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl Co-authored-by: Brett Daniels Co-authored-by: Munjal Munshi <92066753+bc-munjal@users.noreply.github.com> Co-authored-by: Mark Murphy Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl Co-authored-by: Brett Daniels --- reference/orders.v2.oas2.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index fda5bd509..c2f482c70 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -2005,6 +2005,7 @@ components: name: PickList display_style: Pick list configurable_fields: [] + gift_certificate_id: null - id: 66 order_id: 149 product_id: 86 @@ -2051,6 +2052,7 @@ components: applied_discounts: [] product_options: [] configurable_fields: [] + gift_certificate_id: null orderProductLineItem_Resp: description: '' content: @@ -2123,6 +2125,7 @@ components: name: ProductPickList display_style: Pick list configurable_fields: [] + gift_certificate_id: null Custom Product: - id: 238 order_id: 247 @@ -2177,6 +2180,7 @@ components: applied_discounts: [] product_options: [] configurable_fields: [] + gift_certificate_id: null Product with Variants: - id: 240 order_id: 247 @@ -3412,6 +3416,11 @@ components: type: string example: Towel Type 1 description: The product name that is shown to merchant in Control Panel. + gift_certificate_id: + type: integer + example: 52 + description: ID of the associated gift certificate. + nullable: true orderCount: title: orderCount example: From 73d207b41ba4b318fddc948fbc2a782634fb1be8 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 10 Aug 2022 10:57:18 -0500 Subject: [PATCH 007/360] =?UTF-8?q?DEVDOCS-4371:=20Add=20gift=5Fcertificat?= =?UTF-8?q?e=5Fid=20to=20v2/orders=20for=20GET=20Order=20Prod=E2=80=A6=20(?= =?UTF-8?q?#884)=20(#931)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Convert Spectral to GitHub Action (#906) * Stoplight moving Spectral * add Spectral GitHub Action * test spectral lint action * undo test * rename spectral config * update ruleset name * spectral update * Added reference/.spectral.yaml * Modified .spectral.yaml * test spectral linting (#901) * test spectral linting * change to yml * updates to match spectral_action * Deleted .circleci/config.yml * Deleted .stoplight/.spectral.yaml * update workflow * new line * Modified 3 files * newline * DEVDOCS-4006: [net new] tax properties (#814) Co-authored-by: Traci Porter Co-authored-by: Mark Murphy Co-authored-by: Sarah Riehl * DEVDOCS-3835: [edit] update tax provider api spec with tax properties (#810) Co-authored-by: Brett Daniels Co-authored-by: mark.murphy@bigcommerce.com * remove newline (stoplight) * DEVDOCS-4344: Add gift_certificate_id to v2/orders for GET Order Product Calls * DEVDOCS-4344: Fixes for schema Co-authored-by: Mark Murphy Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl Co-authored-by: Brett Daniels Co-authored-by: Munjal Munshi <92066753+bc-munjal@users.noreply.github.com> Co-authored-by: Mark Murphy Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl Co-authored-by: Brett Daniels From 0e12cf1dc172395fbdb697603d8b32f77196cccf Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 Aug 2022 15:59:18 -0500 Subject: [PATCH 008/360] DEVDOCS-4391-update-UPC-field (#941) --- reference/catalog.v3.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 792996206..48c10c4cf 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -304,7 +304,7 @@ paths: type: integer - name: keyword in: query - description: 'Filter items by keywords found in the `name` or `sku` fields' + description: Filter items by keywords found in the `name` or `sku` fields schema: type: string - name: keyword_context @@ -23862,9 +23862,9 @@ components: description: | The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. upc: - maxLength: 255 - minLength: 0 type: string + maxLength: 32 + minLength: 0 description: | The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations. search_keywords: From 18e0aed15ec4bc7148d2e2c01b8b001f9e993fcb Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 12 Aug 2022 16:04:12 -0500 Subject: [PATCH 009/360] DEVDOCS-4392 Orders V2 [Maintenance] Fix broken links to tracking_carrier list (#940) * Fix broken links to tracking_carrier list * update link to master branch Co-authored-by: Mark Murphy --- reference/orders.v2.oas2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index c2f482c70..0bbc7efa7 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -693,7 +693,7 @@ paths: Acceptable values for `shipping_provider` include an empty string (`""`), auspost, canadapost, endicia, usps, fedex, royalmail, ups, upsready, upsonline, or shipperhq. - Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid tracking-carrier values viewable [here](https://github.com/bigcommerce/dev-docs/blob/development/assets/csv/tracking_carrier_values.csv) and downloadable as a .CSV file [here](https://raw.githubusercontent.com/bigcommerce/dev-docs/development/assets/csv/tracking_carrier_values.csv). + Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid tracking-carrier values viewable [here](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv) and downloadable as a .CSV file [here](https://raw.githubusercontent.com/bigcommerce/dev-docs/master/assets/csv/tracking_carrier_values.csv). summary: Create Order Shipment parameters: - $ref: '#/components/parameters/Accept' From 298565be919ed6e7926953134196f4e78f5b5c21 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 Aug 2022 16:11:02 -0500 Subject: [PATCH 010/360] DEVDOCS-4375-removed-custom_items-text (#939) * DEVDOCS-4375-removed-custom_items-text * changed custom_items to custom_item * fixed custom_items Co-authored-by: Mark Murphy --- reference/carts.v3.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 7ed893e65..dc9824ba1 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -431,8 +431,6 @@ paths: If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the Add Cart Line Items endpoint. - `custom_items` cannot be updated via the API at this time. To update your cart, add a new updated custom item and delete the outdated one. If your cart contains only one line item, perform the add operation before the delete operation. - Deleting all line items from the cart will invalidate the cart. parameters: - name: cartId @@ -1520,7 +1518,7 @@ components: description: The total value of all coupons applied to this item. original_price: type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' + description: An item’s original price is the same as the product default price in the admin panel. list_price: type: number description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' @@ -1697,7 +1695,7 @@ components: description: The total value of all coupons applied to this item. original_price: type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' + description: An item’s original price is the same as the product default price in the admin panel. list_price: type: number description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' @@ -1996,7 +1994,7 @@ components: description: The total value of all coupons applied to this item. original_price: type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' + description: An item’s original price is the same as the product default price in the admin panel. list_price: type: number description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' @@ -2173,7 +2171,7 @@ components: description: The total value of all coupons applied to this item. original_price: type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' + description: An item’s original price is the same as the product default price in the admin panel. list_price: type: number description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' @@ -2348,7 +2346,7 @@ components: description: The total value of all coupons applied to this item. original_price: type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' + description: An item’s original price is the same as the product default price in the admin panel. list_price: type: number description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' @@ -2655,7 +2653,7 @@ components: - quantity - sender - recipient - custom_items: + custom_item: $ref: '#/components/schemas/cart_PostCustomItem' Cart_Line_Item_Update_Post: type: object From cb0bdbbde9715606d65384624e080e9b5821185e Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 Aug 2022 16:12:29 -0500 Subject: [PATCH 011/360] DEVDOCS-4342: [remove] Remove references to Facebook Marketplace (#916) * Traci's changes to channels.v3 * Update reference/channels.v3.yml Co-authored-by: Mark Murphy * changed eBay to ebay Co-authored-by: Sarah Riehl Co-authored-by: Mark Murphy --- reference/channels.v3.yml | 43 +++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index 60a031c78..c9bb8ba28 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -1,6 +1,7 @@ openapi: 3.0.0 info: version: '' + contact: {} title: Channels description: |- Create and manage sales [channels](/api-docs/channels/overview), their [sites](/api-reference/store-management/channels/channel-site), and their [product listings](/api-reference/store-management/channels#channel-listings). @@ -141,7 +142,7 @@ paths: schema: $ref: '#/components/schemas/CreateChannelReq' examples: - Create Facebook by Meta Channel: + Create eBay Channel: $ref: '#/components/examples/create_channel_req_example' required: true responses: @@ -686,6 +687,7 @@ paths: type: object properties: {} description: Deletes the Channel's site. + operationId: DeleteChannelSite tags: - Channel Site summary: Delete a Channel Site @@ -756,6 +758,7 @@ paths: data: 1 meta: {} description: Deletes control panel side navigation menus for a channel. + operationId: DeleteChannelMenus tags: - Channel Menus summary: Delete Channel Menus @@ -1545,8 +1548,8 @@ components: examples: create_channel_req_example: value: - name: Facebook by Meta - platform: facebook by meta + name: eBay + platform: ebay type: marketplace status: connected config_meta: @@ -1730,7 +1733,7 @@ components: value: data: id: 667159 - icon_url: 'https://s3.amazonaws.com/bc-channel-platform/channel-icons/facebook.svg' + icon_url: 'https://s3.amazonaws.com/bc-channel-platform/channel-icons/eBay.svg' is_listable_from_ui: false is_visible: true date_created: '2021-05-13T15:41:39Z' @@ -1744,9 +1747,9 @@ components: - title: Settings query_path: settings type: marketplace - platform: facebook by meta + platform: ebay date_modified: '2021-05-13T15:41:39Z' - name: Facebook by Meta + name: ebay status: connected meta: {} single_channel_with_currencies_resp_example: @@ -2269,6 +2272,8 @@ components: type: boolean description: Indicates if a channel can create listings from the BigCommerce UI. Default value for this field is based on the channel type and platform combination if not specified on create. x-internal: false + x-examples: + example-1: true IsVisible: type: boolean description: 'Indicates if a channel is visible within the BigCommerce merchant admin UI (control panel). If `false`, the channel will not show in Channel Manager nor in any channels dropdown throughout the UI. Default value for this field is `true` if not specified on create.' @@ -2287,10 +2292,14 @@ components: - terminated title: '' x-internal: false + x-examples: + example-1: active ChannelName: type: string description: Name of the channel as it will appear to merchants in the control panel. x-internal: false + x-examples: + example-1: string ChannelType: type: string description: 'The type of channel; channel `platform` and `type` must be a [valid combination](/api-reference/store-management/channels#platform).' @@ -2425,6 +2434,13 @@ components: type: string description: The value that will be passed to the app's iFrame in the URL and will allow the app to display the appropriate section within the app iFrame in the control panel. deprecated: true + x-examples: + example-1: + app: + id: 0 + sections: + - title: '"Settings"' + query_path: string CurrencyNotRequiredWithChannelId: type: object description: Details about currency assignments for a specific channel. @@ -2487,6 +2503,21 @@ components: - type - platform x-internal: false + x-examples: + example-1: + config_meta: + app: + id: 0 + sections: + - title: '"Settings"' + query_path: string + external_id: string + is_listable_from_ui: true + is_visible: true + status: active + name: string + type: pos + platform: string UpdateChannelReq: type: object properties: From 4411d5709f86ad8fe3895e671f1347648dbd8f37 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 Aug 2022 16:13:51 -0500 Subject: [PATCH 012/360] DEVDOCS-4360: [remove] Remove request body for Get accepted payment methods (#918) * DEVDOCS-4360-remove-request-body * remove PaymentsMethodsGet req.body entirely Co-authored-by: Mark Murphy --- reference/payment_processing.yml | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/reference/payment_processing.yml b/reference/payment_processing.yml index 4803cd395..bff204f0a 100644 --- a/reference/payment_processing.yml +++ b/reference/payment_processing.yml @@ -632,8 +632,7 @@ paths: * The cart ID and checkout ID are the same. **Required Fields** - * order_id - * checkout_id + * `order_id` or `checkout_id` summary: Get Accepted Payment Methods tags: - Accepted Methods @@ -644,7 +643,6 @@ paths: parameters: - name: order_id in: query - required: false description: Identifier for the order schema: type: integer @@ -653,7 +651,6 @@ paths: exclusiveMaximum: false - name: checkout_id in: query - required: false description: Identifier for the checkout (same as the cart ID) schema: type: string @@ -837,28 +834,6 @@ paths: - status - title - type - requestBody: - content: - application/json: - schema: - type: object - properties: - order_id: - type: integer - checkout_id: - type: string - examples: - order_id: - value: - order_id: 155 - checkout_id: - value: - checkout_id: 69331902-b0f7-46b7-baec-852b318161f6 - application/xml: - schema: - type: object - properties: {} - description: '' parameters: - schema: type: string From 751f79aa913f5fe02899c9ed7c99e24ac03b73d7 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 Aug 2022 16:24:52 -0500 Subject: [PATCH 013/360] DEVDOCS-4350: [edit] Add custom template association reference (#917) * DEVDOCS-4350-add-Custom-Template-Association-reference * update URL to permalink * update URL to permalink * update permalink Co-authored-by: Mark Murphy Co-authored-by: Mark Murphy --- reference/catalog.v3.yml | 51 +++++++++++++++++----------------- reference/store_content.v2.yml | 4 +-- 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 48c10c4cf..173299af0 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -14018,10 +14018,8 @@ paths: application/json: schema: title: Category - required: - - name - - parent_id type: object + description: Common Category object properties. properties: id: type: integer @@ -14093,7 +14091,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). example: category.html is_visible: type: boolean @@ -14122,6 +14120,7 @@ paths: custom_url: title: Custom Url Category type: object + description: The custom URL for the category on the storefront. properties: url: maxLength: 255 @@ -14141,8 +14140,9 @@ paths: x-required: - post - put - description: The custom URL for the category on the storefront. - description: Common Category object properties. + required: + - parent_id + - name required: true responses: '200': @@ -14503,10 +14503,8 @@ paths: application/json: schema: title: Category - required: - - name - - parent_id type: object + description: Common Category object properties. properties: id: type: integer @@ -14578,7 +14576,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). example: category.html is_visible: type: boolean @@ -14607,6 +14605,7 @@ paths: custom_url: title: Custom Url Category type: object + description: The custom URL for the category on the storefront. properties: url: maxLength: 255 @@ -14626,8 +14625,9 @@ paths: x-required: - post - put - description: The custom URL for the category on the storefront. - description: Common Category object properties. + required: + - parent_id + - name required: true responses: '200': @@ -14640,10 +14640,8 @@ paths: properties: data: title: Category - required: - - name - - parent_id type: object + description: Common Category object properties. properties: id: type: integer @@ -14715,7 +14713,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). example: category.html is_visible: type: boolean @@ -14744,6 +14742,7 @@ paths: custom_url: title: Custom Url Category type: object + description: The custom URL for the category on the storefront. properties: url: maxLength: 255 @@ -14763,12 +14762,12 @@ paths: x-required: - post - put - description: The custom URL for the category on the storefront. - description: Common Category object properties. + required: + - parent_id + - name meta: title: Meta type: object - properties: {} description: Empty meta object; may be used later. '207': description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' @@ -21000,10 +20999,9 @@ components: x-internal: false category_Full: title: category_Full - required: - - name - - parent_id type: object + description: Common Category object properties. + x-internal: false properties: id: type: integer @@ -21075,7 +21073,7 @@ components: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). example: category.html is_visible: type: boolean @@ -21103,8 +21101,9 @@ components: x-url: true custom_url: $ref: '#/components/schemas/customUrl_Full' - description: Common Category object properties. - x-internal: false + required: + - parent_id + - name brand_Full: title: brand_Full required: @@ -23860,7 +23859,7 @@ components: minLength: 0 type: string description: | - The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. + The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). upc: type: string maxLength: 32 diff --git a/reference/store_content.v2.yml b/reference/store_content.v2.yml index ef403d137..bd98157aa 100644 --- a/reference/store_content.v2.yml +++ b/reference/store_content.v2.yml @@ -1564,6 +1564,7 @@ definitions: page_Base: title: page_Base type: object + x-internal: false properties: parent_id: description: ID of any parent Web page. @@ -1621,7 +1622,7 @@ definitions: description: 'Text specified for this page’s `` element. (If empty, the value of the name property is used.)' type: string layout_file: - description: Layout template for this page. This field is writable only for stores with a Blueprint theme applied. + description: 'Layout template for this page. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations).' example: page.html type: string sort_order: @@ -1653,7 +1654,6 @@ definitions: - body - feed - link - x-internal: false tags: - name: Blog Posts - name: Blog Tags From 57e3f20ea6be72b20c962baccb8d1781c95fecd2 Mon Sep 17 00:00:00 2001 From: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Date: Wed, 17 Aug 2022 10:30:37 -0600 Subject: [PATCH 014/360] DEVDOCS-4310: [update] Update parameter type for reviews_rating_sum (#909) --- reference/catalog.v3.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 173299af0..0b1c0d535 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -536,7 +536,7 @@ paths: brand_name or brand_id: Common Good gtin: string mpn: string - reviews_rating_sum: 3.2 + reviews_rating_sum: 3 reviews_count: 4 total_sold: 80 custom_fields: @@ -654,7 +654,7 @@ paths: brand_name or brand_id: Common Good gtin: string mpn: string - reviews_rating_sum: 3.2 + reviews_rating_sum: 3 reviews_count: 4 total_sold: 80 custom_fields: @@ -24029,10 +24029,10 @@ components: type: string description: Manufacturer Part Number reviews_rating_sum: - type: number + type: integer description: | - The total rating for the product. - example: 3.2 + The total (cumulative) rating for the product. + example: 3 reviews_count: type: integer description: | From 9b8c61d537beabf8d2b81c72757dbab0053eb2df Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Fri, 19 Aug 2022 11:59:28 -0500 Subject: [PATCH 015/360] DEVDOCS-3945: [batch] OAS conversions to staging (#899) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> --- .spectral.yaml | 166 - reference/.spectral.yaml | 7 + reference/checkouts.sf.yml | 5930 +++++++------- reference/checkouts.v3.yml | 11599 +++++++++++++++++++++------ reference/currencies.v2.yml | 649 +- reference/customer_login.yml | 136 +- reference/customers.v2.yml | 3807 ++++----- reference/form_fields.sf.yml | 324 +- reference/marketing.v2.yml | 2481 +++--- reference/orders.sf.yml | 1935 ++--- reference/payment_methods.v2.yml | 200 +- reference/price_lists.v3.yml | 6875 ++++++++-------- reference/pricing.sf.yml | 1459 ++-- reference/redirects.v3.yml | 580 +- reference/shipping.v2.yml | 2844 +++---- reference/shipping.v3.yml | 781 +- reference/shipping_provider.yml | 3470 ++++---- reference/store_content.v2.yml | 2722 ++++--- reference/storefront_tokens.v3.yml | 325 +- reference/subscribers.v3.yml | 1453 ++-- reference/subscriptions.sf.yml | 164 +- reference/tax_classes.v2.yml | 312 +- reference/widgets.v3.yml | 30 +- reference/wishlists.v3.yml | 1656 ++-- 24 files changed, 28395 insertions(+), 21510 deletions(-) create mode 100644 reference/.spectral.yaml diff --git a/.spectral.yaml b/.spectral.yaml index 580fc11cb..ca464d46e 100644 --- a/.spectral.yaml +++ b/.spectral.yaml @@ -20,19 +20,6 @@ except: - operation-operationId - oas3-schema - oas3-valid-media-example - 'reference/checkouts.sf.yml': - - oas2-valid-media-example - 'reference/checkouts.v3.yml': - - no-$ref-siblings - - oas2-schema - - oas2-operation-security-defined - - oas2-valid-schema-example - - oas2-valid-media-example - - operation-parameters - 'reference/currencies.v2.yml': - - oas2-valid-schema-example - - operation-operationId - - no-$ref-siblings 'reference/current_customer.yml': - operation-success-response 'reference/custom-template-associations.v3.yml': @@ -41,26 +28,13 @@ except: 'reference/customer_login.yml': - operation-operationId - operation-success-response - - oas2-schema - 'reference/customers.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example 'reference/email_templates.v3.yml': - oas3-schema - operation-tag-defined - openapi-tags - 'reference/form_fields.sf.yml': - - operation-operationId 'reference/geography.v2.yml': - operation-operationId - oas2-valid-media-example - 'reference/marketing.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example - - operation-operationId - 'reference/orders.sf.yml': - - operation-tag-defined - - oas3-valid-schema-example 'reference/orders.v2.oas2.yml': - oas3-valid-schema-example - oas3-valid-media-example @@ -69,74 +43,21 @@ except: - oas2-valid-schema-example - oas2-valid-media-example - oas2-anyOf - 'reference/payment_methods.v2.yml': - - operation-operationId - 'reference/price_lists.v3.yml': - - oas2-schema - - oas2-valid-media-example - 'reference/pricing.sf.yml': - - oas2-valid-media-example - - oas2-schema - - no-$ref-siblings - 'reference/redirects.v3.yml': - - oas2-valid-media-example - - oas2-schema - - no-$ref-siblings 'reference/settings.v3.yml': - oas3-valid-media-example - operation-operationId - 'reference/shipping.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example - - typed-enum - - operation-operationId - 'reference/shipping.v3.yml': - - oas2-valid-schema-example - - operation-operationId - - typed-enum 'reference/sites.v3.yml': - oas2-valid-media-example - operation-operationId - 'reference/store_content.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example 'reference/store_information.v2.yml': - oas2-valid-media-example - operation-operationId - oas2-valid-schema-example - 'reference/storefront_tokens.v3.yml': - - oas2-valid-schema-example - 'reference/subscriptions.sf.yml': - - operation-operationId - 'reference/tax_classes.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example 'reference/themes.v3.yml': - oas3-schema - operation-operationId 'reference/webhooks.v3.yml': - oas3-valid-media-example - 'reference/widgets.v3.yml': - - typed-enum - - oas2-anyOf - - oas2-valid-media-example - 'reference/wishlists.v3.yml': - - oas2-valid-media-example - - oas2-valid-schema-example - 'reference/checkouts.sf.yml#/host': - - oas2-schema - 'reference/form_fields.sf.yml#/host': - - oas2-schema - 'reference/orders.sf.yml#/host': - - oas2-schema - 'reference/subscriptions.sf.yml#/host': - - oas2-schema - 'reference/current_customer.yml#/host': - - oas2-schema - 'reference/customer_login.yml#/host': - - oas2-schema - 'reference/shipping_provider.yml#/host': - - oas2-schema 'carts.v3.yml': - oas2-oneOf - oas2-valid-schema-example @@ -151,48 +72,20 @@ except: - operation-operationId - oas3-schema - oas3-valid-media-example - 'checkouts.sf.yml': - - oas2-valid-media-example - 'checkouts.v3.yml': - - no-$ref-siblings - - oas2-schema - - oas2-operation-security-defined - - oas2-valid-schema-example - - oas2-valid-media-example - - operation-parameters - 'currencies.v2.yml': - - oas2-valid-schema-example - - operation-operationId - - no-$ref-siblings 'current_customer.yml': - operation-success-response 'custom-template-associations.v3.yml': - openapi-tags - operation-tag-defined 'customer_login.yml': - - operation-operationId - operation-success-response - 'customers.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example 'email_templates.v3.yml': - oas3-schema - operation-tag-defined - openapi-tags - 'form_fields.sf.yml': - - operation-operationId - - oas2-schema - - oas2-valid-schema-example 'geography.v2.yml': - operation-operationId - oas2-valid-media-example - 'marketing.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example - - operation-operationId - 'orders.sf.yml': - - operation-tag-defined - - oas3-valid-schema-example 'orders.v2.oas2.yml': - oas3-valid-schema-example - oas3-valid-media-example @@ -201,80 +94,21 @@ except: - oas2-valid-schema-example - oas2-valid-media-example - oas2-anyOf - 'payment_methods.v2.yml': - - operation-operationId - 'price_lists.v3.yml': - - oas2-schema - - oas2-valid-media-example - 'pricing.sf.yml': - - oas2-valid-media-example - - oas2-schema - - no-$ref-siblings - 'redirects.v3.yml': - - oas2-valid-media-example - - oas2-schema - - no-$ref-siblings 'settings.v3.yml': - oas3-valid-media-example - operation-operationId - 'shipping.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example - - typed-enum - - operation-operationId - 'shipping.v3.yml': - - oas2-valid-schema-example - - operation-operationId - - typed-enum 'sites.v3.yml': - oas2-valid-media-example - operation-operationId - 'store_content.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example 'store_information.v2.yml': - oas2-valid-media-example - operation-operationId - oas2-valid-schema-example - 'storefront_tokens.v3.yml': - - oas2-valid-schema-example - 'subscriptions.sf.yml': - - operation-operationId - 'tax_classes.v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example 'themes.v3.yml': - oas3-schema - operation-operationId 'webhooks.v3.yml': - oas3-valid-media-example - 'widgets.v3.yml': - - typed-enum - - oas2-anyOf - - oas2-valid-media-example - 'wishlists.v3.yml': - - oas2-valid-media-example - - oas2-valid-schema-example - 'checkouts.sf.yml#/host': - - oas2-schema - 'form_fields.sf.yml#/host': - - oas2-schema - 'orders.sf.yml#/host': - - oas2-schema - 'subscriptions.sf.yml#/host': - - oas2-schema - 'current_customer.yml#/host': - - oas2-schema - 'customer_login.yml#/host': - - oas2-schema - 'shipping_provider.yml#/host': - - oas2-schema - 'reference/customers_v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example - 'customers_v2.yml': - - oas2-valid-media-example - - oas2-valid-schema-example 'pages.v3.yml': - oas3-valid-media-example - oas3-valid-schema-example diff --git a/reference/.spectral.yaml b/reference/.spectral.yaml new file mode 100644 index 000000000..ed9abd2b9 --- /dev/null +++ b/reference/.spectral.yaml @@ -0,0 +1,7 @@ +extends: + - spectral:oas + - ../.spectral.yaml +rules: + info-contact: off + oas3-unused-components: off + oas2-unused-definition: off \ No newline at end of file diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 4a2b36ae6..873358be0 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -1,17 +1,26 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Storefront Checkouts - description: Manage checkout operations and data using front-end JavaScript on BigCommerce Stencil-powered storefronts. -host: '{$$.env.store_domain}' -basePath: /api/storefront -consumes: - - application/json -produces: - - application/json + description: Manage checkout operations and data using front-end JavaScript on BigCommerce + Stencil-powered storefronts. + version: "" +servers: +- url: https://{$$.env.store_domain}/api/storefront +tags: +- name: Checkout +- name: Checkout Billing Address +- name: Checkout Cart Items +- name: Checkout Consignments +- name: Checkout Coupons +- name: Checkout Gift Certificates +- name: Checkout Spam Protection +- name: Checkout Store Credit paths: - '/checkouts/{checkoutId}': + /checkouts/{checkoutId}: get: + tags: + - Checkout + summary: Get a Checkout description: |- Returns a *Checkout*. @@ -21,82 +30,79 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Get a Checkout - tags: - - Checkout operationId: CheckoutsByCheckoutIdGet - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: include - in: query + - name: include + in: query + description: |- + * `cart.lineItems.physicalItems.options` - physical options + * `cart.lineItems.digitalItems.options` - digital options + * `cart.lineItems.physicalItems.categoryNames` - physical categories + * `cart.lineItems.digitalItems.categoryNames` - digital categories + * `cart.lineItems.customItems.categoryNames` - custom categories + * `customer` - customer + * `customer.customerGroup` - customer group + * `payments` - payments + * `promotions` - promotions + * `consignments.availableShippingOptions` - shipping options + schema: type: string default: consignments.availableShippingOptions - description: |- - * `cart.lineItems.physicalItems.options` - physical options - * `cart.lineItems.digitalItems.options` - digital options - * `cart.lineItems.physicalItems.categoryNames` - physical categories - * `cart.lineItems.digitalItems.categoryNames` - digital categories - * `cart.lineItems.customItems.categoryNames` - custom categories - * `customer` - customer - * `customer.customerGroup` - customer group - * `payments` - payments - * `promotions` - promotions - * `consignments.availableShippingOptions` - shipping options enum: - - cart.lineItems.physicalItems.options - - cart.lineItems.digitalItems.options - - cart.lineItems.physicalItems.categoryNames - - cart.lineItems.digitalItems.categoryNames - - cart.lineItems.customItems.categoryNames - - customer - - customer.customerGroup - - payments - - promotions - - consignments.availableShippingOptions + - cart.lineItems.physicalItems.options + - cart.lineItems.digitalItems.options + - cart.lineItems.physicalItems.categoryNames + - cart.lineItems.digitalItems.categoryNames + - cart.lineItems.customItems.categoryNames + - customer + - customer.customerGroup + - payments + - promotions + - consignments.availableShippingOptions responses: '200': - description: '' - schema: - $ref: '#/definitions/checkouts_Resp' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkouts_Resp' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https://{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https://{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -108,99 +114,104 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" '400': - description: 'When a problem arises, returns (for now) a generic response.' - schema: - title: Checkout Error - type: object - properties: - errors: - description: '' - type: array - items: - title: Error Inner - type: object - properties: - status: - description: '' - type: integer - format: int32 - title: - description: '' - type: string - type: - description: '' - type: string - detail: - description: '' - type: string + description: When a problem arises, returns (for now) a generic response. + content: + application/json: + schema: + title: Checkout Error + type: object + properties: + errors: + type: array + description: "" + items: + title: Error Inner + type: object + properties: + status: + type: integer + description: "" + format: int32 + title: + type: string + description: "" + type: + type: string + description: "" + detail: + type: string + description: "" put: + tags: + - Checkout + summary: Update Customer Messages description: |- Updates *Checkout* customer messages. @@ -212,65 +223,58 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Update Customer Messages - tags: - - Checkout operationId: CheckoutsByCheckoutIdPut - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/checkout_Put' - x-examples: - application/json: - customerMessage: id do pariatur + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/checkout_Put' + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkouts_Resp' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkouts_Resp' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -282,79 +286,78 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' - parameters: - - name: checkoutId - in: path - type: string - required: true - '/checkouts/{checkoutId}/carts/{cartId}/items/{itemId}': + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" + x-codegen-request-body-name: body + /checkouts/{checkoutId}/carts/{cartId}/items/{itemId}: put: + tags: + - Checkout Cart Items + summary: Update a Line Item description: |- Updates a *Checkout Line Item*. Updates an existing, single line item in the cart. @@ -364,78 +367,69 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Update a Line Item - tags: - - Checkout Cart Items operationId: CheckoutsCartsItemsItemIdByCheckoutIdAndCartIdPut - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: cartId - in: path - required: true + - name: cartId + in: path + required: true + schema: type: string format: uuid - description: '' - - name: itemId - in: path - required: true + - name: itemId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/cart_Put' - x-examples: - application/json: - lineItem: - quantity: 3 - productId: 42 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/cart_Put' + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -447,73 +441,77 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" + x-codegen-request-body-name: body delete: + tags: + - Checkout Cart Items + summary: Delete a Line Item description: |- Deletes a *Line Item* from the *Cart*. @@ -521,57 +519,55 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Delete a Line Item - tags: - - Checkout Cart Items operationId: CheckoutsCartsItemsItemIdByCheckoutIdAndCartIdDelete - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: cartId - in: path - required: true + - name: cartId + in: path + required: true + schema: type: string format: uuid - description: '' - - name: itemId - in: path - required: true + - name: itemId + in: path + required: true + schema: type: string - description: '' responses: '200': - description: 'NOTE: Discounted line items are re-evaluated on cart actions and may be automatically added back to your cart with a new line item ID to satisfy promotional requirements.' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: 'NOTE: Discounted line items are re-evaluated on cart actions + and may be automatically added back to your cart with a new line item + ID to satisfy promotional requirements.' + content: application/json: - id: b6fbd994-61a8-4f25-9167-6ec10489c448 - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: b6fbd994-61a8-4f25-9167-6ec10489c448 - customerId: 11 - email: janedoe@example.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: false - baseAmount: 119.93 - discountAmount: 0 - cartAmount: 112.93 - coupons: + cart: + id: b6fbd994-61a8-4f25-9167-6ec10489c448 + customerId: 11 + email: janedoe@example.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: false + baseAmount: 119.93 + discountAmount: 0 + cartAmount: 112.93 + coupons: - id: 1 code: S2549JM0Y displayName: $5.00 off the order total couponType: per_total_discount discountedAmount: 5 - discounts: + discounts: - id: 69791a88-85c9-4c19-8042-e537621e8a55 discountedAmount: 2.59 - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 @@ -582,23 +578,23 @@ paths: discountedAmount: 0.8 - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac discountedAmount: 0.43 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 69791a88-85c9-4c19-8042-e537621e8a55 parentId: {} variantId: 364 productId: 184 sku: SMA-RED name: Canvas Laundry Cart - url: 'http://your-store.mybigcommerce.com/all/canvas-laundry-cart/' + url: http://your-store.mybigcommerce.com/all/canvas-laundry-cart/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 0.59 - - id: 2 - discountedAmount: 2 + - id: total-coupon + discountedAmount: 0.59 + - id: 2 + discountedAmount: 2 discountAmount: 2 couponAmount: 0 originalPrice: 17.99 @@ -613,15 +609,15 @@ paths: parentId: {} variantId: 341 productId: 170 - sku: '' + sku: "" name: Ceramic Measuring Spoons - url: 'http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/' + url: http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 1.06 + - id: total-coupon + discountedAmount: 1.06 discountAmount: 0 couponAmount: 0 originalPrice: 25 @@ -638,13 +634,13 @@ paths: productId: 158 sku: SKU-A0C8A203 name: Chambray Towel - url: 'http://your-store.mybigcommerce.com/all/chambray-towel/' + url: http://your-store.mybigcommerce.com/all/chambray-towel/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 2.12 + - id: total-coupon + discountedAmount: 2.12 discountAmount: 0 couponAmount: 0 originalPrice: 49.99 @@ -655,19 +651,19 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: + digitalItems: - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 parentId: {} variantId: 360 productId: 189 name: Gather Journal Issue 7 - Digital - url: 'http://your-store.mybigcommerce.com/all/gather-journal-issue-7/' + url: http://your-store.mybigcommerce.com/all/gather-journal-issue-7/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 0.8 + - id: total-coupon + discountedAmount: 0.8 discountAmount: 0 couponAmount: 0 originalPrice: 18.95 @@ -677,7 +673,7 @@ paths: extendedSalePrice: 18.95 isShippingRequired: false type: digital - giftCertificates: + giftCertificates: - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac name: $10.00 Gift Certificate theme: Celebration @@ -691,82 +687,85 @@ paths: email: johndoe@example.com message: Thank you! type: giftCertificate - createdTime: '2018-09-18T15:48:26+00:00' - updatedTime: '2018-09-18T16:59:45+00:00' - billingAddress: - id: 5ba11e4a10fb5 - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: {} - address1: 123 Main Street - address2: {} - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: '78751' - phone: '1234567890' - customFields: + createdTime: 2018-09-18T15:48:26+00:00 + updatedTime: 2018-09-18T16:59:45+00:00 + billingAddress: + id: 5ba11e4a10fb5 + firstName: Jane + lastName: Doe + email: janedoe@example.com + company: "" + address1: 123 Main Street + address2: "" + city: Austin + stateOrProvince: Texas + stateOrProvinceCode: TX + country: United States + countryCode: US + postalCode: "78751" + phone: "1234567890" + customFields: - fieldId: field_25 fieldValue: Leave in backyard - consignments: + consignments: - id: 5ba121929619b shippingCost: 69.94 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 69791a88-85c9-4c19-8042-e537621e8a55 - - ba2c619d-e6b4-48c2-8809-d88e424ed450 - - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + - 69791a88-85c9-4c19-8042-e537621e8a55 + - ba2c619d-e6b4-48c2-8809-d88e424ed450 + - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 selectedShippingOption: id: bb3c818f-17ce-46fe-9475-65933095da0d type: shipping_upsready description: UPS® (UPS Next Day Air®) - imageUrl: '' + imageUrl: "" cost: 69.94 transitTime: 1 business day address: firstName: Jane lastName: Doe email: janedoe@example.com - company: '' + company: "" address1: 123 Main Street - address2: '' + address2: "" city: Austin stateOrProvince: Texas stateOrProvinceCode: TX country: United States countryCode: US - postalCode: '78751' - phone: '1234567890' + postalCode: "78751" + phone: "1234567890" customFields: - - fieldId: field_25 - fieldValue: Leave in backyard - orderId: {} - shippingCostTotal: 69.94 - shippingCostBeforeDiscount: 69.94 - handlingCostTotal: 0 - taxTotal: 28.62 - coupons: + - fieldId: field_25 + fieldValue: Leave in backyard + orderId: null + shippingCostTotal: 69.94 + shippingCostBeforeDiscount: 69.94 + handlingCostTotal: 0 + taxTotal: 28.62 + coupons: - id: 1 code: S2549JM0Y displayName: $5.00 off the order total - couponType: per_total_discount + couponType: 2 discountedAmount: 5 - taxes: + taxes: - name: Store Tax amount: 28.62 - subtotal: 117.93 - grandTotal: 211.49 - giftCertificates: [] - createdTime: '2018-09-18T15:48:26+00:00' - updatedTime: '2018-09-18T16:59:45+00:00' - customerMessage: 'Thank you, BigCommerce' - '/checkouts/{checkoutId}/billing-address': + subtotal: 117.93 + grandTotal: 211.49 + giftCertificates: [] + createdTime: 2018-09-18T15:48:26+00:00 + updatedTime: 2018-09-18T16:59:45+00:00 + customerMessage: Thank you, BigCommerce + /checkouts/{checkoutId}/billing-address: post: + tags: + - Checkout Billing Address + summary: Add Checkout Billing Address description: |- Adds a billing address to an existing *Checkout*. @@ -779,71 +778,58 @@ paths: > * The `email` property is only required if the customer is a guest shopper. Otherwise, it is set automatically. > * Sending `email` property as a payload in POST request triggers the abandoned cart notification process. > * The Send a Test Request feature is not currently supported for this endpoint. - summary: Add Checkout Billing Address - tags: - - Checkout Billing Address operationId: CheckoutsBillingAddressByCheckoutIdPost parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - schema: - $ref: '#/definitions/address_Base' - x-examples: - application/json: - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: BigCommerce - address1: 123 Main Street - address2: Apt 1 - city: Austin - stateOrProvinceCode: TX - countryCode: US - postalCode: '12345' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/address_Base' + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -855,78 +841,86 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" '403': - description: The email trying to be set for the guest is associated with an account. The customer must sign-in. + description: The email trying to be set for the guest is associated with + an account. The customer must sign-in. + content: {} '429': - description: Unable to determine if provided email is associated with an account. The customer must sign-in. - '/checkouts/{checkoutId}/billing-address/{addressId}': + description: Unable to determine if provided email is associated with an + account. The customer must sign-in. + content: {} + x-codegen-request-body-name: body + /checkouts/{checkoutId}/billing-address/{addressId}: put: + tags: + - Checkout Billing Address + summary: Update Checkout Billing Address description: |- Updates an existing billing address on *Checkout*. @@ -934,72 +928,56 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Update Checkout Billing Address - tags: - - Checkout Billing Address operationId: CheckoutsBillingAddressByCheckoutIdAndAddressIdPut - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: addressId - in: path - required: true - type: number - format: double + - name: addressId + in: path + required: true + schema: exclusiveMaximum: false exclusiveMinimum: false - description: '' - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/address_Base' - x-examples: - application/json: - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: BigCommerce - address1: 123 Main Street - address2: Apt 1 - city: Austin - stateOrProvinceCode: TX - countryCode: US - postalCode: '12345' + type: number + format: double + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/address_Base' + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: b6fbd994-61a8-4f25-9167-6ec10489c448 - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: b6fbd994-61a8-4f25-9167-6ec10489c448 - customerId: 11 - email: janedoe@example.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: false - baseAmount: 119.93 - discountAmount: 0 - cartAmount: 112.93 - coupons: + cart: + id: b6fbd994-61a8-4f25-9167-6ec10489c448 + customerId: 11 + email: janedoe@example.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: false + baseAmount: 119.93 + discountAmount: 0 + cartAmount: 112.93 + coupons: - id: 1 code: S2549JM0Y displayName: $5.00 off the order total couponType: per_total_discount discountedAmount: 5 - discounts: + discounts: - id: 69791a88-85c9-4c19-8042-e537621e8a55 discountedAmount: 2.59 - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 @@ -1010,23 +988,23 @@ paths: discountedAmount: 0.8 - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac discountedAmount: 0.43 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 69791a88-85c9-4c19-8042-e537621e8a55 parentId: {} variantId: 364 productId: 184 sku: SMA-RED name: Canvas Laundry Cart - url: 'http://your-store.mybigcommerce.com/all/canvas-laundry-cart/' + url: http://your-store.mybigcommerce.com/all/canvas-laundry-cart/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 0.59 - - id: 2 - discountedAmount: 2 + - id: total-coupon + discountedAmount: 0.59 + - id: 2 + discountedAmount: 2 discountAmount: 2 couponAmount: 0 originalPrice: 17.99 @@ -1041,15 +1019,15 @@ paths: parentId: {} variantId: 341 productId: 170 - sku: '' + sku: "" name: Ceramic Measuring Spoons - url: 'http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/' + url: http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 1.06 + - id: total-coupon + discountedAmount: 1.06 discountAmount: 0 couponAmount: 0 originalPrice: 25 @@ -1066,13 +1044,13 @@ paths: productId: 158 sku: SKU-A0C8A203 name: Chambray Towel - url: 'http://your-store.mybigcommerce.com/all/chambray-towel/' + url: http://your-store.mybigcommerce.com/all/chambray-towel/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 2.12 + - id: total-coupon + discountedAmount: 2.12 discountAmount: 0 couponAmount: 0 originalPrice: 49.99 @@ -1083,19 +1061,19 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: + digitalItems: - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 parentId: {} variantId: 360 productId: 189 name: Gather Journal Issue 7 - Digital - url: 'http://your-store.mybigcommerce.com/all/gather-journal-issue-7/' + url: http://your-store.mybigcommerce.com/all/gather-journal-issue-7/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2 discounts: - - id: total-coupon - discountedAmount: 0.8 + - id: total-coupon + discountedAmount: 0.8 discountAmount: 0 couponAmount: 0 originalPrice: 18.95 @@ -1105,7 +1083,7 @@ paths: extendedSalePrice: 18.95 isShippingRequired: false type: digital - giftCertificates: + giftCertificates: - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac name: $10.00 Gift Certificate theme: Celebration @@ -1119,87 +1097,95 @@ paths: email: johndoe@example.com message: Thank you! type: giftCertificate - createdTime: '2018-09-18T15:48:26+00:00' - updatedTime: '2018-09-18T16:59:45+00:00' - billingAddress: - id: 5ba11e4a10fb5 - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: {} - address1: 123 Main Street - address2: {} - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: '78751' - phone: '1234567890' - customFields: + createdTime: 2018-09-18T15:48:26+00:00 + updatedTime: 2018-09-18T16:59:45+00:00 + billingAddress: + id: 5ba11e4a10fb5 + firstName: Jane + lastName: Doe + email: janedoe@example.com + company: "" + address1: 123 Main Street + address2: "" + city: Austin + stateOrProvince: Texas + stateOrProvinceCode: TX + country: United States + countryCode: US + postalCode: "78751" + phone: "1234567890" + customFields: - fieldId: field_25 fieldValue: Leave in backyard - consignments: + consignments: - id: 5ba121929619b shippingCost: 69.94 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 69791a88-85c9-4c19-8042-e537621e8a55 - - ba2c619d-e6b4-48c2-8809-d88e424ed450 - - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + - 69791a88-85c9-4c19-8042-e537621e8a55 + - ba2c619d-e6b4-48c2-8809-d88e424ed450 + - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 selectedShippingOption: id: bb3c818f-17ce-46fe-9475-65933095da0d type: shipping_upsready description: UPS® (UPS Next Day Air®) - imageUrl: '' + imageUrl: "" cost: 69.94 transitTime: 1 business day address: firstName: Jane lastName: Doe email: janedoe@example.com - company: '' + company: "" address1: 123 Main Street - address2: '' + address2: "" city: Austin stateOrProvince: Texas stateOrProvinceCode: TX country: United States countryCode: US - postalCode: '78751' - phone: '1234567890' + postalCode: "78751" + phone: "1234567890" customFields: - - fieldId: field_25 - fieldValue: Leave in backyard - orderId: {} - shippingCostTotal: 69.94 - shippingCostBeforeDiscount: 69.94 - handlingCostTotal: 0 - taxTotal: 28.62 - coupons: + - fieldId: field_25 + fieldValue: Leave in backyard + orderId: null + shippingCostTotal: 69.94 + shippingCostBeforeDiscount: 69.94 + handlingCostTotal: 0 + taxTotal: 28.62 + coupons: - id: 1 code: S2549JM0Y displayName: $5.00 off the order total - couponType: per_total_discount + couponType: 2 discountedAmount: 5 - taxes: + taxes: - name: Store Tax amount: 28.62 - subtotal: 117.93 - grandTotal: 211.49 - giftCertificates: [] - createdTime: '2018-09-18T15:48:26+00:00' - updatedTime: '2018-09-18T16:59:45+00:00' - customerMessage: 'Thank you, BigCommerce' + subtotal: 117.93 + grandTotal: 211.49 + giftCertificates: [] + createdTime: 2018-09-18T15:48:26+00:00 + updatedTime: 2018-09-18T16:59:45+00:00 + customerMessage: Thank you, BigCommerce '403': - description: The email trying to be set for the guest is associated with an account. The customer must sign-in. + description: The email trying to be set for the guest is associated with + an account. The customer must sign-in. + content: {} '429': - description: Unable to determine if provided email is associated with an account. The customer must sign-in. - '/checkouts/{checkoutId}/consignments': + description: Unable to determine if provided email is associated with an + account. The customer must sign-in. + content: {} + x-codegen-request-body-name: body + /checkouts/{checkoutId}/consignments: post: - description: |- + tags: + - Checkout Consignments + summary: Create a Consignment + description: | Adds a new *Consignment* to *Checkout*. There are two steps to add a new shipping address and shipping options with line items. @@ -1209,115 +1195,76 @@ paths: 2. [Update the Consignment](/api-reference/storefront/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidandconsignmentidput) with Shipping Options. **Required Query** - * consignments.availableShippingOptions + * `consignments.availableShippingOptions` **Required Fields** - * shipping_address (deprecated) or address - * line_items + * `shipping_address` (deprecated) or `address` + * `line_items` To learn more about creating a Checkout Consignment, see the [Carts and Checkouts Tutorial](/api-docs/storefront/tutorials/carts). <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Create a Consignment - tags: - - Checkout Consignments operationId: CheckoutsConsignmentsByCheckoutIdPost - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - type: array - items: - $ref: '#/definitions/CreateConsignmentRequest' - x-examples: - application/json: - - address: - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: BigCommerce - address1: 123 Main Street - address2: Apt 1 - city: Austin - stateOrProvinceCode: TX - countryCode: US - postalCode: '12345' - customFields: - - {} - shouldSaveAddress: true - lineItems: - - itemId: 69791a88-85c9-4c19-8042-e537621e8a55 - quantity: 2 - - address: - firstName: John - lastName: Doe - email: johnedoe@example.com - company: BigCommerce - address1: 123 South Street - address2: Apt 5 - city: Austin - stateOrProvinceCode: TX - countryCode: US - postalCode: '12345' - customFields: - - {} - shouldSaveAddress: false - lineItems: - - itemId: ba2c619d-e6b4-48c2-8809-d88e424ed450 - quantity: 1 - - name: include - in: query + - name: include + in: query + schema: type: string default: consignments.availableShippingOptions + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CreateConsignmentRequest' + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -1329,75 +1276,78 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole - email: dwaynecole@testing.com - company: '' + email: dwaynecole@example.com + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] shouldSaveAddress: true - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' - '/checkouts/{checkoutId}/consignments/{consignmentId}': + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" + /checkouts/{checkoutId}/consignments/{consignmentId}: put: + tags: + - Checkout Consignments + summary: Update a Consignment description: |- Updates an existing consignment. Either the shipping address, one or more line item IDs, or the shipping option ID can be updated in a single call to this endpoint. @@ -1407,7 +1357,7 @@ paths: * Update each *Consignment* `shippingOptionId` (shipping address and line items) with the `availableShippingOption > id` from Step One. **Required Fields** - * shippingOptionId + * `shippingOptionId` To learn more about creating a Checkout Consignment see [Checkout Consignment API](/api-docs/checkouts/checkout-consignment). @@ -1415,92 +1365,68 @@ paths: > #### Note > * You cannot pass both an `address` and a `shippingOptionId` because the shipping option may not be available for the new address > * The Send a Test Request feature is not currently supported for this endpoint. - tags: - - Checkout Consignments operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: consignmentId - in: path - required: true + - name: consignmentId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/NewUpdateConsignment' - x-examples: - application/json: - address: - firstName: Jane - lastName: Doe - email: mikrdgz@gmail.com - company: '' - address1: 123 Main Street - address2: '' - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: '78752' - phone: '1234567890' - lineItems: - - itemId: ff4ab5d4-7a5e-4e13-b561-11e785b7e4e0 - quantity: 1 - shouldSaveAddress: true - Selected Shipping Option: - shippingOptionId: e1ae7924-cb99-48df-ae5a-ec0aa37b64eb - - name: include - in: query + - name: include + in: query + schema: type: string default: consignments.availableShippingOptions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NewUpdateConsignment' + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -1512,136 +1438,135 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] shouldSaveAddress: true - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' - summary: Update a Consignment + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" + x-codegen-request-body-name: body delete: + tags: + - Checkout Consignments + summary: Delete a Consignment description: |- Removes an existing *Consignment* from *Checkout*. <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Delete a Consignment - tags: - - Checkout Consignments operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdDelete - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: consignmentId - in: path - required: true + - name: consignmentId + in: path + required: true + schema: type: string - description: '' responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -1653,74 +1578,77 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' - '/checkouts/{checkoutId}/gift-certificates': + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" + /checkouts/{checkoutId}/gift-certificates: post: + tags: + - Checkout Gift Certificates + summary: Add Gift Certificate to Checkout description: |- Adds a *Gift Certificate Code* to *Checkout*. @@ -1731,65 +1659,58 @@ paths: > * You are not able to purchase a gift certificate with a gift certificate. > * The Send a Test Request feature is not currently supported for this endpoint. > * The rate limit is 20/hour (only for unique gift-certificate codes). - summary: Add Gift Certificate to Checkout - tags: - - Checkout Gift Certificates operationId: CheckoutsGiftCertificatesByCheckoutIdPost - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/GiftCertificateRequest' - x-examples: - application/json: - giftCertificateCode: etnulla45voluptate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateRequest' + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -1801,79 +1722,84 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" '404': description: Gift certificate code not found - schema: - type: object - properties: {} - '/checkouts/{checkoutId}/gift-certificates/{giftCertificateCode}': + content: + application/json: + schema: + type: object + x-codegen-request-body-name: body + /checkouts/{checkoutId}/gift-certificates/{giftCertificateCode}: delete: + tags: + - Checkout Gift Certificates + summary: Delete Gift Certificate description: |- Deletes an existing *Gift Certificate*. @@ -1882,30 +1808,30 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Delete Gift Certificate - tags: - - Checkout Gift Certificates operationId: CheckoutsGiftCertificatesByCheckoutIdAndGiftCertificateCodeDelete - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: giftCertificateCode - in: path - required: true + - name: giftCertificateCode + in: path + required: true + schema: type: string - description: '' responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - '/checkouts/{checkoutId}/coupons': + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/checkout_Full' + /checkouts/{checkoutId}/coupons: post: + tags: + - Checkout Coupons + summary: Add Coupon to Checkout description: |- Adds a *Coupon Code* to *Checkout*. @@ -1915,70 +1841,63 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Add Coupon to Checkout - tags: - - Checkout Coupons operationId: CheckoutsCouponsByCheckoutIdPost - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - title: Coupon Code Request - type: object - properties: - couponCode: - description: '' - type: string - x-examples: - application/json: - couponCode: eacupidatat + requestBody: + content: + application/json: + schema: + title: Coupon Code Request + type: object + properties: + couponCode: + type: string + description: "" + required: true responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 - sku: '' + sku: "" name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -1990,120 +1909,120 @@ paths: isShippingRequired: true giftWrapping: {} addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: - name: Tax amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' - '/checkouts/{checkoutId}/coupons/{couponCode}': + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" + x-codegen-request-body-name: body + /checkouts/{checkoutId}/coupons/{couponCode}: delete: + tags: + - Checkout Coupons + summary: Delete Checkout Coupon description: | Deletes a *Coupon Code* from *Checkout*. <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Delete Checkout Coupon - tags: - - Checkout Coupons operationId: CheckoutsCouponsByCheckoutIdAndCouponCodeDelete - produces: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: couponCode - in: path - required: true + - name: couponCode + in: path + required: true + schema: type: string - description: '' responses: '200': - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: + description: "" + content: application/json: - id: b6fbd994-61a8-4f25-9167-6ec10489c448 - cart: + schema: + $ref: '#/components/schemas/checkout_Full' + example: id: b6fbd994-61a8-4f25-9167-6ec10489c448 - customerId: 11 - email: janedoe@example.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: false - baseAmount: 119.93 - discountAmount: 0 - cartAmount: 117.93 - coupons: [] - discounts: + cart: + id: b6fbd994-61a8-4f25-9167-6ec10489c448 + customerId: 11 + email: janedoe@example.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: false + baseAmount: 119.93 + discountAmount: 0 + cartAmount: 117.93 + coupons: [] + discounts: - id: 69791a88-85c9-4c19-8042-e537621e8a55 discountedAmount: 2 - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 @@ -2114,21 +2033,20 @@ paths: discountedAmount: 0 - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac discountedAmount: 0 - lineItems: - physicalItems: + lineItems: + physicalItems: - id: 69791a88-85c9-4c19-8042-e537621e8a55 - parentId: null variantId: 364 productId: 184 sku: SMA-RED name: Canvas Laundry Cart - url: 'http://your-store.mybigcommerce.com/all/canvas-laundry-cart/' + url: http://your-store.mybigcommerce.com/all/canvas-laundry-cart/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2 discounts: - - id: 2 - discountedAmount: 2 + - id: 2 + discountedAmount: 2 discountAmount: 2 couponAmount: 0 originalPrice: 17.99 @@ -2137,18 +2055,16 @@ paths: extendedListPrice: 15.99 extendedSalePrice: 13.99 isShippingRequired: true - giftWrapping: null addedByPromotion: false - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 - parentId: null variantId: 341 productId: 170 - sku: '' + sku: "" name: Ceramic Measuring Spoons - url: 'http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/' + url: http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -2158,18 +2074,16 @@ paths: extendedListPrice: 25 extendedSalePrice: 25 isShippingRequired: true - giftWrapping: null addedByPromotion: false - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - parentId: null variantId: 376 productId: 158 sku: SKU-A0C8A203 name: Chambray Towel - url: 'http://your-store.mybigcommerce.com/all/chambray-towel/' + url: http://your-store.mybigcommerce.com/all/chambray-towel/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -2179,18 +2093,16 @@ paths: extendedListPrice: 49.99 extendedSalePrice: 49.99 isShippingRequired: true - giftWrapping: null addedByPromotion: false - digitalItems: + digitalItems: - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 - parentId: null variantId: 360 productId: 189 name: Gather Journal Issue 7 - Digital - url: 'http://your-store.mybigcommerce.com/all/gather-journal-issue-7/' + url: http://your-store.mybigcommerce.com/all/gather-journal-issue-7/ quantity: 1 isTaxable: true - imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2' + imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 @@ -2201,7 +2113,7 @@ paths: extendedSalePrice: 18.95 isShippingRequired: false type: digital - giftCertificates: + giftCertificates: - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac name: $10.00 Gift Certificate theme: Celebration @@ -2215,56 +2127,54 @@ paths: email: johndoe@example.com message: Thank you! type: giftCertificate - createdTime: '2018-09-18T15:48:26+00:00' - updatedTime: '2018-09-18T17:47:35+00:00' - billingAddress: - id: 5ba11e4a10fb5 - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: null - address1: 123 Main Street - address2: null - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: '78751' - phone: '1234567890' - customFields: + createdTime: 2018-09-18T15:48:26+00:00 + updatedTime: 2018-09-18T17:47:35+00:00 + billingAddress: + id: 5ba11e4a10fb5 + firstName: Jane + lastName: Doe + email: janedoe@example.com + address1: 123 Main Street + city: Austin + stateOrProvince: Texas + stateOrProvinceCode: TX + country: United States + countryCode: US + postalCode: "78751" + phone: "1234567890" + customFields: - fieldId: field_25 fieldValue: Leave in backyard - consignments: + consignments: - id: 5ba13935c977a shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - - ba2c619d-e6b4-48c2-8809-d88e424ed450 - - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + - ba2c619d-e6b4-48c2-8809-d88e424ed450 + - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 selectedShippingOption: id: 8458d845-a589-477c-a70d-977eed19e0d6 type: shipping_byweight description: Ship by Weight - imageUrl: '' + imageUrl: "" cost: 8 - transitTime: '' + transitTime: "" address: firstName: Jane lastName: Doe - email: '' - company: '' + email: "" + company: "" address1: 123 Main Street - address2: '' + address2: "" city: Austin stateOrProvince: Texas stateOrProvinceCode: TX country: United States countryCode: US - postalCode: '78751' - phone: '1234567890' + postalCode: "78751" + phone: "1234567890" customFields: [] - id: 5ba13995cf156 shippingCost: 62.63 @@ -2272,88 +2182,72 @@ paths: couponDiscounts: [] discounts: [] lineItemIds: - - 69791a88-85c9-4c19-8042-e537621e8a55 + - 69791a88-85c9-4c19-8042-e537621e8a55 selectedShippingOption: id: 989cdc72-2eee-49d8-bc71-5d466f905fdc type: shipping_upsready description: UPS® (UPS Next Day Air®) - imageUrl: '' + imageUrl: "" cost: 62.63 transitTime: 1 business day address: firstName: John lastName: Doe - email: '' - company: '' + email: "" + company: "" address1: 555 South Street - address2: '' + address2: "" city: Austin stateOrProvince: Texas stateOrProvinceCode: TX country: United States countryCode: US - postalCode: '78751' - phone: '1234567890' + postalCode: "78751" + phone: "1234567890" customFields: [] - orderId: null - shippingCostTotal: 70.63 - shippingCostBeforeDiscount: 70.63 - handlingCostTotal: 0 - taxTotal: 29.44 - coupons: [] - taxes: + shippingCostTotal: 70.63 + shippingCostBeforeDiscount: 70.63 + handlingCostTotal: 0 + taxTotal: 29.44 + coupons: [] + taxes: - name: Store Tax amount: 29.44 - subtotal: 117.93 - grandTotal: 218 - giftCertificates: [] - createdTime: '2018-09-18T15:48:26+00:00' - updatedTime: '2018-09-18T17:47:35+00:00' - customerMessage: '' - '/checkouts/{checkoutId}/store-credit': + subtotal: 117.93 + grandTotal: 218 + giftCertificates: [] + createdTime: 2018-09-18T15:48:26+00:00 + updatedTime: 2018-09-18T17:47:35+00:00 + customerMessage: "" + /checkouts/{checkoutId}/store-credit: post: - responses: - '200': - description: '' - schema: - $ref: '#/definitions/checkouts_Resp' - summary: Add Store Credit - produces: - - application/json - parameters: - - in: path - name: checkoutId - type: string - required: true - operationId: CheckoutStoreCreditAdd tags: - - Checkout Store Credit + - Checkout Store Credit + summary: Add Store Credit description: |- Applies any available store credit to a checkout. As on the storefront, all available store credit will be used (up to the value of the order) and no amount need be specified. <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - parameters: + operationId: CheckoutStoreCreditAdd + parameters: - name: checkoutId in: path - type: string required: true - delete: + schema: + type: string responses: '200': - description: '' - schema: - type: object - properties: {} + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/checkouts_Resp' + delete: + tags: + - Checkout Store Credit summary: Remove Store Credit - produces: - - application/json - parameters: - - in: path - name: checkoutId - type: string - required: true description: |- Removes store credit from a checkout. @@ -2361,1903 +2255,1995 @@ paths: > #### Note > The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsStoreCreditRemove - consumes: - - application/json - tags: - - Checkout Store Credit - '/checkouts/{checkoutId}/spam-protection': + parameters: + - name: checkoutId + in: path + required: true + schema: + type: string + responses: + '200': + description: "" + content: + application/json: + schema: + type: object + /checkouts/{checkoutId}/spam-protection: post: + tags: + - Checkout Spam Protection + summary: Checkout Spam Protection description: |- Verifies if checkout is created by human. <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Checkout Spam Protection - tags: - - Checkout Spam Protection operationId: checkoutSpamProtection - deprecated: false - produces: - - application/json - consumes: - - application/json parameters: - - name: checkoutId - in: path - required: true + - name: checkoutId + in: path + required: true + schema: type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/SpamProtectionRequest' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SpamProtectionRequest' + required: true responses: '200': description: Returns Checkout Object. - schema: - $ref: '#/definitions/checkout_Full' - headers: {} -definitions: - SpamProtectionRequest: - title: SpamProtectionRequest - type: object - properties: - token: - type: string - x-internal: false - checkout_Full: - title: checkout_Full - type: object - description: '' - properties: - id: - description: '' - type: string - format: uuid - cart: - $ref: '#/definitions/checkoutCart' - billingAddress: - $ref: '#/definitions/address_Base' - consignments: - description: '' - type: array - items: - $ref: '#/definitions/consignment_Full' - coupons: - description: Coupons applied at checkout level. - type: array - items: - $ref: '#/definitions/AppliedCoupon' - orderId: - description: '""' - type: string - shippingCostTotal: - type: number - description: Shipping cost before any discounts are applied. - format: float - giftWrappingCostTotal: - type: number - description: 'Gift wrapping cost for all items, including or excluding tax.' - handlingCostTotal: - type: number - description: Handling cost for all consignments including or excluding tax. - format: float - taxTotal: - type: number - description: '' - format: float - taxes: - type: array - items: - $ref: '#/definitions/checkoutTax' - subtotal: - type: number - description: Subtotal of the checkout before applying item level discounts. Tax inclusive based on the store settings. - format: float - grandTotal: - type: number - description: 'The total payable amount, before applying any store credit or gift certificate.' - format: float - giftCertificates: - description: Applied gift certificate (as a payment method). - type: array - items: - $ref: '#/definitions/checkoutGiftCertificates' - createdTime: - description: Time when the cart was created. - type: string - updatedTime: - description: Time when the cart was last updated. - type: string - customerMessage: - description: Shopper's message provided as details for the order to be created from this cart - type: string - outstandingBalance: - type: number - description: | - `grandTotal` subtract the store-credit amount - isStoreCreditApplied: - type: boolean - description: | - `true` value indicates StoreCredit has been applied. - x-internal: false - AppliedCoupon: - title: Applied Coupon - type: object - properties: - id: - description: The coupon ID. - type: string - code: - description: the coupon code - type: string - displayName: - description: The coupon title based on different types provided in control panel section. - type: string - couponType: - type: integer - description: |- - |Type `int`|Type Name| - |-|-| - |`0`|`per_item_discount`| - |`1`|`percentage_discount`| - |`2`|`per_total_discount`| - |`3`|`shipping_discount`| - |`4`|`free_shipping`| - |`5`|`promotion`| - enum: - - 1 - - 2 - - 3 - - 4 - - 5 - discountedAmount: - description: The discounted amount applied within a given context. - type: number - format: double - required: + content: + application/json: + schema: + $ref: '#/components/schemas/checkout_Full' + deprecated: false + x-codegen-request-body-name: body +components: + schemas: + SpamProtectionRequest: + title: SpamProtectionRequest + type: object + properties: + token: + type: string + x-internal: false + checkout_Full: + title: checkout_Full + type: object + properties: + id: + type: string + description: "" + format: uuid + cart: + $ref: '#/components/schemas/checkoutCart' + billingAddress: + $ref: '#/components/schemas/address_Base' + consignments: + type: array + description: "" + items: + $ref: '#/components/schemas/consignment_Full' + coupons: + type: array + description: Coupons applied at the checkout level. + items: + $ref: '#/components/schemas/CheckoutCoupon' + orderId: + type: string + description: "" + nullable: true + shippingCostTotal: + type: number + description: Shipping cost before any discounts are applied. + format: float + giftWrappingCostTotal: + type: number + description: Gift wrapping cost for all items, including or excluding tax. + handlingCostTotal: + type: number + description: Handling cost for all consignments including or excluding tax. + format: float + taxTotal: + type: number + description: "" + format: float + taxes: + type: array + items: + $ref: '#/components/schemas/checkoutTax' + subtotal: + type: number + description: Subtotal of the checkout before applying item level discounts. + Tax inclusive based on the store settings. + format: float + grandTotal: + type: number + description: The total payable amount, before applying any store credit + or gift certificate. + format: float + giftCertificates: + type: array + description: Applied gift certificate (as a payment method). + items: + $ref: '#/components/schemas/checkoutGiftCertificates' + createdTime: + type: string + description: Time when the cart was created. + updatedTime: + type: string + description: Time when the cart was last updated. + customerMessage: + type: string + description: Shopper's message provided as details for the order to be created + from this cart + outstandingBalance: + type: number + description: | + `grandTotal` subtract the store-credit amount + isStoreCreditApplied: + type: boolean + description: | + `true` value indicates StoreCredit has been applied. + description: "" + x-internal: false + CartCoupon: + title: Cart Coupon + required: - code - x-internal: false - contactEntity: - title: contactEntity - type: object - properties: - name: - description: '' - type: string - email: - description: '' - type: string - description: Model for sender and receiver objects. - x-internal: false - address_Full: - title: address_Full - allOf: - - $ref: '#/definitions/address_Base' + type: object + properties: + id: + type: integer + description: The coupon ID. + code: + type: string + description: the coupon code + displayName: + type: string + description: The coupon title based on different types provided in control + panel section. + couponType: + type: string + description: Key name to identify the type of coupon. + enum: + - per_item_discount + - percentage_discount + - per_total_discount + - shipping_discount + - free_shipping + - promotion + discountedAmount: + type: number + description: The discounted amount applied within a given context. + format: double + x-internal: false + CheckoutCoupon: + title: Checkout Coupon + required: + - code + type: object + properties: + id: + type: integer + description: The coupon ID. + code: + type: string + description: the coupon code + displayName: + type: string + description: The coupon title based on different types provided in control + panel section. + couponType: + type: integer + description: |- + |Type `int`|Type Name| + |-|-| + |`0`|`per_item_discount`| + |`1`|`percentage_discount`| + |`2`|`per_total_discount`| + |`3`|`shipping_discount`| + |`4`|`free_shipping`| + |`5`|`promotion`| + discountedAmount: + type: number + description: The discounted amount applied within a given context. + format: double + x-internal: false + contactEntity: + title: contactEntity + type: object + properties: + name: + type: string + description: "" + email: + type: string + description: "" + description: Model for sender and receiver objects. + x-internal: false + address_Full: + title: address_Full + description: "" + allOf: + - $ref: '#/components/schemas/address_Base' - type: object properties: id: - description: '' type: string + description: "" shouldSaveAddress: - description: Indicates if we should add this address to the customer address book. type: boolean - x-internal: false - description: '' - address_Base: - type: object - title: address_Base - properties: - firstName: - description: '' - type: string - lastName: - description: '' - type: string - email: - description: '' - type: string - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - stateOrProvince: - description: Represents state or province. - type: string - stateOrProvinceCode: - description: '' - type: string - countryCode: - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' - type: string - postalCode: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - customFields: - type: array - items: - $ref: '#/definitions/customFields' - required: + description: Indicates if we should add this address to the customer address + book. + x-internal: false + address_Base: + title: address_Base + required: - countryCode - x-internal: false - customFields: - title: customFields - type: object - description: 'When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string.' - properties: - fieldId: - type: string - fieldValue: - type: string - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.). When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string.' - x-internal: false - consignment_Full: - title: consignment_Full - description: 'This allows us to have multiple shipping addresses. Where there is only one shipping address, this array will contain only one value, with all the items.' - type: object - properties: - id: - description: '' - type: string - shippingAddress: - type: object - x-deprecated: true - address: - $ref: '#/definitions/address_Full' - availableShippingOptions: - description: This is available only when "include=consignments.availableShippingOptions" is presented in the URL. - type: array - items: - $ref: '#/definitions/consignmentAvailableShippingOptions' - selectedShippingOption: - title: Selected Shipping Option - type: object - properties: - description: - description: Read-only - type: string - id: - description: '' - type: string - type: - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' - type: string - imageUrl: - description: '' - type: string - cost: - description: '' - type: number - format: double - transitTime: - description: An estimate of the arrival time. - type: string - additionalDescription: - type: string - description: 'ReadOnly, Field used for Shipping Provider API.' - couponDiscounts: - description: List of consignment discounts applied through coupons - type: array - items: - title: Consignment Coupon Discount + type: object + properties: + firstName: + type: string + description: "" + lastName: + type: string + description: "" + email: + type: string + description: "" + company: + type: string + description: "" + address1: + type: string + description: "" + address2: + type: string + description: "" + city: + type: string + description: "" + stateOrProvince: + type: string + description: Represents state or province. + stateOrProvinceCode: + type: string + description: "" + countryCode: + type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' + postalCode: + type: string + description: "" + phone: + pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + type: string + description: "" + customFields: + type: array + items: + $ref: '#/components/schemas/customFields' + x-internal: false + customFields: + title: customFields + type: object + properties: + fieldId: + type: string + fieldValue: + type: string + description: This can also be an array for fields that need to support list + of values (e.g., a set of check boxes.). When doing a PUT or POST to the + `fieldValue` with a pick list, the input must be a number. The response + will be a string. + description: When doing a PUT or POST to the `fieldValue` with a pick list, + the input must be a number. The response will be a string. + x-internal: false + consignment_Full: + title: consignment_Full + type: object + properties: + id: + type: string + description: "" + shippingAddress: + type: object + properties: {} + x-deprecated: true + address: + $ref: '#/components/schemas/address_Full' + availableShippingOptions: + type: array + description: This is available only when "include=consignments.availableShippingOptions" + is presented in the URL. + items: + $ref: '#/components/schemas/consignmentAvailableShippingOptions' + selectedShippingOption: + title: Selected Shipping Option type: object properties: - code: - description: Coupon code that applied this discount + description: + type: string + description: Read-only + id: + type: string + description: "" + type: type: string - amount: - description: '' + description: Specified the type of shipping option. Flat rate, UPS, + etc., + imageUrl: + type: string + description: "" + cost: type: number + description: "" format: double - discounts: - description: List of consignment discounts applied through cart level discounts - type: array - items: - title: Consignment Discount - type: object - properties: - id: - description: Discount rule ID that applied this discount + transitTime: type: string - shippingCost: - description: The shipping cost for this consignment. - type: number - format: double - handlingCost: - description: The handling cost of shipping for this consignment. - type: number - format: double - lineItemIds: - description: '' - type: array - items: - type: string - x-internal: false - consignmentAvailableShippingOptions: - title: consignmentAvailableShippingOptions - allOf: - - $ref: '#/definitions/consignmentShippingOption_Base' + description: An estimate of the arrival time. + additionalDescription: + type: string + description: ReadOnly, Field used for Shipping Provider API. + couponDiscounts: + type: array + description: List of consignment discounts applied through coupons + items: + title: Consignment Coupon Discount + type: object + properties: + code: + type: string + description: Coupon code that applied this discount + amount: + type: number + description: "" + format: double + discounts: + type: array + description: List of consignment discounts applied through cart level discounts + items: + title: Consignment Discount + type: object + properties: + id: + type: string + description: Discount rule ID that applied this discount + shippingCost: + type: number + description: The shipping cost for this consignment. + format: double + handlingCost: + type: number + description: The handling cost of shipping for this consignment. + format: double + lineItemIds: + type: array + description: "" + items: + type: string + description: This allows us to have multiple shipping addresses. Where there + is only one shipping address, this array will contain only one value, with + all the items. + x-internal: false + consignmentAvailableShippingOptions: + title: consignmentAvailableShippingOptions + allOf: + - $ref: '#/components/schemas/consignmentShippingOption_Base' - type: object properties: isRecommended: - description: Is this shipping method the recommended shipping option or not. type: boolean + description: Is this shipping method the recommended shipping option or + not. additionalDescription: type: string - x-internal: false - checkoutTax: - title: checkoutTax - type: object - properties: - name: - description: Name of the tax. - type: string - amount: - description: '' - type: number - format: double - x-internal: false - checkout_Put: - title: checkout_Put - type: object - properties: - customerMessage: - description: '' - type: string - x-internal: false - checkouts_Resp: - title: checkouts_Resp - type: object - properties: - data: - title: Checkout - type: object - properties: - id: - description: '' - type: string - format: uuid - cart: - title: Cart - description: 'A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.' - type: object - properties: - id: - description: 'Cart ID, provided after creating a cart with a POST.' - type: string - format: uuid - customer_id: - description: ID of the customer to which the cart belongs. - type: integer - format: int32 - email: - description: The cart's email. This is the same email that is used in the billing address - type: string - currency: - title: Currency - description: The currency which prices are displayed (the store default currency). - type: object - properties: - name: - description: The currency name. - type: string - code: - description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' - type: string - symbol: - description: The currency symbol. - type: string - decimalPlaces: - description: 'Number of decimal places for the currency. For example, USD currency has two decimal places.' - type: number - format: double - istaxIncluded: - description: Boolean representing whether tax information is included. - type: boolean - baseAmount: - description: 'Cost of cart’s contents, before applying discounts.' - type: number - format: double - discountAmount: - description: Discounted amount. - type: number - format: double - cartAmount: - description: 'Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes (where applicable).' - type: number - format: double - coupons: - description: '' - type: array - items: - title: Applied Coupon + x-internal: false + checkoutTax: + title: checkoutTax + type: object + properties: + name: + type: string + description: Name of the tax. + amount: + type: number + description: "" + format: double + x-internal: false + checkout_Put: + title: checkout_Put + type: object + properties: + customerMessage: + type: string + description: "" + x-internal: false + checkouts_Resp: + title: checkouts_Resp + type: object + properties: + data: + title: Checkout + type: object + properties: + id: + type: string + description: "" + format: uuid + cart: + title: Cart + type: object + properties: + id: + type: string + description: Cart ID, provided after creating a cart with a POST. + format: uuid + customer_id: + type: integer + description: ID of the customer to which the cart belongs. + format: int32 + email: + type: string + description: The cart's email. This is the same email that is used + in the billing address + currency: + title: Currency type: object properties: - id: - description: The coupon ID. + name: type: string + description: The currency name. code: - description: the coupon code - type: string - displayName: - description: The coupon title based on different types provided in control panel section type: string - couponType: - description: Key name to identify the type of coupon. + description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' + symbol: type: string - discountedAmount: - description: The discounted amount applied within a given context. + description: The currency symbol. + decimalPlaces: type: number + description: Number of decimal places for the currency. For + example, USD currency has two decimal places. format: double - required: + description: The currency which prices are displayed (the store + default currency). + istaxIncluded: + type: boolean + description: Boolean representing whether tax information is included. + baseAmount: + type: number + description: Cost of cart’s contents, before applying discounts. + format: double + discountAmount: + type: number + description: Discounted amount. + format: double + cartAmount: + type: number + description: Sum of line-items amounts, minus cart-level discounts + and coupons. This amount includes taxes (where applicable). + format: double + coupons: + type: array + description: "" + items: + title: Applied Coupon + required: - code - discounts: - description: '' - type: array - items: - title: Applied Discount - type: object - properties: - name: - description: The name provided by the merchant. - type: string - discountedAmount: - description: The discounted amount applied within a given context. - type: number - format: double - lineItems: - description: '' - type: array - items: - title: Line Item - type: object - properties: - physicalItems: - description: '' - type: array - items: - title: Item Physical - type: object - properties: - id: - description: The line-item ID. - type: string - parentId: - description: 'The product is part of a bundle such as a product pick list, then the parentId or the main product id will populate.' - type: string - variantId: - description: ID of the variant. - type: integer - productId: - description: ID of the product. - type: integer - sku: - description: SKU of the variant. - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - quantity: - description: Quantity of this item. - type: number - format: double - isTaxable: - description: Whether the item is taxable. - type: boolean - imageUrl: - description: 'URL of an image of this item, accessible on the internet.' - type: string - discounts: - description: 'List of discounts applied to this item, as an array of AppliedDiscount objects.' - type: array - items: - title: Applied Discount + type: object + properties: + id: + type: string + description: The coupon ID. + code: + type: string + description: the coupon code + displayName: + type: string + description: The coupon title based on different types provided + in control panel section + couponType: + type: string + description: Key name to identify the type of coupon. + discountedAmount: + type: number + description: The discounted amount applied within a given + context. + format: double + discounts: + type: array + description: "" + items: + title: Applied Discount + type: object + properties: + name: + type: string + description: The name provided by the merchant. + discountedAmount: + type: number + description: The discounted amount applied within a given + context. + format: double + lineItems: + type: array + description: "" + items: + title: Line Item + required: + - digitalItems + - physicalItems + type: object + properties: + physicalItems: + type: array + description: "" + items: + title: Item Physical + required: + - quantity + type: object + properties: + id: + type: string + description: The line-item ID. + parentId: + type: string + description: The product is part of a bundle such as + a product pick list, then the parentId or the main + product id will populate. + variantId: + type: integer + description: ID of the variant. + productId: + type: integer + description: ID of the product. + sku: + type: string + description: SKU of the variant. + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + quantity: + type: number + description: Quantity of this item. + format: double + isTaxable: + type: boolean + description: Whether the item is taxable. + imageUrl: + type: string + description: URL of an image of this item, accessible + on the internet. + discounts: + type: array + description: List of discounts applied to this item, + as an array of AppliedDiscount objects. + items: + title: Applied Discount + type: object + properties: + name: + type: string + description: The name provided by the merchant. + discountedAmount: + type: number + description: The discounted amount applied within + a given context. + format: double + discountAmount: + type: number + description: The total value of all discounts applied + to this item (excluding coupon). + format: double + couponAmount: + type: number + description: The total value of all coupons applied + to this item. + format: double + listPrice: + type: number + description: Item’s list price, as quoted by the manufacturer/distributor. + format: double + salePrice: + type: number + description: Item's price after all discounts are applied. + (The final price before tax calculation.) + format: double + extendedListPrice: + type: number + description: Item's list price multiplied by the quantity. + format: double + extendedSalePrice: + type: number + description: Item's sale price multiplied by the quantity. + format: double + type: + type: string + description: the product type - physical or digital + addedByPromotion: + type: boolean + description: If the item was added automatically by + a promotion such as a coupon or buy one, get one. + isShippingRequired: + type: boolean + description: Whether this item requires shipping to + a physical address. + isMutable: + type: boolean + description: "" + giftWrapping: + title: Gift Wrapping type: object properties: name: - description: The name provided by the merchant. type: string - discountedAmount: - description: The discounted amount applied within a given context. + description: "" + message: + type: string + description: "" + amount: type: number + description: "" format: double - discountAmount: - description: The total value of all discounts applied to this item (excluding coupon). - type: number - format: double - couponAmount: - description: The total value of all coupons applied to this item. - type: number - format: double - originalPrice: - type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' - listPrice: - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - type: number - format: double - salePrice: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extendedListPrice: - description: Item's list price multiplied by the quantity. - type: number - format: double - extendedSalePrice: - description: Item's sale price multiplied by the quantity. - type: number - format: double - type: - description: the product type - physical or digital - type: string - addedByPromotion: - description: 'If the item was added automatically by a promotion such as a coupon or buy one, get one.' - type: boolean - isShippingRequired: - description: Whether this item requires shipping to a physical address. - type: boolean - isMutable: - description: '' - type: boolean - giftWrapping: - title: Gift Wrapping - type: object - properties: - name: - description: '' - type: string - message: - description: '' - type: string - amount: - description: '' - type: number - format: double - required: + digitalItems: + type: array + description: "" + items: + title: Item Digital + required: - quantity - digitalItems: - description: '' - type: array - items: - title: Item Digital - type: object - properties: - id: - description: The line-item ID. - type: string - parentId: - description: Bundled items will have their parent's item Id. - type: string - variantId: - description: ID of the variant. - type: number - format: double - productId: - description: ID of the product. - type: number - format: double - sku: - description: SKU of the variant. - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - quantity: - description: Quantity of this item. - type: number - format: double - brand: - description: The item's brand. - type: string - isTaxable: - description: Whether the item is taxable. - type: boolean - imageUrl: - description: 'URL of an image of this item, accessible on the internet.' - type: string - discounts: - description: 'List of discounts applied to this item, as an array of AppliedDiscount objects.' - type: array - items: - title: Applied Discount + type: object + properties: + id: + type: string + description: The line-item ID. + parentId: + type: string + description: Bundled items will have their parent's + item Id. + variantId: + type: number + description: ID of the variant. + format: double + productId: + type: number + description: ID of the product. + format: double + sku: + type: string + description: SKU of the variant. + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + quantity: + type: number + description: Quantity of this item. + format: double + brand: + type: string + description: The item's brand. + isTaxable: + type: boolean + description: Whether the item is taxable. + imageUrl: + type: string + description: URL of an image of this item, accessible + on the internet. + discounts: + type: array + description: List of discounts applied to this item, + as an array of AppliedDiscount objects. + items: + title: Applied Discount + type: object + properties: + name: + type: string + description: The name provided by the merchant. + discountedAmount: + type: number + description: The discounted amount applied within + a given context. + format: double + discountAmount: + type: number + description: The total value of all discounts applied + to this item (excluding coupon). + format: double + couponAmount: + type: number + description: The total value of all coupons applied + to this item. + format: double + listPrice: + type: number + description: Item’s list price, as quoted by the manufacturer/distributor. + format: double + salePrice: + type: number + description: Item's price after all discounts are applied. + (The final price before tax calculation.) + format: double + extendedListPrice: + type: number + description: Item's list price multiplied by the quantity. + format: double + extendedSalePrice: + type: number + description: Item's sale price multiplied by the quantity. + format: double + type: + type: string + description: the product type - physical or digital + isMutable: + type: boolean + description: "" + isShippingRequired: + type: boolean + description: Whether this item requires shipping to + a physical address. + downloadFileUrls: + type: array + description: URLs to download all product files. + items: + type: string + downloadPageUrl: + type: string + description: The URL for the combined downloads page. + downloadSize: + type: string + description: 'Combined download size, in human-readable + style. E.g.: `30MB`.' + giftCertificate: + type: array + description: "" + items: + title: Item Gift Certificate + required: + - amount + - recipient + - sender + - theme + type: object + properties: + id: + type: string + description: Gift certificate identifier + name: + type: string + description: Name of the purchased gift certificate + e.g. $20 Gift Certificate + theme: + type: string + description: Currently supports `Birthday`, `Boy`, `Celebration`, + `Christmas`, `General`, and `Girl`. + amount: + type: number + description: Value must be between $1.00 and $1,000.00. + format: double + taxable: + type: boolean + description: "" + sender: + title: Contact Entity type: object properties: name: - description: The name provided by the merchant. type: string - discountedAmount: - description: The discounted amount applied within a given context. - type: number - format: double - discountAmount: - description: The total value of all discounts applied to this item (excluding coupon). - type: number - format: double - couponAmount: - description: The total value of all coupons applied to this item. - type: number - format: double - originalPrice: - type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' - listPrice: - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - type: number - format: double - salePrice: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extendedListPrice: - description: Item's list price multiplied by the quantity. - type: number - format: double - extendedSalePrice: - description: Item's sale price multiplied by the quantity. - type: number - format: double - type: - description: the product type - physical or digital - type: string - isMutable: - description: '' - type: boolean - isShippingRequired: - description: Whether this item requires shipping to a physical address. - type: boolean - downloadFileUrls: - description: URLs to download all product files. - type: array - items: + description: "" + email: + type: string + description: "" + recipient: + title: Contact Entity + type: object + properties: + name: + type: string + description: "" + email: + type: string + description: "" + message: type: string - downloadPageUrl: - description: The URL for the combined downloads page. - type: string - downloadSize: - description: 'Combined download size, in human-readable style. E.g.: `30MB`.' - type: string - required: - - quantity - giftCertificate: - type: array - description: '' - items: - title: Item Gift Certificate - type: object - properties: - id: - description: Gift certificate identifier - type: string - name: - description: Name of the purchased gift certificate e.g. $20 Gift Certificate - type: string - theme: - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' - type: string - amount: - description: 'Value must be between $1.00 and $1,000.00.' - type: number - format: double - taxable: - description: '' - type: boolean - sender: - title: Contact Entity - type: object - properties: - name: - description: '' - type: string - email: - description: '' - type: string - recipient: - title: Contact Entity - type: object - properties: - name: - description: '' - type: string - email: - description: '' - type: string - message: - description: Limited to 200 characters. - type: string - type: - description: Explicitly specifying the gift certificate type - type: string - required: - - theme - - amount - - sender - - recipient - customItems: - type: array - items: - type: object - title: Item Custom - description: |- - Add a custom item to the shoppers cart. - * Custom items are not added to the catalog. - * The price should be set to match the store settings for taxes. - properties: - id: - type: string - description: Id of the custom item - sku: - type: string - description: Custom item sku - name: - type: string - description: Item name - quantity: - type: string - listPrice: - type: string - description: Price of the item. With or without tax depending on your stores set up. - required: - - physicalItems - - digitalItems - createdTime: - description: Time when the cart was created. - type: string - updatedTime: - description: Time when the cart was last updated. - type: string - billingAddress: - title: Address Response - allOf: + description: Limited to 200 characters. + type: + type: string + description: Explicitly specifying the gift certificate + type + customItems: + type: array + items: + title: Item Custom + type: object + properties: + id: + type: string + description: Id of the custom item + sku: + type: string + description: Custom item sku + name: + type: string + description: Item name + quantity: + type: string + listPrice: + type: string + description: Price of the item. With or without tax + depending on your stores set up. + description: |- + Add a custom item to the shoppers cart. + * Custom items are not added to the catalog. + * The price should be set to match the store settings for taxes. + createdTime: + type: string + description: Time when the cart was created. + updatedTime: + type: string + description: Time when the cart was last updated. + description: A cart contains a collection of items, prices, discounts, + etc. It does not contain customer-related data. + billingAddress: + title: Address Response + type: object + allOf: - title: Address Properties + required: + - countryCode + type: object properties: firstName: - description: '' type: string + description: "" lastName: - description: '' type: string + description: "" email: - description: '' type: string + description: "" company: - description: '' type: string + description: "" address1: - description: '' type: string + description: "" address2: - description: '' type: string + description: "" city: - description: '' type: string + description: "" stateOrProvince: - description: Represents state or province. type: string + description: Represents state or province. stateOrProvinceCode: - description: '' type: string + description: "" countryCode: - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' postalCode: - description: '' type: string + description: "" phone: - description: '' + pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + description: "" customFields: - description: '' type: array + description: "" items: title: CustomField type: object properties: fieldId: - description: '' type: string + description: "" fieldValue: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' type: string - required: - - countryCode - - properties: + description: This can also be an array for fields that need + to support list of values (e.g., a set of check boxes.) + - type: object + properties: id: - description: '' type: string - type: object - consignments: - description: 'This allows us to have multiple shipping addresses. Where there is only one shipping address, this array will contain only one value, with all the items.' - type: array - items: - title: Consignment - description: '' - type: object - properties: - id: - description: '' - type: string - shippingAddress: - type: object - x-deprecated: true - address: - title: Address Response - allOf: + description: "" + consignments: + type: array + description: This allows us to have multiple shipping addresses. Where + there is only one shipping address, this array will contain only one + value, with all the items. + items: + title: Consignment + type: object + properties: + id: + type: string + description: "" + shippingAddress: + type: object + properties: {} + x-deprecated: true + address: + title: Address Response + type: object + allOf: - title: Address Properties + required: + - countryCode + type: object properties: firstName: - description: '' type: string + description: "" lastName: - description: '' type: string + description: "" email: - description: '' type: string + description: "" company: - description: '' type: string + description: "" address1: - description: '' type: string + description: "" address2: - description: '' type: string + description: "" city: - description: '' type: string + description: "" stateOrProvince: - description: Represents state or province. type: string + description: Represents state or province. stateOrProvinceCode: - description: '' type: string + description: "" countryCode: - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' postalCode: - description: '' type: string + description: "" phone: - description: '' + pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + description: "" customFields: - description: '' type: array + description: "" items: title: CustomField type: object properties: fieldId: - description: '' type: string + description: "" fieldValue: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' type: string - required: - - countryCode - - properties: + description: This can also be an array for fields + that need to support list of values (e.g., a set + of check boxes.) + - type: object + properties: id: - description: '' type: string - type: object - availableShippingOptions: - description: This is available only when "include=consignments.availableShippingOptions" is presented in the URL. - type: array - items: - title: Shipping Option Entity - allOf: + description: "" + availableShippingOptions: + type: array + description: This is available only when "include=consignments.availableShippingOptions" + is presented in the URL. + items: + title: Shipping Option Entity + type: object + allOf: - title: Selected Shipping Option + type: object properties: description: - description: Read-only type: string + description: Read-only id: - description: '' type: string + description: "" type: - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' type: string + description: Specified the type of shipping option. Flat + rate, UPS, etc., imageUrl: - description: '' type: string + description: "" cost: - description: '' type: number + description: "" format: double transitTime: - description: An estimate of the arrival time. type: string - - properties: + description: An estimate of the arrival time. + - type: object + properties: isRecommended: - description: Is this shipping method the recommended shipping option or not. type: boolean - type: object - selectedShippingOption: - title: Selected Shipping Option - type: object - properties: - description: - description: Read-only - type: string - id: - description: '' - type: string - type: - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' - type: string - imageUrl: - description: '' - type: string - cost: - description: '' - type: number - format: double - transitTime: - description: An estimate of the arrival time. - type: string - couponDiscounts: - description: List of consignment discounts applied through coupons - type: array - items: - title: Consignment Coupon Discount + description: Is this shipping method the recommended shipping + option or not. + selectedShippingOption: + title: Selected Shipping Option type: object properties: - code: - description: Coupon code that applied this discount + description: + type: string + description: Read-only + id: type: string - amount: - description: '' + description: "" + type: + type: string + description: Specified the type of shipping option. Flat rate, + UPS, etc., + imageUrl: + type: string + description: "" + cost: type: number + description: "" format: double - discounts: - description: List of consignment discounts applied through cart level discounts - type: array - items: - title: Consignment Discount - type: object - properties: - id: - description: Discount rule ID that applied this discount + transitTime: type: string - shippingCost: - description: The shipping cost for this consignment. - type: number - format: double - handlingCost: - description: The handling cost of shipping for this consignment. - type: number - format: double - lineItemIds: - description: '' - type: array - items: + description: An estimate of the arrival time. + couponDiscounts: + type: array + description: List of consignment discounts applied through coupons + items: + title: Consignment Coupon Discount + type: object + properties: + code: + type: string + description: Coupon code that applied this discount + amount: + type: number + description: "" + format: double + discounts: + type: array + description: List of consignment discounts applied through cart + level discounts + items: + title: Consignment Discount + type: object + properties: + id: + type: string + description: Discount rule ID that applied this discount + shippingCost: + type: number + description: The shipping cost for this consignment. + format: double + handlingCost: + type: number + description: The handling cost of shipping for this consignment. + format: double + lineItemIds: + type: array + description: "" + items: + type: string + description: "" + coupons: + type: array + description: Coupons applied at checkout level. + items: + $ref: '#/components/schemas/CheckoutCoupon' + orderId: + type: string + description: "" + shippingCostTotal: + type: number + description: Shipping cost before any discounts are applied. + format: float + giftWrappingCostTotal: + type: number + description: Gift wrapping for all items, including or excluding tax. + handlingCostTotal: + type: number + description: Handling cost for all consignments including or excluding + tax. + format: float + taxTotal: + type: number + description: "" + format: float + taxes: + type: array + items: + type: object + properties: + name: type: string - coupons: - description: Coupons applied at checkout level. - type: array - items: - $ref: '#/definitions/AppliedCoupon' - orderId: - description: '' - type: string - shippingCostTotal: - type: number - description: Shipping cost before any discounts are applied. - format: float - giftWrappingCostTotal: - type: number - description: 'Gift wrapping for all items, including or excluding tax.' - handlingCostTotal: - type: number - description: Handling cost for all consignments including or excluding tax. - format: float - taxTotal: - type: number - description: '' - format: float - taxes: - type: array - items: - type: object - properties: - name: - type: string - description: Name of the tax charged. This is either the system default or the custom name created for the tax. - example: Texas Taxes - amount: - type: number - format: float - description: Amount of the tax. - example: 1.12 - subtotal: - type: number - description: Subtotal of the checkout before applying item level discounts. Tax inclusive based on the store settings. - format: float - grandTotal: - type: number - description: 'The total payable amount, before applying any store credit or gift certificate.' - format: float - giftCertificates: - description: Applied gift certificate (as a payment method). - type: array - items: - title: Gift Certificate - description: The values presented here are projections of how much we would be using out of an existent gift certificate - type: object - properties: - balance: - description: '' - type: number - format: double - code: - description: '' - type: string - purchaseDate: - description: '' - type: string - format: date - remaining: - description: '' - type: number - format: double - used: - description: '' - type: number - format: double - createdTime: - description: Time when the cart was created. - type: string - updatedTime: - description: Time when the cart was last updated. - type: string - customerMessage: - description: Shopper's message provided as details for the order to be created from this cart - type: string - outstandingBalance: - type: number - description: | - `grandTotal` subtract the store-credit amount - isStoreCreditApplied: - type: boolean - description: | - `true` value indicates StoreCredit has been applied. - x-internal: false - cartLineItemPut: - title: cartLineItemPut - type: object - properties: - quantity: - description: '' - type: number - format: double - productId: - description: '' - type: number - format: double - variantId: - description: '' - type: number - format: double - x-internal: false - cartLineItemGiftCertificate_Put: - title: cartLineItemGiftCertificate_Put - type: object - properties: - theme: - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' - type: string - amount: - description: '' - type: number - minimum: 1 - maximum: 1000 - format: double - sender: - $ref: '#/definitions/contactEntity' - recipient: - $ref: '#/definitions/contactEntity' - message: - description: 'Message shown to recipient, as provided by sender.' - type: string - quantity: - description: '' - type: number - format: double - required: - - theme + description: Name of the tax charged. This is either the system + default or the custom name created for the tax. + example: Texas Taxes + amount: + type: number + description: Amount of the tax. + format: float + example: 1.12 + subtotal: + type: number + description: Subtotal of the checkout before applying item level discounts. + Tax inclusive based on the store settings. + format: float + grandTotal: + type: number + description: The total payable amount, before applying any store credit + or gift certificate. + format: float + giftCertificates: + type: array + description: Applied gift certificate (as a payment method). + items: + title: Gift Certificate + type: object + properties: + balance: + type: number + description: "" + format: double + code: + type: string + description: "" + purchaseDate: + type: string + description: "" + format: date + remaining: + type: number + description: "" + format: double + used: + type: number + description: "" + format: double + description: The values presented here are projections of how much + we would be using out of an existent gift certificate + createdTime: + type: string + description: Time when the cart was created. + updatedTime: + type: string + description: Time when the cart was last updated. + customerMessage: + type: string + description: Shopper's message provided as details for the order to + be created from this cart + outstandingBalance: + type: number + description: | + `grandTotal` subtract the store-credit amount + isStoreCreditApplied: + type: boolean + description: | + `true` value indicates StoreCredit has been applied. + x-internal: false + cartLineItemPut: + title: cartLineItemPut + type: object + properties: + quantity: + type: number + description: "" + format: double + productId: + type: number + description: "" + format: double + variantId: + type: number + description: "" + format: double + x-internal: false + cartLineItemGiftCertificate_Put: + title: cartLineItemGiftCertificate_Put + required: - amount - - sender - - recipient - quantity - x-internal: false - CreateConsignmentRequest: - title: Create Consignment Request - type: object - properties: - shippingAddress: - type: object - x-deprecated: true - address: - type: object - title: Address Properties - properties: - firstName: - description: '' - type: string - lastName: - description: '' - type: string - email: - description: '' - type: string - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - stateOrProvince: - description: Represents state or province. - type: string - stateOrProvinceCode: - description: '' - type: string - countryCode: - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' - type: string - postalCode: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - customFields: - type: array - items: - type: object - properties: - fieldId: - type: string - fieldValue: - type: string - shouldSaveAddress: - description: Indicates if we should add this address to the customer address book. - type: boolean - required: - - countryCode - lineItems: - description: '' - type: array - items: - title: Consignment Line Item + - recipient + - sender + - theme + type: object + properties: + theme: + type: string + description: Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, + `General`, and `Girl`. + amount: + maximum: 1E+3 + minimum: 1 + type: number + description: "" + format: double + sender: + $ref: '#/components/schemas/contactEntity' + recipient: + $ref: '#/components/schemas/contactEntity' + message: + type: string + description: Message shown to recipient, as provided by sender. + quantity: + type: number + description: "" + format: double + x-internal: false + CreateConsignmentRequest: + title: Create Consignment Request + type: object + properties: + shippingAddress: type: object - properties: - itemId: - description: '' - type: string - quantity: - description: '' - type: integer - format: int32 + properties: {} + x-deprecated: true + address: + title: Address Properties required: - - itemId - - quantity - x-internal: false - GiftCertificateRequest: - title: Gift Certificate Request - type: object - properties: - giftCertificateCode: - description: '' - type: string - x-internal: false - cart_Put: - title: cart_Put - type: object - properties: - lineItem: - $ref: '#/definitions/cartLineItemPut' - giftCertificate: - $ref: '#/definitions/cartLineItemGiftCertificate_Put' - x-internal: false - NewUpdateConsignment: - title: Update Consignment Request - description: 'One or more of these three fields are mandatory. Shipping address and line items can be updated in one request. Shipping option ID has to be updated in a separate request, since changing the address or line items can invalidate the previously available shipping options.' - type: object - properties: - shippingAddress: - type: object - x-deprecated: true - address: - title: Address Properties - type: object - properties: - firstName: - description: '' - type: string - lastName: - description: '' - type: string - email: - description: '' - type: string - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - stateOrProvince: - description: Represents state or province. - type: string - stateOrProvinceCode: - description: '' - type: string - countryCode: - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' - type: string - postalCode: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - customFields: - type: array - items: - type: object - properties: - fieldId: - type: string - fieldValue: - type: string - shouldSaveAddress: - description: Indicates if we should add this address to the customer address book. - type: boolean - required: - countryCode - lineItems: - description: '' - type: array - items: - title: Consignment Line Item type: object properties: - itemId: - description: '' + firstName: type: string - quantity: - description: '' - type: integer - format: int32 - required: + description: "" + lastName: + type: string + description: "" + email: + type: string + description: "" + company: + type: string + description: "" + address1: + type: string + description: "" + address2: + type: string + description: "" + city: + type: string + description: "" + stateOrProvince: + type: string + description: Represents state or province. + stateOrProvinceCode: + type: string + description: "" + countryCode: + type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' + postalCode: + type: string + description: "" + phone: + pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + type: string + description: "" + customFields: + type: array + items: + type: object + properties: + fieldId: + type: string + fieldValue: + type: string + shouldSaveAddress: + type: boolean + description: Indicates if we should add this address to the customer + address book. + lineItems: + type: array + description: "" + items: + title: Consignment Line Item + required: - itemId - quantity - shippingOptionId: - description: '' - type: string - x-internal: false - checkoutCart: - title: checkoutCart - description: 'A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.' - type: object - properties: - id: - description: 'Cart ID, provided after creating a cart with a POST.' - type: string - format: uuid - customer_id: - description: ID of the customer to which the cart belongs. - type: integer - format: int32 - email: - description: The cart's email. This is the same email that is used in the billing address - type: string - currency: - title: Currency - description: The currency which prices are displayed (the store default currency). - type: object - properties: - name: - description: The currency name. - type: string - code: - description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' - type: string - symbol: - description: The currency symbol. - type: string - decimalPlaces: - description: 'Number of decimal places for the currency. For example, USD currency has two decimal places.' - type: number - format: double - isTaxIncluded: - description: Boolean representing whether tax information is included. - type: boolean - baseAmount: - description: 'Cost of cart’s contents, before applying discounts.' - type: number - format: double - discountAmount: - description: Discounted amount. - type: number - format: double - cartAmount: - description: 'Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes (where applicable).' - type: number - format: double - coupons: - description: '' - type: array - items: - title: Applied Coupon + type: object + properties: + itemId: + type: string + description: "" + quantity: + type: integer + description: "" + format: int32 + x-internal: false + GiftCertificateRequest: + title: Gift Certificate Request + type: object + properties: + giftCertificateCode: + type: string + description: "" + x-internal: false + cart_Put: + title: cart_Put + type: object + properties: + lineItem: + $ref: '#/components/schemas/cartLineItemPut' + giftCertificate: + $ref: '#/components/schemas/cartLineItemGiftCertificate_Put' + x-internal: false + NewUpdateConsignment: + title: Update Consignment Request + type: object + properties: + shippingAddress: + type: object + properties: {} + x-deprecated: true + address: + title: Address Properties + required: + - countryCode type: object properties: - id: - description: The coupon ID. + firstName: type: string - code: - description: the coupon code + description: "" + lastName: type: string - displayName: - description: The coupon title based on different types provided in control panel section + description: "" + email: type: string - couponType: - description: Key name to identify the type of coupon. + description: "" + company: type: string - discountedAmount: - description: The discounted amount applied within a given context. - type: number - format: double - required: - - code - discounts: - description: '' - type: array - items: - title: Applied Discount - type: object - properties: - name: - description: The name provided by the merchant. + description: "" + address1: type: string - discountedAmount: - description: The discounted amount applied within a given context. - type: number - format: double - lineItems: - description: '' - type: array - items: - title: Line Item - type: object - properties: - physicalItems: - description: '' + description: "" + address2: + type: string + description: "" + city: + type: string + description: "" + stateOrProvince: + type: string + description: Represents state or province. + stateOrProvinceCode: + type: string + description: "" + countryCode: + type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' + postalCode: + type: string + description: "" + phone: + pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + type: string + description: "" + customFields: type: array items: - title: Item Physical type: object properties: - id: - description: The line-item ID. - type: string - parentId: - description: 'The product is part of a bundle such as a product pick list, then the parentId or the main product id will populate.' - type: string - variantId: - description: ID of the variant. - type: integer - productId: - description: ID of the product. - type: integer - sku: - description: SKU of the variant. - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. + fieldId: type: string - quantity: - description: Quantity of this item. - type: number - format: double - isTaxable: - description: Whether the item is taxable. - type: boolean - imageUrl: - description: 'URL of an image of this item, accessible on the internet.' + fieldValue: type: string - discounts: - description: 'List of discounts applied to this item, as an array of AppliedDiscount objects.' - type: array - items: - title: Applied Discount + shouldSaveAddress: + type: boolean + description: Indicates if we should add this address to the customer + address book. + lineItems: + type: array + description: "" + items: + title: Consignment Line Item + required: + - itemId + - quantity + type: object + properties: + itemId: + type: string + description: "" + quantity: + type: integer + description: "" + format: int32 + shippingOptionId: + type: string + description: "" + description: One or more of these three fields are mandatory. Shipping address + and line items can be updated in one request. Shipping option ID has to be + updated in a separate request, since changing the address or line items can + invalidate the previously available shipping options. + x-internal: false + checkoutCart: + title: checkoutCart + type: object + properties: + id: + type: string + description: Cart ID, provided after creating a cart with a POST. + format: uuid + customer_id: + type: integer + description: ID of the customer to which the cart belongs. + format: int32 + email: + type: string + description: The cart's email. This is the same email that is used in the + billing address + currency: + title: Currency + type: object + properties: + name: + type: string + description: The currency name. + code: + type: string + description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' + symbol: + type: string + description: The currency symbol. + decimalPlaces: + type: number + description: Number of decimal places for the currency. For example, + USD currency has two decimal places. + format: double + description: The currency which prices are displayed (the store default + currency). + isTaxIncluded: + type: boolean + description: Boolean representing whether tax information is included. + baseAmount: + type: number + description: Cost of cart’s contents, before applying discounts. + format: double + discountAmount: + type: number + description: Discounted amount. + format: double + cartAmount: + type: number + description: Sum of line-items amounts, minus cart-level discounts and coupons. + This amount includes taxes (where applicable). + format: double + coupons: + type: array + description: "" + items: + $ref: '#/components/schemas/CartCoupon' + discounts: + type: array + description: "" + items: + title: Applied Discount + type: object + properties: + name: + type: string + description: The name provided by the merchant. + discountedAmount: + type: number + description: The discounted amount applied within a given context. + format: double + lineItems: + type: object + description: "" + items: + title: Line Item + required: + - digitalItems + - physicalItems + type: object + properties: + physicalItems: + type: array + description: "" + items: + title: Item Physical + required: + - quantity + type: object + properties: + id: + type: string + description: The line-item ID. + parentId: + type: string + description: The product is part of a bundle such as a product + pick list, then the parentId or the main product id will populate. + variantId: + type: integer + description: ID of the variant. + productId: + type: integer + description: ID of the product. + sku: + type: string + description: SKU of the variant. + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + quantity: + type: number + description: Quantity of this item. + format: double + isTaxable: + type: boolean + description: Whether the item is taxable. + imageUrl: + type: string + description: URL of an image of this item, accessible on the + internet. + discounts: + type: array + description: List of discounts applied to this item, as an array + of AppliedDiscount objects. + items: + title: Applied Discount + type: object + properties: + name: + type: string + description: The name provided by the merchant. + discountedAmount: + type: number + description: The discounted amount applied within a given + context. + format: double + discountAmount: + type: number + description: The total value of all discounts applied to this + item (excluding coupon). + format: double + couponAmount: + type: number + description: The total value of all coupons applied to this + item. + format: double + listPrice: + type: number + description: Item’s list price, as quoted by the manufacturer/distributor. + format: double + salePrice: + type: number + description: Item's price after all discounts are applied. (The + final price before tax calculation.) + format: double + extendedListPrice: + type: number + description: Item's list price multiplied by the quantity. + format: double + extendedSalePrice: + type: number + description: Item's sale price multiplied by the quantity. + format: double + comparisonPrice: + type: number + description: Item's comparison price + extendedComparisonPrice: + type: number + description: Item's comparison price multiplied by the quantity. + type: + type: string + description: the product type - physical or digital + addedByPromotion: + type: boolean + description: If the item was added automatically by a promotion + such as a coupon or buy one, get one. + isShippingRequired: + type: boolean + description: Whether this item requires shipping to a physical + address. + isMutable: + type: boolean + description: "" + giftWrapping: + title: Gift Wrapping type: object properties: name: - description: The name provided by the merchant. type: string - discountedAmount: - description: The discounted amount applied within a given context. + description: "" + message: + type: string + description: "" + amount: type: number + description: "" format: double - discountAmount: - description: The total value of all discounts applied to this item (excluding coupon). - type: number - format: double - couponAmount: - description: The total value of all coupons applied to this item. - type: number - format: double - originalPrice: - type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' - listPrice: - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - type: number - format: double - salePrice: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extendedListPrice: - description: Item's list price multiplied by the quantity. - type: number - format: double - extendedSalePrice: - description: Item's sale price multiplied by the quantity. - type: number - format: double - comparisonPrice: - description: Item's comparison price - type: number - extendedComparisonPrice: - description: Item's comparison price multiplied by the quantity. - type: number - type: - description: the product type - physical or digital - type: string - addedByPromotion: - description: 'If the item was added automatically by a promotion such as a coupon or buy one, get one.' - type: boolean - isShippingRequired: - description: Whether this item requires shipping to a physical address. - type: boolean - isMutable: - description: '' - type: boolean - giftWrapping: - title: Gift Wrapping - type: object - properties: - name: - description: '' - type: string - message: - description: '' - type: string - amount: - description: '' - type: number - format: double - required: + digitalItems: + type: array + description: "" + items: + title: Item Digital + required: - quantity - digitalItems: - description: '' - type: array - items: - title: Item Digital - type: object - properties: - id: - description: The line-item ID. - type: string - parentId: - description: Bundled items will have their parent's item Id. - type: string - variantId: - description: ID of the variant. - type: number - format: double - productId: - description: ID of the product. - type: number - format: double - sku: - description: SKU of the variant. - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - quantity: - description: Quantity of this item. - type: number - format: double - isTaxable: - description: Whether the item is taxable. - type: boolean - imageUrl: - description: 'URL of an image of this item, accessible on the internet.' - type: string - discounts: - description: 'List of discounts applied to this item, as an array of AppliedDiscount objects.' - type: array - items: - title: Applied Discount + type: object + properties: + id: + type: string + description: The line-item ID. + parentId: + type: string + description: Bundled items will have their parent's item Id. + variantId: + type: number + description: ID of the variant. + format: double + productId: + type: number + description: ID of the product. + format: double + sku: + type: string + description: SKU of the variant. + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + quantity: + type: number + description: Quantity of this item. + format: double + isTaxable: + type: boolean + description: Whether the item is taxable. + imageUrl: + type: string + description: URL of an image of this item, accessible on the + internet. + discounts: + type: array + description: List of discounts applied to this item, as an array + of AppliedDiscount objects. + items: + title: Applied Discount + type: object + properties: + name: + type: string + description: The name provided by the merchant. + discountedAmount: + type: number + description: The discounted amount applied within a given + context. + format: double + discountAmount: + type: number + description: The total value of all discounts applied to this + item (excluding coupon). + format: double + couponAmount: + type: number + description: The total value of all coupons applied to this + item. + format: double + listPrice: + type: number + description: Item’s list price, as quoted by the manufacturer/distributor. + format: double + salePrice: + type: number + description: Item's price after all discounts are applied. (The + final price before tax calculation.) + format: double + extendedListPrice: + type: number + description: Item's list price multiplied by the quantity. + format: double + extendedSalePrice: + type: number + description: Item's sale price multiplied by the quantity. + format: double + type: + type: string + description: the product type - physical or digital + isShippingRequired: + type: boolean + description: Whether this item requires shipping to a physical + address. + downloadFileUrls: + type: array + description: URLs to download all product files. + items: + type: string + downloadPageUrl: + type: string + description: The URL for the combined downloads page. + downloadSize: + type: string + description: 'Combined download size, in human-readable style. + E.g.: `30MB`.' + giftCertificate: + type: array + description: "" + items: + title: Item Gift Certificate + required: + - amount + - recipient + - sender + - theme + type: object + properties: + id: + type: string + description: Gift certificate identifier + name: + type: string + description: Name of the purchased gift certificate e.g. $20 + Gift Certificate + theme: + type: string + description: Currently supports `Birthday`, `Boy`, `Celebration`, + `Christmas`, `General`, and `Girl`. + amount: + type: number + description: Value must be between $1.00 and $1,000.00. + format: double + taxable: + type: boolean + description: "" + sender: + title: Contact Entity type: object properties: name: - description: The name provided by the merchant. type: string - discountedAmount: - description: The discounted amount applied within a given context. - type: number - format: double - discountAmount: - description: The total value of all discounts applied to this item (excluding coupon). - type: number - format: double - couponAmount: - description: The total value of all coupons applied to this item. - type: number - format: double - originalPrice: - type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' - listPrice: - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - type: number - format: double - salePrice: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extendedListPrice: - description: Item's list price multiplied by the quantity. - type: number - format: double - extendedSalePrice: - description: Item's sale price multiplied by the quantity. - type: number - format: double - type: - description: the product type - physical or digital - type: string - isShippingRequired: - description: Whether this item requires shipping to a physical address. - type: boolean - downloadFileUrls: - description: URLs to download all product files. - type: array - items: + description: "" + email: + type: string + description: "" + recipient: + title: Contact Entity + type: object + properties: + name: + type: string + description: "" + email: + type: string + description: "" + message: type: string - downloadPageUrl: - description: The URL for the combined downloads page. - type: string - downloadSize: - description: 'Combined download size, in human-readable style. E.g.: `30MB`.' - type: string - required: - - quantity - giftCertificate: - type: array - description: '' - items: - title: Item Gift Certificate - type: object - properties: - id: - description: Gift certificate identifier - type: string - name: - description: Name of the purchased gift certificate e.g. $20 Gift Certificate - type: string - theme: - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' - type: string - amount: - description: 'Value must be between $1.00 and $1,000.00.' - type: number - format: double - taxable: - description: '' - type: boolean - sender: - title: Contact Entity - type: object - properties: - name: - description: '' - type: string - email: - description: '' - type: string - recipient: - title: Contact Entity - type: object - properties: - name: - description: '' - type: string - email: - description: '' - type: string - message: - description: Limited to 200 characters. - type: string - type: - description: Explicitly specifying the gift certificate type - type: string - required: - - theme - - amount - - sender - - recipient - customItems: - type: array - items: - type: object - title: Item Custom - description: |- - Add a custom item to the shoppers cart. - * Custom items are not added to the catalog. - * The price should be set to match the store settings for taxes. - properties: - id: - type: string - description: Id of the custom item - sku: - type: string - description: Custom item sku - name: - type: string - description: Item name - quantity: - type: string - listPrice: - type: string - description: Price of the item. With or without tax depending on your stores set up. - required: - - physicalItems - - digitalItems - createdTime: - description: Time when the cart was created. - type: string - updatedTime: - description: Time when the cart was last updated. - type: string - x-internal: false - checkoutGiftCertificates: - description: Applied gift certificate (as a payment method). - type: array - items: - title: Gift Certificate - description: The values presented here are projections of how much we would be using out of an existent gift certificate + description: Limited to 200 characters. + type: + type: string + description: Explicitly specifying the gift certificate type + customItems: + type: array + items: + title: Item Custom + type: object + properties: + id: + type: string + description: Id of the custom item + sku: + type: string + description: Custom item sku + name: + type: string + description: Item name + quantity: + type: string + listPrice: + type: string + description: Price of the item. With or without tax depending + on your stores set up. + description: |- + Add a custom item to the shoppers cart. + * Custom items are not added to the catalog. + * The price should be set to match the store settings for taxes. + createdTime: + type: string + description: Time when the cart was created. + updatedTime: + type: string + description: Time when the cart was last updated. + description: A cart contains a collection of items, prices, discounts, etc. + It does not contain customer-related data. + x-internal: false + checkoutGiftCertificates: + title: checkoutGiftCertificates + type: array + description: Applied gift certificate (as a payment method). + items: + title: Gift Certificate + type: object + properties: + balance: + type: number + description: "" + format: double + code: + type: string + description: "" + purchaseDate: + type: string + description: "" + format: date + remaining: + type: number + description: "" + format: double + used: + type: number + description: "" + format: double + description: The values presented here are projections of how much we would + be using out of an existent gift certificate + x-internal: false + consignmentShippingOption_Base: + title: consignmentShippingOption_Base type: object properties: - balance: - description: '' - type: number - format: double - code: - description: '' + description: type: string - purchaseDate: - description: '' + description: Read-only + id: type: string - format: date - remaining: - description: '' - type: number - format: double - used: - description: '' + description: "" + type: + type: string + description: Specified the type of shipping option. Flat rate, UPS, etc., + imageUrl: + type: string + description: "" + cost: type: number + description: "" format: double - title: checkoutGiftCertificates - x-internal: false - consignmentShippingOption_Base: - title: consignmentShippingOption_Base - type: object - properties: - description: - description: Read-only - type: string - id: - description: '' - type: string - type: - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' - type: string - imageUrl: - description: '' - type: string - cost: - description: '' - type: number - format: double - transitTime: - description: An estimate of the arrival time. - type: string - x-internal: false -parameters: - include: - name: include - in: query - type: string - default: consignments.availableShippingOptions -schemes: - - https -responses: - Checkout: - description: '' - schema: - $ref: '#/definitions/checkout_Full' - examples: - application/json: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - cart: - id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed - customerId: 18 - email: dwaynecole@testing.com - currency: - name: US Dollars - code: USD - symbol: $ - decimalPlaces: 2 - isTaxIncluded: true - baseAmount: 7.95 - discountAmount: 0 - cartAmount: 7.95 - coupons: [] - discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 - lineItems: - physicalItems: + transitTime: + type: string + description: An estimate of the arrival time. + x-internal: false + responses: + Checkout: + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/checkout_Full' + example: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + cart: + id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed + customerId: 18 + email: dwaynecole@testing.com + currency: + name: US Dollars + code: USD + symbol: $ + decimalPlaces: 2 + isTaxIncluded: true + baseAmount: 7.95 + discountAmount: 0 + cartAmount: 7.95 + coupons: [] + discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: '' - name: 1L Le Parfait Jar - url: 'https:/{$$.env.store_domain}/all/1l-le-parfait-jar/' - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false - digitalItems: [] - giftCertificates: [] - customItems: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - billingAddress: - id: 5c377ead301c2 - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: '' - address1: Mauna Kea Access Rd - address2: '' - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: '96720' - phone: '8081234567' - customFields: [] - consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: '' - cost: 8 - transitTime: '' - address: + discountedAmount: 0 + lineItems: + physicalItems: + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: "" + name: 1L Le Parfait Jar + url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 + discounts: [] + discountAmount: 0 + couponAmount: 0 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false + digitalItems: [] + giftCertificates: [] + customItems: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + billingAddress: + id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: '' + company: "" address1: Mauna Kea Access Rd - address2: '' + address2: "" city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: '96720' - phone: '8081234567' + postalCode: "96720" + phone: "8081234567" customFields: [] - orderId: {} - shippingCostTotal: 8 - shippingCostBeforeDiscount: 8 - handlingCostTotal: 0 - taxTotal: 1.22 - coupons: [] - taxes: - - name: Tax - amount: 1.22 - subtotal: 7.95 - grandTotal: 15.95 - giftCertificates: [] - createdTime: '2019-01-10T17:18:00+00:00' - updatedTime: '2019-01-10T17:19:47+00:00' - customerMessage: '' -tags: - - name: Checkout - - name: Checkout Billing Address - - name: Checkout Cart Items - - name: Checkout Consignments - - name: Checkout Coupons - - name: Checkout Gift Certificates - - name: Checkout Spam Protection - - name: Checkout Store Credit -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + consignments: + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: "" + cost: 8 + transitTime: "" + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: "" + address1: Mauna Kea Access Rd + address2: "" + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: "96720" + phone: "8081234567" + customFields: [] + orderId: null + shippingCostTotal: 8 + shippingCostBeforeDiscount: 8 + handlingCostTotal: 0 + taxTotal: 1.22 + coupons: [] + taxes: + - name: Tax + amount: 1.22 + subtotal: 7.95 + grandTotal: 15.95 + giftCertificates: [] + createdTime: 2019-01-10T17:18:00+00:00 + updatedTime: 2019-01-10T17:19:47+00:00 + customerMessage: "" + parameters: + include: + name: include + in: query + schema: + type: string + default: consignments.availableShippingOptions + diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 9ce96d87f..5981a4ce3 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -1,173 +1,1638 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '3.0' title: Checkouts description: |- For more information on authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). Create and manage checkouts from existing carts using BigCommerce checkout logic. -host: api.bigcommerce.com -basePath: null -schemes: - - https -consumes: - - application/json -produces: - - application/json + version: '3.0' +servers: + - url: 'https://api.bigcommerce.com' +tags: + - name: Checkout + - name: Checkout Billing Address + - name: Checkout Consignments + - name: Checkout Coupons + - name: Checkout Discounts + - name: Checkout Orders + - name: Checkout Settings paths: '/stores/{store_hash}/v3/checkouts/{checkoutId}': get: + tags: + - Checkout + summary: Get a Checkout description: |- Returns a *Checkout*. **Notes** The cart ID and checkout ID are the same. - summary: Get a Checkout - tags: - - Checkout operationId: CheckoutsByCheckoutIdGet - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json required: true - - in: query - name: include - type: string + schema: + type: string + default: application/json + - name: include + in: query description: |- * `cart.line_items.physical_items.options` - physical options * `cart.line_items.digital_items.options` - digital options * `consignments.available_shipping_options` - shipping options * `promotions.banners` - promotion options - enum: - - cart.line_items.physical_items.options - - cart.line_items.digital_items.options - - consignments.available_shipping_options - - promotions.banners + schema: + type: string + enum: + - cart.line_items.physical_items.options + - cart.line_items.digital_items.options + - consignments.available_shipping_options + - promotions.banners responses: '200': - $ref: '#/responses/CheckoutResponse' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + examples: {} + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text '404': description: When a given checkout ID is not found. - schema: - title: Checkout Error - type: object - properties: - errors: - description: '' - type: array - items: - title: ErrorDetail - type: object - properties: - status: - description: '' - type: integer - format: int32 - title: - description: '' - type: string - type: - description: '' - type: string - detail: - description: '' - type: string - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false + content: + application/json: + schema: + title: Checkout Error + type: object + properties: + errors: + type: array + description: '' + items: + title: ErrorDetail + type: object + properties: + status: + type: integer + description: '' + format: int32 + title: + type: string + description: '' + type: + type: string + description: '' + detail: + type: string + description: '' security: - X-Auth-Token: [] put: + tags: + - Checkout + summary: Update Customer Messages description: |- Change customer message to an existing *Checkout*. **Limits:** * 2000 characters for customer message - tags: - - Checkout operationId: CheckoutsByCheckoutIdPut - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: ID of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json required: true - - name: body - in: body - required: true - description: '`customer_message` is required (max length is 2000).' schema: - $ref: '#/definitions/Checkout_Put' - x-examples: - application/json: - customer_message: Ship Now! + type: string + default: application/json + requestBody: + description: '`customer_message` is required (max length is 2000).' + content: + application/json: + schema: + $ref: '#/components/schemas/Checkout_Put' + required: true responses: '200': - $ref: '#/responses/CheckoutResponse' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + security: + - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - summary: Update Customer Messages - security: - - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true + x-codegen-request-body-name: body '/stores/{store_hash}/v3/checkouts/{checkoutId}/discounts': - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true post: + tags: + - Checkout Discounts summary: Add Discount to Checkout - operationId: post-store_hash-v3-checkouts-checkoutId-discounts - responses: - '200': - $ref: '#/responses/CheckoutResponse' description: |- Adds a discount to an existing *checkout*. @@ -177,182 +1642,2383 @@ paths: Required Fields * discounted_amount - tags: - - Checkout Discounts + operationId: post-store_hash-v3-checkouts-checkoutId-discounts parameters: - - in: body - name: body + - name: store_hash + in: path + required: true schema: - type: object - properties: - cart: - type: object - properties: - discounts: - type: array - items: - type: object - properties: - discounted_amount: - type: number - example: 10 - name: - type: string - example: manual - required: - - discounted_amount - x-examples: - example-1: - cart: - discounts: - - discounted_amount: 10 - name: manual - - type: string + type: string + - name: checkoutId + in: path + required: true + schema: + type: string + - name: Accept in: header - name: Accept required: true - default: application/json - - type: string + schema: + type: string + default: application/json + - name: Content-Type in: header - name: Content-Type required: true - default: application/json + schema: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + type: object + properties: + cart: + type: object + properties: + discounts: + type: array + items: + required: + - discounted_amount + type: object + properties: + discounted_amount: + type: number + example: 10 + name: + type: string + example: manual + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text security: - X-Auth-Token: [] + x-codegen-request-body-name: body '/stores/{store_hash}/v3/checkouts/{checkoutId}/billing-address': post: + tags: + - Checkout Billing Address + summary: Add Checkout Billing Address description: |- Adds a billing address to an existing *Checkout*. **Required Fields** * email * country_code - tags: - - Checkout Billing Address operationId: CheckoutsBillingAddressByCheckoutIdPost - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json - required: true - - name: body - in: body required: true - description: Either email or countryCode is required. schema: - $ref: '#/definitions/AddressProperties' - x-examples: - application/json: - first_name: Jane - last_name: Doe - email: jane@example.com - address1: 123 Main Street - address2: '' - city: Austin - state_or_province: Texas - state_or_province_code: TX - country_code: US - postal_code: '78751' - phone: '1234567890' + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressProperties' + required: true responses: '200': - $ref: '#/responses/CheckoutResponse' - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false - summary: Add Checkout Billing Address - security: - - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true - '/stores/{store_hash}/v3/checkouts/{checkoutId}/billing-address/{addressId}': - put: - description: Updates an existing billing address on *Checkout*. - summary: Update Checkout Billing Address + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + security: + - X-Auth-Token: [] + x-unitTests: [] + x-operation-settings: + CollectParameters: false + AllowDynamicQueryParameters: false + AllowDynamicFormParameters: false + IsMultiContentStreaming: false + x-codegen-request-body-name: body + '/stores/{store_hash}/v3/checkouts/{checkoutId}/billing-address/{addressId}': + put: tags: - Checkout Billing Address + summary: Update Checkout Billing Address + description: Updates an existing billing address on *Checkout*. operationId: CheckoutsBillingAddressByCheckoutIdAndAddressIdPut - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: addressId in: path - type: integer required: true - - name: body - in: body - required: true - description: '' schema: - $ref: '#/definitions/AddressProperties' - x-examples: - application/json: - email: jane@example.com - phone: '1234567890' + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressProperties' + required: true responses: '200': - $ref: '#/responses/CheckoutResponse' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + security: + - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - security: - - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true - - type: string - name: addressId - in: path - required: true + x-codegen-request-body-name: body '/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments': post: + tags: + - Checkout Consignments + summary: Add Consignment to Checkout description: |- Adds a new consignment to a checkout. @@ -371,349 +4037,3759 @@ paths: * `postal_code` * `state_or_province` - summary: Add Consignment to Checkout - tags: - - Checkout Consignments operationId: CheckoutsConsignmentsByCheckoutIdPost - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json - required: true - - name: body - in: body required: true - description: '' schema: - $ref: '#/definitions/CreateConsignmentRequest' - x-examples: - application/json: - - address: - email: jane2@example.com - country_code: US - first_name: BigCommerce - last_name: Cart/Checkout - address1: 123 Main Street - city: Austin - state_or_province: Texas - state_or_province_code: TX - postal_code: '78751' - phone: '688546' - custom_fields: - - field_id: field_25 - field_value: Great! - line_items: - - item_id: 27556eb3-6537-4d08-b75e-1ac32d80934b - quantity: 1 - - address: - email: testing@example.com - country_code: US - first_name: Testing - last_name: BigCommerce - company: BigCommerce - address1: 111 Main Street - address2: '#1324' - city: Austin - state_or_province: Texas - state_or_province_code: TX - postal_code: '78751' - phone: '+5185158x1{1-5}' - custom_fields: - - field_id: field_25 - field_value: You're Welcome - line_items: - - item_id: 15429582-222e-499e-8d22-d2930a0cfc0e - quantity: 1 + type: string + default: application/json - name: include in: query - x-enum-elements: - - name: Enum_consignments.availableShippingOptions - description: '' - type: string - description: Include to get available shipping options - enum: - - consignments.available_shipping_options - - $ref: '#/parameters/includeShippingOption' + schema: + type: string + enum: + - consignments.available_shipping_options + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateConsignmentRequest' + required: true responses: '200': - $ref: '#/responses/CheckoutResponse' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + security: + - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - security: - - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true + x-codegen-request-body-name: body '/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments/{consignmentId}': put: + tags: + - Checkout Consignments + summary: Update Checkout Consignment description: |- Updates an existing consignment. Address, line item IDs or the shipping option ID can be updated using this endpoint. There are two steps to add a new address and shipping options with line items. 1. Add a new [consignment](/api-reference/store-management/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidpost) to a checkout. 2. Assign a shipping option to the new consignment by sending a `PUT` request to update the consignment's `shipping_option_id` with a returned value from `data.consignments[N].available_shipping_option[N].id` in step one. - summary: Update Checkout Consignment - tags: - - Checkout Consignments operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: consignmentId in: path - type: string - required: true - - name: body - in: body required: true - description: '' schema: - $ref: '#/definitions/UpdateConsignmentRequest' - x-examples: - Updating shipping optionID: - shipping_option_id: 9241669174884c2f2e83b3adabf03f83 - Updating address: - address: - email: jane2@example.com - country_code: US - first_name: Testing - last_name: BigCommerce - company: BigCommerce - address1: 1234 Main Street - address2: '1234' - city: Austin - state_or_province: Texas - state_or_province_code: TX - postal_code: '78751' - phone: '+481526687548x4{1-5}' - custom_fields: - - field_id: field_25 - field_value: You're Welcome - line_items: - - item_id: 15429582-222e-499e-8d22-d2930a0cfc0e - quantity: 1 + type: string - name: include in: query - required: false + description: Include to get available shipping options + schema: + type: string + enum: + - consignments.available_shipping_options + x-enum-elements: + - name: Enum_consignments.availableShippingOptions + description: '' x-enum-elements: - name: Enum_consignments.availableShippingOptions description: '' - type: string - description: Include to get available shipping options - enum: - - consignments.available_shipping_options + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConsignmentRequest' + required: true responses: '200': - $ref: '#/responses/CheckoutResponse' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text security: - X-Auth-Token: [] + x-codegen-request-body-name: body delete: + tags: + - Checkout Consignments + summary: Delete Checkout Consignment description: |- Removes an existing consignment from a checkout. Removing the last consigment will remove the Cart from the customer it is assigned to. Create a new redirect url for the customer to access it again. - summary: Delete Checkout Consignment - tags: - - Checkout Consignments operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdDelete - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: consignmentId in: path - type: string required: true + schema: + type: string responses: '200': - $ref: '#/responses/CheckoutResponse' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text security: - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true - - type: string - name: consignmentId - in: path - required: true '/stores/{store_hash}/v3/checkouts/{checkoutId}/coupons': post: - description: |- - Adds a *Coupon Code* to *Checkout*. + tags: + - Checkout Coupons + summary: Add Coupon to Checkout + description: |- + Adds a *Coupon Code* to *Checkout*. **Required Fields** * coupon_code **Limits** * Coupon codes have a 50 character limit. - summary: Add Coupon to Checkout - tags: - - Checkout Coupons operationId: CheckoutsCouponsByCheckoutIdPost - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json - required: true - - name: body - in: body required: true - description: '' schema: - $ref: '#/definitions/CouponCodeRequest' - x-examples: - application/json: - coupon_code: S2549JM0Y + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CouponCodeRequest' + required: true responses: '200': - $ref: '#/responses/CheckoutResponse' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12128565555' + custom_fields: + - field_id: string + field_value: string + id: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string + amount: 0 + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + security: + - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - security: - - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true + x-codegen-request-body-name: body '/stores/{store_hash}/v3/checkouts/{checkoutId}/coupons/{couponCode}': delete: - description: Deletes a *Coupon Code* from *Checkout*. - summary: Delete Checkout Coupon tags: - Checkout Coupons + summary: Delete Checkout Coupon + description: Deletes a *Coupon Code* from *Checkout*. operationId: CheckoutsCouponsByCheckoutIdAndCouponCodeDelete - produces: - - application/json parameters: - - name: checkoutId + - name: store_hash in: path - type: string required: true + schema: + type: string + - name: checkoutId + in: path description: Id of the Checkout + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: couponCode in: path - type: string - required: true description: 'The actual couponCode, not the couponId.' + required: true + schema: + type: string responses: '200': - $ref: '#/responses/CheckoutResponse' - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] + discounts: [] + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com + company: '' + address1: 123 Main Street + address2: '' + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} security: - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: checkoutId - in: path - required: true - - type: string - name: couponCode - in: path - required: true '/stores/{store_hash}/v3/checkouts/{checkoutId}/orders': post: - responses: - '200': - $ref: '#/responses/order_Resp' + tags: + - Checkout Orders summary: Create an Order description: |- Creates an order. @@ -724,1819 +7800,1800 @@ paths: * Order duplication creates the same order with a new order number with the incomplete status. * Once the order is paid, then the cart is deleted. * Cart deletion occurs if you are using BigCommerce to accept payments on orders. + operationId: createAnOrder parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json required: true + schema: + type: string + default: application/json - name: checkoutId in: path - type: string - required: true description: ID of the checkout (same as the cart ID). - tags: - - Checkout Orders - operationId: createAnOrder + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Order' + meta: + type: object + properties: {} + example: + data: + id: 75 + meta: {} security: - X-Auth-Token: [] - parameters: - - name: checkoutId - in: path - type: string - required: true - - type: string - name: store_hash - in: path - required: true '/stores/{store_hash}/v3/checkouts/settings': get: tags: - Checkout Settings + summary: Get Checkout Settings + description: Get checkout settings operationId: GetCheckoutSettings + parameters: + - name: store_hash + in: path + required: true + schema: + type: string responses: '200': - $ref: '#/responses/checkout_settings_resp' - description: Get checkout settings - summary: Get Checkout Settings + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/CheckoutsSettings' + meta: + type: object + properties: {} + example: + data: + custom_checkout_script_url: 'https://example.com/custom-checkout-script.js' + order_confirmation_use_custom_checkout_script: false + custom_order_confirmation_script_url: 'https://example.com/custom-order-confirmation-script.js' + custom_checkout_supports_uco_settings: false + meta: {} + WebDAV protocol: + example: + data: + custom_checkout_script_url: 'webdav:vtz-checkout/dist/auto-loader.js' + order_confirmation_use_custom_checkout_script: false + custom_order_confirmation_script_url: 'webdav:vtz-order-confirmation/dist/auto-loader.js' + meta: {} security: - X-Auth-Token: [] put: tags: - Checkout Settings + summary: Update Checkout Settings + description: Update checkout settings operationId: UpdateCheckoutSettings - responses: - '200': - $ref: '#/responses/checkout_settings_resp' parameters: - - name: body - in: body + - name: store_hash + in: path required: true schema: - $ref: '#/definitions/CheckoutsSettingsRequest' - summary: Update Checkout Settings - description: Update checkout settings + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutsSettingsRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/CheckoutsSettings' + meta: + type: object + properties: {} + example: + data: + custom_checkout_script_url: 'https://example.com/custom-checkout-script.js' + order_confirmation_use_custom_checkout_script: false + custom_order_confirmation_script_url: 'https://example.com/custom-order-confirmation-script.js' + custom_checkout_supports_uco_settings: false + meta: {} + WebDAV protocol: + example: + data: + custom_checkout_script_url: 'webdav:vtz-checkout/dist/auto-loader.js' + order_confirmation_use_custom_checkout_script: false + custom_order_confirmation_script_url: 'webdav:vtz-order-confirmation/dist/auto-loader.js' + meta: {} security: - X-Auth-Token: [] - parameters: - - type: string - name: store_hash - in: path - required: true -definitions: - Checkout: - title: Checkout - type: object - properties: - id: - description: '' - type: string - format: uuid - cart: - title: Cart - type: object - properties: - id: - description: 'Cart ID, provided after creating a cart with a POST.' - type: string - format: uuid - customer_id: - description: ID of the customer to which the cart belongs. - type: integer - format: int32 - email: - description: The cart's email. This is the same email that is used in the billing address. - type: string - currency: - title: Currency - type: object - properties: - code: - description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' - type: string - base_amount: - description: 'Sum of cart line-item amounts before cart-level discounts, coupons, or taxes.' - type: number - format: double - channel_id: - description: ID of channel - type: number - discount_amount: - description: Discounted amount. - type: number - format: double - cart_amount_inc_tax: - description: Sum of cart line-item amounts minus cart-level discounts and coupons including tax - type: number - format: double - cart_amount_ex_tax: - description: Sum of cart line-item amounts minus cart-level discounts and coupons excluding tax - type: number - format: double - coupons: - description: '' - type: array - items: - title: Applied Coupon +components: + schemas: + Checkout: + title: Checkout + type: object + x-internal: false + properties: + id: + type: string + description: '' + format: uuid + example: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + title: Cart + type: object + properties: + id: + type: string + description: 'Cart ID, provided after creating a cart with a POST.' + format: uuid + example: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: + type: integer + description: ID of the customer to which the cart belongs. + example: 1 + email: + type: string + description: The cart's email. This is the same email that is used in the billing address. + example: user@example.com + currency: + title: Currency type: object properties: code: - description: the coupon code - type: string - id: - description: The coupon ID. - type: integer - coupon_type: - description: Key name to identify the type of coupon. type: string - discounted_amount: - description: The discounted amount applied within a given context. - type: number - format: double - required: - - code - discounts: - description: '' - type: array - items: - title: Applied Discount + description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' + example: USD + base_amount: + type: number + description: 'Sum of cart line-item amounts before cart-level discounts, coupons, or taxes.' + format: double + example: 5 + channel_id: + type: number + description: ID of channel + discount_amount: + type: number + description: Discounted amount. + format: double + example: 0.5 + cart_amount_inc_tax: + type: number + description: Sum of cart line-item amounts minus cart-level discounts and coupons including tax + format: double + example: 4.14 + cart_amount_ex_tax: + type: number + description: Sum of cart line-item amounts minus cart-level discounts and coupons excluding tax + format: double + example: 3.6 + coupons: + type: array + description: '' + items: + title: Applied Coupon + type: object + properties: + code: + type: string + description: the coupon code + example: SHOPNOW + id: + type: integer + description: The coupon ID. + example: 1 + coupon_type: + type: string + description: Key name to identify the type of coupon. + example: percentage_discount + discounted_amount: + type: number + description: The discounted amount applied within a given context. + format: float + example: 0.9 + required: + - code + discounts: + type: array + description: '' + items: + title: Applied Discount + type: object + properties: + id: + type: string + description: ID of the applied discount. + example: 5eba1f1e-0ec5-40f7-8058-f7b452c7237d + discounted_amount: + type: number + description: The discounted amount applied within a given context. + format: double + example: 1.4 + line_items: + title: Line Item type: object properties: - id: - description: ID of the applied discount. - type: string - format: double - discounted_amount: - description: The discounted amount applied within a given context. - type: number - format: double - line_items: - title: Line Item - type: object - properties: - physical_items: - description: '' - type: array - items: - title: Item Physical - type: object - properties: - quantity: - description: '' - type: number - format: double - id: - description: The line-item ID. - type: string - variant_id: - description: '' - type: number - format: double - product_id: - description: '' - type: number - format: double - sku: - description: '' - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - is_taxable: - description: '' - type: boolean - image_url: - description: '' - type: string - discounts: - description: '' - type: array - items: - title: Applied Discount + physical_items: + type: array + description: '' + items: + title: Item Physical + type: object + properties: + quantity: + type: number + description: '' + format: double + id: + type: string + description: The line-item ID. + variant_id: + type: number + description: '' + format: double + product_id: + type: number + description: '' + format: double + sku: + type: string + description: '' + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + is_taxable: + type: boolean + description: '' + image_url: + type: string + description: '' + discounts: + type: array + description: '' + items: + title: Applied Discount + type: object + properties: + id: + type: integer + description: ID of the applied discount. + discounted_amount: + type: number + description: The discounted amount applied within a given context. + format: double + discount_amount: + type: number + description: The total value of all discounts applied to this item. + format: double + coupon_amount: + type: number + description: The total value of all coupons applied to this item. + format: double + original_price: + type: number + description: An item’s original price is the same as the product default price in the admin panel. + list_price: + type: number + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + format: double + sale_price: + type: number + description: Item's price after all discounts are applied. (The final price before tax calculation.) + format: double + extended_list_price: + type: number + description: Item's list price multiplied by the quantity. + format: double + extended_sale_price: + type: number + description: Item's sale price multiplied by the quantity. + format: double + is_require_shipping: + type: boolean + description: '' + is_mutable: + type: boolean + description: '' + parent_id: + type: number + description: '' + nullable: true + gift_wrapping: + title: Gift Wrapping type: object + nullable: true properties: - id: - description: ID of the applied discount. + name: + type: string + description: '' + message: type: string + description: '' + amount: + type: number + description: '' format: double - discounted_amount: - description: The discounted amount applied within a given context. + amount_as_integer: type: number + description: '' format: double - coupons: - description: 'When the line item uses a coupon, returns a number indicating the total discounted amount. Otherwise, returns an empty array.' - type: - - number - - array - items: {} - discount_amount: - description: The total value of all discounts applied to this item. - type: number - format: double - coupon_amount: - description: The total value of all coupons applied to this item. - type: number - format: double - original_price: - type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' - list_price: - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - type: number - format: double - sale_price: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extended_list_price: - description: Item's list price multiplied by the quantity. - type: number - format: double - extended_sale_price: - description: Item's sale price multiplied by the quantity. - type: number - format: double - is_require_shipping: - description: '' - type: boolean - is_mutable: - description: '' - type: boolean - parent_id: - description: '' - type: number - x-nullable: true - gift_wrapping: - title: Gift Wrapping - type: object - x-nullable: true - properties: - name: - description: '' - type: string - message: - description: '' - type: string - amount: - description: '' - type: number - format: double - amount_as_integer: - description: '' - type: number - format: double - required: - - quantity - digital_items: + required: + - quantity + digital_items: + type: array + description: '' + items: + title: Item Digital + type: object + properties: + quantity: + type: number + description: '' + format: double + id: + type: string + description: The line-item ID. + variant_id: + type: number + description: '' + format: double + parent_id: + type: number + description: '' + nullable: true + product_id: + type: number + description: '' + format: double + sku: + type: string + description: '' + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + is_mutable: + type: boolean + description: '' + is_require_shipping: + type: boolean + description: '' + is_taxable: + type: boolean + description: '' + image_url: + type: string + description: '' + discounts: + type: array + description: '' + items: + title: Applied Discount + type: object + properties: + id: + type: string + description: ID of the applied discount. + format: double + discounted_amount: + type: number + description: The discounted amount applied within a given context. + format: double + discount_amount: + type: number + description: The total value of all discounts applied to this item. + format: double + coupon_amount: + type: number + description: The total value of all coupons applied to this item. + format: double + original_price: + type: number + description: An item’s original price is the same as the product default price in the admin panel. + list_price: + type: number + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + format: double + sale_price: + type: number + description: Item's price after all discounts are applied. (The final price before tax calculation.) + format: double + extended_list_price: + type: number + description: Item's list price multiplied by the quantity. + format: double + extended_sale_price: + type: number + description: Item's sale price multiplied by the quantity. + format: double + required: + - quantity + gift_certificates: + type: array + description: '' + items: + title: Item Gift Certificate + type: object + properties: + theme: + type: string + description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + amount: + type: number + description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' + format: double + sender: + title: Contact Entity + type: object + properties: + name: + type: string + description: '' + email: + type: string + description: '' + recipient: + title: Contact Entity + type: object + properties: + name: + type: string + description: '' + email: + type: string + description: '' + id: + type: string + description: '' + name: + type: string + description: GiftCertificate-provided name that will appear in the control panel. + taxable: + type: boolean + description: '' + message: + type: string + description: Limited to 200 characters. + required: + - theme + - amount + - sender + - recipient + custom_items: + type: array + items: + type: object + properties: + quantity: + type: number + id: + type: string + extended_list_price: + type: number + list_price: + type: number + sku: + type: string + name: + type: string + image_url: + type: string + required: + - quantity + required: + - physical_items + - digital_items + - gift_certificates + created_time: + type: string + description: Time when the cart was created. + updated_time: + type: string + description: Time when the cart was last updated. + billing_address: + title: Address Response + allOf: + - title: Address Properties + properties: + first_name: + type: string + description: '' + last_name: + type: string + description: '' + email: + type: string + description: '' + company: + type: string + description: '' + address1: + type: string + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + state_or_province: + type: string + description: Represents state or province. + state_or_province_code: + type: string + description: '' + country_code: + type: string + description: '' + postal_code: + type: string + description: '' + phone: + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + type: string + description: '' + custom_fields: + type: array + description: '' + items: + title: Custom Field + type: object + properties: + field_id: + type: string + description: '' + field_value: + type: string + description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + - properties: + id: + type: string + description: '' + type: object + consignments: + type: array + description: '' + items: + title: Consignment + type: object + description: 'This allows us to have multiple addresses. Where there is only one address, this array will contain only one value, with all the items.' + properties: + id: + type: string description: '' + shippingAddress: + type: object + x-deprecated: true + address: + title: Address Response + allOf: + - title: Address Properties + properties: + first_name: + type: string + description: '' + last_name: + type: string + description: '' + email: + type: string + description: '' + company: + type: string + description: '' + address1: + type: string + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + state_or_province: + type: string + description: Represents state or province. + state_or_province_code: + type: string + description: '' + country_code: + type: string + description: '' + postal_code: + type: string + description: '' + phone: + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + type: string + description: '' + custom_fields: + type: array + description: '' + items: + title: Custom Field + type: object + properties: + field_id: + type: string + description: '' + field_value: + type: string + description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + required: + - email + - country_code + - properties: + id: + type: string + description: '' + type: object + available_shipping_options: type: array + description: This is available only when "include=consignments.available_shipping_options" is presented in the URL. items: - title: Item Digital + title: Selected Shipping Option type: object properties: - quantity: + description: + type: string description: '' - type: number - format: double id: - description: The line-item ID. type: string - variant_id: - description: '' - type: number - format: double - parent_id: - description: '' - type: number - x-nullable: true - product_id: - description: '' - type: number - format: double - sku: description: '' + type: type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - is_mutable: - description: '' - type: boolean - is_require_shipping: - description: '' - type: boolean - is_taxable: - description: '' - type: boolean + description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' image_url: - description: '' type: string - discounts: description: '' - type: array - items: - title: Applied Discount - type: object - properties: - id: - description: ID of the applied discount. - type: string - format: double - discounted_amount: - description: The discounted amount applied within a given context. - type: number - format: double - coupons: - description: 'When the line item uses a coupon, returns a number indicating the total discounted amount. Otherwise, returns an empty array.' - type: - - number - - array - items: {} - discount_amount: - description: The total value of all discounts applied to this item. - type: number - format: double - coupon_amount: - description: The total value of all coupons applied to this item. - type: number - format: double - original_price: - type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' - list_price: - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - type: number - format: double - sale_price: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extended_list_price: - description: Item's list price multiplied by the quantity. - type: number - format: double - extended_sale_price: - description: Item's sale price multiplied by the quantity. + cost: type: number + description: '' format: double - required: - - quantity - gift_certificates: - description: '' + transit_time: + type: string + description: An estimate of the arrival time. + additional_description: + type: string + description: 'ReadOnly, Field used for Shipping Provider API.' + selected_shipping_option: + title: Selected Shipping Option + type: object + properties: + description: + type: string + description: '' + id: + type: string + description: '' + type: + type: string + description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' + image_url: + type: string + description: '' + cost: + type: number + description: '' + transit_time: + type: string + description: An estimate of the arrival time. + additional_description: + type: string + description: 'ReadOnly, Field used for Shipping Provider API.' + coupon_discounts: type: array + description: List of consignment discounts applied through coupons items: - title: Item Gift Certificate + title: Consignment Coupon Discount type: object properties: - theme: - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + code: type: string + description: Coupon code that applied this discount amount: - description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' type: number - format: double - sender: - title: Contact Entity - type: object - properties: - name: - description: '' - type: string - email: - description: '' - type: string - recipient: - title: Contact Entity - type: object - properties: - name: - description: '' - type: string - email: - description: '' - type: string - id: - description: '' - type: string - name: - description: GiftCertificate-provided name that will appear in the control panel. - type: string - taxable: description: '' - type: boolean - message: - description: Limited to 200 characters. - type: string - required: - - theme - - amount - - sender - - recipient - custom_items: + format: double + discounts: type: array + description: List of consignment discounts applied through cart level discounts items: + title: Consignment Discount type: object properties: - quantity: - type: number id: - type: string - extended_list_price: - type: number - list_price: - type: number - sku: - type: string - name: - type: string - image_url: - type: string - required: - - quantity - required: - - physical_items - - digital_items - - gift_certificates - created_time: - description: Time when the cart was created. - type: string - updated_time: - description: Time when the cart was last updated. - type: string - billing_address: - title: Address Response - allOf: - - title: Address Properties - properties: - first_name: - description: '' - type: string - last_name: - description: '' - type: string - email: - type: string - description: '' - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - state_or_province: - description: Represents state or province. - type: string - state_or_province_code: - description: '' - type: string - country_code: - type: string - description: '' - postal_code: - description: '' - type: string - phone: + type: integer + description: Discount rule ID that applied this discount + shipping_cost_inc_tax: + type: number + description: The shipping cost for this consignment including tax. + format: double + shipping_cost_ex_tax: + type: number + description: The shipping cost for this consignment excluding tax. + format: double + handling_cost_inc_tax: + type: number + description: The handling cost of shipping for this consignment including tax. + format: double + handling_cost_ex_tax: + type: number + description: The handling cost of shipping for this consignment excluding tax. + format: double + line_item_ids: + type: array description: '' + items: + type: string + taxes: + type: array + description: '' + items: + title: Tax + type: object + properties: + name: type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - custom_fields: + description: Name of the tax. + amount: + type: number description: '' + format: double + coupons: + type: array + description: Coupons applied at checkout level. + items: + $ref: '#/components/schemas/AppliedCoupon' + order_id: + type: string + description: '' + nullable: true + shipping_cost_total_inc_tax: + type: number + description: Shipping cost before any discounts are applied including tax. + format: double + shipping_cost_total_ex_tax: + type: number + description: Shipping cost before any discounts are applied excluding tax. + format: double + handling_cost_total_inc_tax: + type: number + description: Handling cost for all consignments including tax. + format: double + handling_cost_total_ex_tax: + type: number + description: Handling cost for all consignments excluding tax. + format: double + tax_total: + type: number + description: '' + format: double + subtotal_inc_tax: + type: number + description: Subtotal of the checkout before applying item level discounts including tax. + format: double + subtotal_ex_tax: + type: number + description: Subtotal of the checkout before applying item level discounts excluding tax. + format: double + grand_total: + type: number + description: 'The total payable amount, before applying any store credit or gift certificate.' + format: double + created_time: + type: string + description: Time when the cart was created. + updated_time: + type: string + description: Time when the cart was last updated. + customer_message: + type: string + description: Shopper's message provided as details for the order to be created from this checkout. + promotions: + type: array + items: + type: object + properties: + banners: + title: Banner type: array items: - title: Custom Field type: object properties: - field_id: - description: '' + id: type: string - field_value: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + description: Id of the promotion. + type: type: string - required: - - email - - country_code - - properties: - id: + description: Type of the banner + page: + type: array + description: An array of the locations where the banner will display + items: + type: string + text: + type: string + description: Text of the banner + Checkout_Put: + title: Checkout_Put + required: + - customer_message + type: object + properties: + customer_message: + type: string + description: '' + x-internal: false + AppliedCoupon: + title: Applied Coupon + required: + - code + type: object + properties: + code: + type: string + description: the coupon code + example: SHOPNOW + id: + type: integer + description: The coupon ID. + example: 1 + coupon_type: + type: string + description: Key name to identify the type of coupon. + example: percentage_discount + discounted_amount: + type: number + description: The discounted amount applied within a given context. + format: float + example: 0.9 + x-internal: false + AddressProperties: + title: Address Properties + required: + - country_code + - email + type: object + properties: + first_name: + type: string + description: '' + last_name: + type: string + description: '' + email: + type: string + description: '' + company: + type: string + description: '' + address1: + type: string + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + state_or_province: + type: string + description: Represents state or province. + state_or_province_code: + type: string + description: '' + country_code: + type: string + description: '' + postal_code: + type: string + description: '' + phone: + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + type: string + description: '' + custom_fields: + type: array + description: 'You can retreive custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' + items: + title: Custom Field + type: object + properties: + field_id: + type: string description: '' + field_value: type: string - type: object - consignments: - description: '' - type: array - items: - title: Consignment - description: 'This allows us to have multiple addresses. Where there is only one address, this array will contain only one value, with all the items.' + description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + x-internal: false + CreateConsignmentRequest: + title: Create Consignment Request + type: object + properties: + address: + title: Address Properties + required: + - country_code + - email type: object properties: - id: + first_name: + type: string description: '' + last_name: type: string - shippingAddress: - type: object - x-deprecated: true - address: - title: Address Response - allOf: - - title: Address Properties - properties: - first_name: - description: '' - type: string - last_name: - description: '' - type: string - email: - type: string - description: '' - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - state_or_province: - description: Represents state or province. - type: string - state_or_province_code: - description: '' - type: string - country_code: - type: string - description: '' - postal_code: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - custom_fields: - description: '' - type: array - items: - title: Custom Field - type: object - properties: - field_id: - description: '' - type: string - field_value: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' - type: string - required: - - email - - country_code - - properties: - id: - description: '' - type: string - type: object - available_shipping_options: - description: This is available only when "include=consignments.available_shipping_options" is presented in the URL. - type: array - items: - title: Selected Shipping Option - type: object - properties: - description: - description: '' - type: string - id: - description: '' - type: string - type: - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' - type: string - image_url: - description: '' - type: string - cost: - description: '' - type: number - format: double - transit_time: - description: An estimate of the arrival time. - type: string - additional_description: - type: string - description: 'ReadOnly, Field used for Shipping Provider API.' - selected_shipping_option: - title: Selected Shipping Option - type: object - properties: - description: - description: '' - type: string - id: - description: '' - type: string - type: - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' - type: string - image_url: - description: '' - type: string - cost: - description: '' - type: number - transit_time: - description: An estimate of the arrival time. - type: string - additional_description: - type: string - description: 'ReadOnly, Field used for Shipping Provider API.' - coupon_discounts: - description: List of consignment discounts applied through coupons - type: array - items: - title: Consignment Coupon Discount - type: object - properties: - code: - description: Coupon code that applied this discount - type: string - amount: - description: '' - type: number - format: double - discounts: - description: List of consignment discounts applied through cart level discounts - type: array - items: - title: Consignment Discount - type: object - properties: - id: - description: Discount rule ID that applied this discount - type: integer - shipping_cost_inc_tax: - description: The shipping cost for this consignment including tax. - type: number - format: double - shipping_cost_ex_tax: - description: The shipping cost for this consignment excluding tax. - type: number - format: double - handling_cost_inc_tax: - description: The handling cost of shipping for this consignment including tax. - type: number - format: double - handling_cost_ex_tax: - description: The handling cost of shipping for this consignment excluding tax. - type: number - format: double - line_item_ids: description: '' - type: array - items: - type: string - taxes: - description: '' - type: array - items: - title: Tax - type: object - properties: - name: - description: Name of the tax. + email: + type: string + description: '' + company: + type: string + description: '' + address1: + type: string + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + state_or_province: + type: string + description: Represents state or province. + state_or_province_code: + type: string + description: '' + country_code: + type: string + description: '' + postal_code: + type: string + description: '' + phone: type: string - amount: description: '' - type: number - format: double - coupons: - description: Coupons applied at checkout level. - type: array - items: - $ref: '#/definitions/AppliedCoupon' - order_id: - description: '' - type: string - shipping_cost_total_inc_tax: - description: Shipping cost before any discounts are applied including tax. - type: number - format: double - shipping_cost_total_ex_tax: - description: Shipping cost before any discounts are applied excluding tax. - type: number - format: double - handling_cost_total_inc_tax: - description: Handling cost for all consignments including tax. - type: number - format: double - handling_cost_total_ex_tax: - description: Handling cost for all consignments excluding tax. - type: number - format: double - tax_total: - description: '' - type: number - format: double - subtotal_inc_tax: - description: Subtotal of the checkout before applying item level discounts including tax. - type: number - format: double - subtotal_ex_tax: - description: Subtotal of the checkout before applying item level discounts excluding tax. - type: number - format: double - grand_total: - description: 'The total payable amount, before applying any store credit or gift certificate.' - type: number - format: double - created_time: - description: Time when the cart was created. - type: string - updated_time: - description: Time when the cart was last updated. - type: string - customer_message: - description: Shopper's message provided as details for the order to be created from this checkout. - type: string - promotions: - description: '' - type: object - properties: - banners: - title: Banner + custom_fields: + type: array + description: 'You can retreive custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' + items: + title: Custom Field + type: object + properties: + field_id: + type: string + description: '' + field_value: + type: string + description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + line_items: + type: array + description: '' + items: + title: Consignment Line Item + required: + - item_id + - quantity type: object properties: - id: - description: Id of the promotion. - type: string - type: - description: Type of the banner - type: string - page: - description: An array of the locations where the banner will display - type: array - items: - type: string - text: - description: Text of the banner + item_id: type: string - x-internal: false - Checkout_Put: - title: Checkout_Put - type: object - properties: - customer_message: - description: '' - type: string - required: - - customer_message - x-internal: false - AppliedCoupon: - title: Applied Coupon - type: object - properties: - code: - description: the coupon code - type: string - id: - description: The coupon ID. - type: number - discounted_amount: - description: The discounted amount applied within a given context. - type: number - format: double - coupon_type: - type: integer - enum: - - 1 - - 2 - - 3 - - 4 - - 5 - description: |- - |Type `int`|Type Name| - |-|-| - |`0`|`per_item_discount`| - |`1`|`percentage_discount`| - |`2`|`per_total_discount`| - |`3`|`shipping_discount`| - |`4`|`free_shipping`| - |`5`|`promotion`| - required: - - code - x-internal: false - AddressProperties: - title: Address Properties - type: object - properties: - first_name: - description: '' - type: string - last_name: - description: '' - type: string - email: - type: string - description: '' - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - state_or_province: - description: Represents state or province. - type: string - state_or_province_code: - description: '' - type: string - country_code: - type: string - description: '' - postal_code: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - custom_fields: - description: 'You can retreive custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' - type: array - items: - title: Custom Field + description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' + quantity: + type: integer + description: '' + format: int32 + x-internal: false + UpdateConsignmentRequest: + title: Update Consignment Request + type: object + properties: + address: + title: Address Properties + required: + - country_code + - email type: object properties: - field_id: + first_name: + type: string description: '' + last_name: type: string - field_value: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + description: '' + email: type: string - required: - - email - - country_code - x-internal: false - CreateConsignmentRequest: - title: Create Consignment Request - type: object - properties: - address: - title: Address Properties - type: object - properties: - first_name: - description: '' - type: string - last_name: - description: '' - type: string - email: - type: string - description: '' - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - state_or_province: - description: Represents state or province. - type: string - state_or_province_code: - description: '' - type: string - country_code: - type: string - description: '' - postal_code: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - custom_fields: - description: 'You can retreive custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' - type: array - items: - title: Custom Field - type: object - properties: - field_id: - description: '' - type: string - field_value: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' - type: string - required: - - email - - country_code - line_items: - description: '' - type: array - items: - title: Consignment Line Item - type: object - properties: - item_id: - description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' + description: '' + company: type: string - quantity: description: '' - type: integer - format: int32 - required: - - item_id - - quantity - x-internal: false - UpdateConsignmentRequest: - title: Update Consignment Request - description: One or more of these three fields are mandatory. `address` and `line_items` can be updated in one request. `shipping_option_id` has to be updated in a separate request since changing the address or line items can invalidate the previously available shipping options. - type: object - properties: - address: - title: Address Properties - type: object - properties: - first_name: - description: '' - type: string - last_name: - description: '' - type: string - email: - type: string - description: '' - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - state_or_province: - description: Represents state or province. - type: string - state_or_province_code: - description: '' - type: string - country_code: - type: string - description: '' - postal_code: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - custom_fields: - description: '' - type: array - items: - title: Custom Field - type: object - properties: - field_id: - description: '' - type: string - field_value: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' - type: string - required: - - email - - country_code - line_items: - description: '' - type: array - items: - title: Consignment Line Item - type: object - properties: - item_id: - description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' + address1: type: string - quantity: description: '' - type: integer - format: int32 - required: - - item_id - - quantity - shipping_option_id: - description: '' - type: string - x-internal: false - CouponCodeRequest: - title: Coupon Code Request - type: object - properties: - coupon_code: - description: Coupon codes have a 50 character limit. - type: string - x-internal: false - Order: - type: object - title: Order - properties: - id: - type: integer - example: 75 - description: The order Id. - x-internal: false - CheckoutsSettings: - type: object - title: Checkouts Settings - properties: - custom_checkout_script_url: - type: string - order_confirmation_use_custom_checkout_script: - type: boolean - custom_order_confirmation_script_url: - type: string - custom_checkout_supports_uco_settings: - type: boolean - CheckoutsSettingsRequest: - title: Checkouts settings request - type: object - properties: - custom_checkout_script_url: - type: string - description: 'Custom checkout script url to replace our default checkout. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' - order_confirmation_use_custom_checkout_script: - type: boolean - description: When order_confirmation_use_custom_checkout_script=true we default custom_order_confirmation_script_url to empty string. - custom_order_confirmation_script_url: - type: string - description: 'Custom order confirmation script url to replace our default order confirmation. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' - custom_checkout_supports_uco_settings: - type: boolean - description: This checkout supports Optimized One-Page Checkout settings. - description: '' -parameters: - checkoutId: - name: checkoutId - in: path - type: string - required: true - description: Id of the Checkout - addressId: - name: addressId - in: path - type: integer - required: true - consignmentId: - name: consignmentId - in: path - type: string - required: true - couponCode: - name: couponCode - in: path - type: string - required: true - description: 'The actual couponCode, not the couponId.' - Accept: - name: Accept - in: header - type: string - default: application/json - required: true - Content-Type: - name: Content-Type - in: header - type: string - default: application/json - required: true - includeShippingOption: - name: include - in: query - type: string - enum: - - consignments.available_shipping_options -securityDefinitions: - X-Auth-Token: - type: apiKey - in: header - name: X-Auth-Token - description: '' -tags: - - name: Checkout - - name: Checkout Billing Address - - name: Checkout Consignments - - name: Checkout Coupons - - name: Checkout Discounts - - name: Checkout Orders - - name: Checkout Settings -responses: - CheckoutResponse: - description: '' - schema: + address2: + type: string + description: '' + city: + type: string + description: '' + state_or_province: + type: string + description: Represents state or province. + state_or_province_code: + type: string + description: '' + country_code: + type: string + description: '' + postal_code: + type: string + description: '' + phone: + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + type: string + description: '' + custom_fields: + type: array + description: '' + items: + title: Custom Field + type: object + properties: + field_id: + type: string + description: '' + field_value: + type: string + description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + line_items: + type: array + description: '' + items: + title: Consignment Line Item + required: + - item_id + - quantity + type: object + properties: + item_id: + type: string + description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' + quantity: + type: integer + description: '' + format: int32 + shipping_option_id: + type: string + description: '' + description: One or more of these three fields are mandatory. `address` and `line_items` can be updated in one request. `shipping_option_id` has to be updated in a separate request since changing the address or line items can invalidate the previously available shipping options. + x-internal: false + CouponCodeRequest: + title: Coupon Code Request type: object properties: - data: - $ref: '#/definitions/Checkout' - examples: - Available Shipping Options: - data: - id: 306d57d7-124e-4112-82cd-35e060c0d4d9 - cart: - id: 306d57d7-124e-4112-82cd-35e060c0d4d9 - customer_id: 11 - channel_id: 1 - email: janedoe@example.com - currency: - code: USD - base_amount: 31.95 - discount_amount: 0 - cart_amount_inc_tax: 33.23 - cart_amount_ex_tax: 31.95 - coupons: 0 - discounts: - - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e - discounted_amount: 0 - line_items: - physical_items: - - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e - parent_id: 123 - variant_id: 359 - product_id: 188 - sku: DUST1 - name: Hello - url: 'https://{store_hash}/all/dustpan-brush/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + coupon_code: + type: string + description: Coupon codes have a 50 character limit. + x-internal: false + Order: + title: Order + type: object + properties: + id: + type: integer + description: The order Id. + example: 75 + x-internal: false + CheckoutsSettings: + title: Checkouts Settings + type: object + properties: + custom_checkout_script_url: + type: string + order_confirmation_use_custom_checkout_script: + type: boolean + custom_order_confirmation_script_url: + type: string + custom_checkout_supports_uco_settings: + type: boolean + CheckoutsSettingsRequest: + title: Checkouts settings request + type: object + properties: + custom_checkout_script_url: + type: string + description: 'Custom checkout script url to replace our default checkout. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' + order_confirmation_use_custom_checkout_script: + type: boolean + description: When order_confirmation_use_custom_checkout_script=true we default custom_order_confirmation_script_url to empty string. + custom_order_confirmation_script_url: + type: string + description: 'Custom order confirmation script url to replace our default order confirmation. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' + custom_checkout_supports_uco_settings: + type: boolean + description: This checkout supports Optimized One-Page Checkout settings. + description: '' + responses: + CheckoutResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Checkout' + Available Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 0.9 + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + gift_wrapping: {} + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce + address1: 123 Main Street + address2: Apt 1 + city: Austin + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125685555' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] discounts: [] - coupons: [] - discount_amount: 0 - coupon_amount: 0 - original_price: 35.95 - list_price: 31.95 - sale_price: 33.23 - extended_list_price: 31.95 - extended_sale_price: 33.23 - is_require_shipping: true - gift_wrapping: {} - digital_items: [] - gift_certificates: [] - custom_items: [] - created_time: '2019-08-05T15:38:14+00:00' - updated_time: '2019-08-05T15:41:28+00:00' - billing_address: - id: 5d484d668e5aa - first_name: null - last_name: null - email: janedoe@example.com - company: BigCommerce - address1: 123 Main Street - address2: Apt 1 - city: Austin - state_or_province: '' - state_or_province_code: '' - country: '' - country_code: '' - postal_code: null - phone: null - custom_fields: [] - consignments: - - id: 5d484e28d20a8 - shipping_cost_inc_tax: 0 - shipping_cost_ex_tax: 0 - handling_cost_inc_tax: 0 - handling_cost_ex_tax: 0 - coupon_discounts: [] - discounts: [] - line_item_ids: - - 8edef915-8e8e-4ebd-bece-31fbb1191a7e - address: - first_name: BigCommerce - last_name: Cart/Checkout - email: jane2@example.com - company: '' + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + available_shipping_options: + - id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + - id: 722d78b5120de60a725e41be9bb8d999 + type: shipping_flatrate + description: Flat Rate + image_url: '' + cost: 12 + transit_time: '' + additional_description: '' + - id: 71090fa93c8985348892543c3f4887b6 + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + image_url: '' + cost: 43.9 + transit_time: 1 business day + additional_description: '' + taxes: + - name: Tax + amount: 1.28 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.28 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 33.23 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Selected Shipping Options: + example: + data: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + cart: + id: 306d57d7-124e-4112-82cd-35e060c0d4d9 + customer_id: 11 + channel_id: 1 + email: janedoe@example.com + currency: + code: USD + base_amount: 31.95 + discount_amount: 0 + cart_amount_inc_tax: 33.23 + cart_amount_ex_tax: 31.95 + coupons: [] + discounts: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + discounted_amount: 0 + line_items: + physical_items: + - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e + parent_id: 123 + variant_id: 359 + product_id: 188 + sku: DUST1 + name: Hello + url: 'https://{store_hash}/all/dustpan-brush/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35.95 + list_price: 31.95 + sale_price: 33.23 + extended_list_price: 31.95 + extended_sale_price: 33.23 + is_require_shipping: true + digital_items: [] + gift_certificates: [] + custom_items: [] + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + billing_address: + id: 5d484d668e5aa + first_name: Jane + last_name: Doe + email: janedoe@example.com + company: BigCommerce address1: 123 Main Street - address2: '' + address2: Apt 1 city: Austin - state_or_province: Texas - state_or_province_code: TX - country: United States - country_code: US - postal_code: '78751' - phone: '688546' - customFields: - - field_id: field_25 - field_value: Great! - available_shipping_options: - - id: 006a58a98c9a844225552ee2a9c60ca8 - type: shipping_byweight - description: Ship by Weight - image_url: '' - cost: 8 - transit_time: '' - additional_description: '' - - id: 722d78b5120de60a725e41be9bb8d999 - type: shipping_flatrate - description: Flat Rate - image_url: '' - cost: 12 - transit_time: '' - additional_description: '' - - id: 71090fa93c8985348892543c3f4887b6 - type: shipping_upsready - description: UPS® (UPS Next Day Air®) - image_url: '' - cost: 43.9 - transit_time: 1 business day - additional_description: '' - taxes: - - name: Tax - amount: 1.28 - coupons: [] - order_id: null - shipping_cost_total_inc_tax: 0 - shipping_cost_total_ex_tax: 0 - handling_cost_total_inc_tax: 0 - handling_cost_total_ex_tax: 0 - tax_total: 1.28 - subtotal_inc_tax: 33.23 - subtotal_ex_tax: 31.95 - grand_total: 33.23 - created_time: '2019-08-05T15:38:14+00:00' - updated_time: '2019-08-05T15:41:28+00:00' - customer_message: '' - meta: {} - Selected Shipping Options: - data: - id: 306d57d7-124e-4112-82cd-35e060c0d4d9 - cart: - id: 306d57d7-124e-4112-82cd-35e060c0d4d9 - customer_id: 11 - channel_id: 1 - email: janedoe@example.com - currency: - code: USD - base_amount: 31.95 - discount_amount: 0 - cart_amount_inc_tax: 33.23 - cart_amount_ex_tax: 31.95 - coupons: [] - discounts: - - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e - discounted_amount: 0 - line_items: - physical_items: - - id: 8edef915-8e8e-4ebd-bece-31fbb1191a7e - parent_id: 123 - variant_id: 359 - product_id: 188 - sku: DUST1 - name: Hello - url: 'https://{store_hash}/all/dustpan-brush/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/188/images/460/dustpan1_1024x1024_1024x1024__43447__69128.1534344539.330.500.jpg?c=2' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '' + phone: '12125559659' + custom_fields: [] + consignments: + - id: 5d484e28d20a8 + shipping_cost_inc_tax: 8.32 + shipping_cost_ex_tax: 8 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + coupon_discounts: [] discounts: [] - coupons: [] - discount_amount: 0 - coupon_amount: 0 - original_price: 35.95 - list_price: 31.95 - sale_price: 33.23 - extended_list_price: 31.95 - extended_sale_price: 33.23 - is_require_shipping: true - gift_wrapping: null - digital_items: [] - gift_certificates: [] - custom_items: [] - created_time: '2019-08-05T15:38:14+00:00' - updated_time: '2019-08-05T15:41:28+00:00' - billing_address: - id: 5d484d668e5aa - first_name: null - last_name: null - email: janedoe@example.com - company: BigCommerce - address1: 123 Main Street - address2: Apt 1 - city: Austin - state_or_province: '' - state_or_province_code: '' - country: '' - country_code: '' - postal_code: null - phone: null - custom_fields: [] - consignments: - - id: 5d484e28d20a8 - shipping_cost_inc_tax: 8.32 - shipping_cost_ex_tax: 8 - handling_cost_inc_tax: 0 - handling_cost_ex_tax: 0 - coupon_discounts: [] - discounts: [] - line_item_ids: - - 8edef915-8e8e-4ebd-bece-31fbb1191a7e - selected_shipping_option: - id: 006a58a98c9a844225552ee2a9c60ca8 - type: shipping_byweight - description: Ship by Weight - image_url: '' - cost: 8 - transit_time: '' - additional_description: '' - address: - first_name: BigCommerce - last_name: Cart/Checkout - email: jane2@example.com + line_item_ids: + - 8edef915-8e8e-4ebd-bece-31fbb1191a7e + selected_shipping_option: + id: 006a58a98c9a844225552ee2a9c60ca8 + type: shipping_byweight + description: Ship by Weight + image_url: '' + cost: 8 + transit_time: '' + additional_description: '' + address: + first_name: BigCommerce + last_name: Cart/Checkout + email: jane2@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + state_or_province: Texas + state_or_province_code: TX + country: United States + country_code: US + postal_code: '78751' + phone: '688546' + customFields: + - field_id: field_25 + field_value: Great! + taxes: + - name: Tax + amount: 1.6 + coupons: [] + shipping_cost_total_inc_tax: 8.32 + shipping_cost_total_ex_tax: 8 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 1.6 + subtotal_inc_tax: 33.23 + subtotal_ex_tax: 31.95 + grand_total: 41.55 + created_time: '2019-08-05T15:38:14+00:00' + updated_time: '2019-08-05T15:41:28+00:00' + customer_message: '' + meta: {} + Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 25 + channel_id: 1 + email: customer@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 53.6 + cart_amount_ex_tax: 53.6 + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 7 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 6.4 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: + - id: coupon + discounted_amount: 6.4 + coupons: 6.4 + discount_amount: 0 + coupon_amount: 6.4 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: + - id: coupon + discounted_amount: 7 + coupons: 7 + discount_amount: 0 + coupon_amount: 7 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + billing_address: + id: 618a9ce18173e + first_name: Jane + last_name: Doe + email: customer@example.com company: '' address1: 123 Main Street address2: '' - city: Austin - state_or_province: Texas - state_or_province_code: TX - country: United States - country_code: US - postal_code: '78751' - phone: '688546' - customFields: - - field_id: field_25 - field_value: Great! - taxes: - - name: Tax - amount: 1.6 - coupons: [] - order_id: null - shipping_cost_total_inc_tax: 8.32 - shipping_cost_total_ex_tax: 8 - handling_cost_total_inc_tax: 0 - handling_cost_total_ex_tax: 0 - tax_total: 1.6 - subtotal_inc_tax: 33.23 - subtotal_ex_tax: 31.95 - grand_total: 41.55 - created_time: '2019-08-05T15:38:14+00:00' - updated_time: '2019-08-05T15:41:28+00:00' - customer_message: '' - meta: {} - Coupon Applied: - data: - id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 - cart: - id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 - customer_id: 25 - channel_id: 1 - email: customer@example.com - currency: - code: USD - base_amount: 67 - discount_amount: 0 - cart_amount_inc_tax: 53.6 - cart_amount_ex_tax: 53.6 - coupons: - - id: 1 - code: SHOP20 - coupon_type: percentage_discount - discounted_amount: 13.4 - discounts: - - id: 985c79a3-4c94-4104-923a-2e3d4572e72d - discounted_amount: 7 - - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 - discounted_amount: 6.4 - line_items: - physical_items: - - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 - parent_id: null - variant_id: 528 - product_id: 145 - sku: htltwl-001 - name: Hotel Towel - url: 'https://example.com/hotel-towel/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' - discounts: - - id: coupon - discounted_amount: 6.4 - coupons: 6.4 - discount_amount: 0 - coupon_amount: 6.4 - original_price: 32 - list_price: 32 - sale_price: 32 - extended_list_price: 32 - extended_sale_price: 32 - is_require_shipping: true - gift_wrapping: null - is_mutable: true - digital_items: - - id: 985c79a3-4c94-4104-923a-2e3d4572e72d - parent_id: null - variant_id: 182 - product_id: 138 - sku: ebk-001 - name: eBook Download - url: 'https://example.com/digital/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' - discounts: - - id: coupon - discounted_amount: 7 - coupons: 7 - discount_amount: 0 - coupon_amount: 7 - original_price: 35 - list_price: 35 - sale_price: 35 - extended_list_price: 35 - extended_sale_price: 35 - is_require_shipping: false - is_mutable: true - gift_certificates: [] - custom_items: [] - created_time: '2021-11-08T22:46:23+00:00' - updated_time: '2021-11-09T16:08:01+00:00' - billing_address: - id: 618a9ce18173e - first_name: null - last_name: null - email: customer@example.com - company: '' - address1: null - address2: null - city: null - state_or_province: '' - state_or_province_code: '' - country: '' - country_code: '' - postal_code: null - phone: '' - custom_fields: [] - consignments: [] - taxes: - - name: Tax - amount: 0 - coupons: - - id: 1 - code: SHOP20 - coupon_type: percentage_discount - discounted_amount: 13.4 - order_id: null - shipping_cost_total_inc_tax: 0 - shipping_cost_total_ex_tax: 0 - handling_cost_total_inc_tax: 0 - handling_cost_total_ex_tax: 0 - tax_total: 0 - subtotal_inc_tax: 67 - subtotal_ex_tax: 67 - grand_total: 53.6 - created_time: '2021-11-08T22:46:23+00:00' - updated_time: '2021-11-09T16:08:01+00:00' - customer_message: '' - meta: {} - No Coupon Applied: - data: - id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 - cart: - id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 - customer_id: 0 - channel_id: 1 - email: '' - currency: - code: USD - base_amount: 67 - discount_amount: 0 - cart_amount_inc_tax: 67 - cart_amount_ex_tax: 67 - coupons: [] - discounts: - - id: 985c79a3-4c94-4104-923a-2e3d4572e72d - discounted_amount: 0 - - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 - discounted_amount: 0 - line_items: - physical_items: - - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 - parent_id: null - variant_id: 528 - product_id: 145 - sku: htltwl-001 - name: Hotel Towel - url: 'https://example.com/hotel-towel/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' - discounts: [] - coupons: [] - discount_amount: 0 - coupon_amount: 0 - original_price: 32 - list_price: 32 - sale_price: 32 - extended_list_price: 32 - extended_sale_price: 32 - is_require_shipping: true - gift_wrapping: null - is_mutable: true - digital_items: - - id: 985c79a3-4c94-4104-923a-2e3d4572e72d - parent_id: null - variant_id: 182 - product_id: 138 - sku: ebk-001 - name: eBook Download - url: 'https://example.com/digital/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' - discounts: [] - coupons: [] - discount_amount: 0 - coupon_amount: 0 - original_price: 35 - list_price: 35 - sale_price: 35 - extended_list_price: 35 - extended_sale_price: 35 - is_require_shipping: false - is_mutable: true - gift_certificates: [] - custom_items: [] - created_time: '2021-11-08T22:46:23+00:00' - updated_time: '2021-11-09T16:06:56+00:00' - billing_address: {} - consignments: [] - taxes: - - name: Tax - amount: 0 - coupons: [] - order_id: null - shipping_cost_total_inc_tax: 0 - shipping_cost_total_ex_tax: 0 - handling_cost_total_inc_tax: 0 - handling_cost_total_ex_tax: 0 - tax_total: 0 - subtotal_inc_tax: 67 - subtotal_ex_tax: 67 - grand_total: 67 - created_time: '2021-11-08T22:46:23+00:00' - updated_time: '2021-11-09T16:06:56+00:00' - customer_message: '' - meta: {} - Include promotions: - data: - id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 - cart: - id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 - customer_id: 0 - channel_id: 1 - email: '' - currency: - code: USD - base_amount: 67 - discount_amount: 0 - cart_amount_inc_tax: 67 - cart_amount_ex_tax: 67 - coupons: [] - discounts: - - id: 985c79a3-4c94-4104-923a-2e3d4572e72d - discounted_amount: 0 - - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 - discounted_amount: 0 - line_items: - physical_items: - - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 - parent_id: null - variant_id: 528 - product_id: 145 - sku: htltwl-001 - name: Hotel Towel - url: 'https://example.com/hotel-towel/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' - discounts: [] - coupons: [] - discount_amount: 0 - coupon_amount: 0 - original_price: 32 - list_price: 32 - sale_price: 32 - extended_list_price: 32 - extended_sale_price: 32 - is_require_shipping: true - gift_wrapping: null - is_mutable: true - digital_items: - - id: 985c79a3-4c94-4104-923a-2e3d4572e72d - parent_id: null - variant_id: 182 - product_id: 138 - sku: ebk-001 - name: eBook Download - url: 'https://example.com/digital/' - quantity: 1 - is_taxable: true - image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' - discounts: [] - coupons: [] - discount_amount: 0 - coupon_amount: 0 - original_price: 35 - list_price: 35 - sale_price: 35 - extended_list_price: 35 - extended_sale_price: 35 - is_require_shipping: false - is_mutable: true - gift_certificates: [] - custom_items: [] - created_time: '2021-11-08T22:46:23+00:00' - updated_time: '2021-11-09T16:06:56+00:00' - billing_address: {} - consignments: [] - taxes: - - name: Tax - amount: 0 - coupons: [] - order_id: null - shipping_cost_total_inc_tax: 0 - shipping_cost_total_ex_tax: 0 - handling_cost_total_inc_tax: 0 - handling_cost_total_ex_tax: 0 - tax_total: 0 - subtotal_inc_tax: 67 - subtotal_ex_tax: 67 - grand_total: 67 - created_time: '2021-11-08T22:46:23+00:00' - updated_time: '2021-11-09T16:06:56+00:00' - customer_message: '' - promotions: - - banners: - - id: '3' - type: applied - page: - - homepage - - cartpage - text: Some text - meta: {} - example-1: - data: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 - cart: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 - customer_id: 0 - email: string - currency: - code: string - base_amount: 0 - channel_id: 0 - discount_amount: 0 - cart_amount_inc_tax: 0 - cart_amount_ex_tax: 0 - coupons: - - code: string - id: 0 - coupon_type: string - discounted_amount: 0 - discounts: - - id: string - discounted_amount: 0 - line_items: - physical_items: - - quantity: 0 - id: string - variant_id: 0 - product_id: 0 - sku: string - name: string - url: string - is_taxable: true - image_url: string - discounts: - - id: string - discounted_amount: 0 - coupons: 0 - discount_amount: 0 - coupon_amount: 0 - original_price: 0 - list_price: 0 - sale_price: 0 - extended_list_price: 0 - extended_sale_price: 0 - is_require_shipping: true - is_mutable: true - parent_id: 0 - gift_wrapping: - name: string - message: string - amount: 0 - amount_as_integer: 0 - digital_items: - - quantity: 0 - id: string - variant_id: 0 - parent_id: 0 - product_id: 0 - sku: string - name: string - url: string - is_mutable: true - is_require_shipping: true - is_taxable: true - image_url: string - discounts: - - id: string - discounted_amount: 0 - coupons: 0 - discount_amount: 0 - coupon_amount: 0 - original_price: 0 - list_price: 0 - sale_price: 0 - extended_list_price: 0 - extended_sale_price: 0 - gift_certificates: - - theme: string + city: '' + state_or_province: '' + state_or_province_code: '' + country: '' + country_code: '' + postal_code: '29681' + phone: '12125556895' + custom_fields: [] + consignments: [] + taxes: + - name: Tax amount: 0 - sender: - name: string - email: string - recipient: - name: string - email: string - id: string - name: string - taxable: true - message: string - custom_items: - - quantity: 0 - id: string - extended_list_price: 0 - list_price: 0 - sku: string - name: string - image_url: string - created_time: string - updated_time: string - billing_address: - first_name: string - last_name: string - email: string - company: string - address1: string - address2: string - city: string - state_or_province: string - state_or_province_code: string - country_code: string - postal_code: string - phone: string - custom_fields: - - field_id: string - field_value: string - id: string - consignments: - - id: string - shippingAddress: {} - address: + coupons: + - id: 1 + code: SHOP20 + coupon_type: percentage_discount + discounted_amount: 13.4 + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 53.6 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:08:01+00:00' + customer_message: '' + meta: {} + No Coupon Applied: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + meta: {} + Include promotions: + example: + data: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + cart: + id: 267c5d6f-0d27-48ea-b731-e7832a4c5537 + customer_id: 0 + channel_id: 1 + email: example@example.com + currency: + code: USD + base_amount: 67 + discount_amount: 0 + cart_amount_inc_tax: 67 + cart_amount_ex_tax: 67 + coupons: [] + discounts: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + discounted_amount: 0 + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + discounted_amount: 0 + line_items: + physical_items: + - id: b0adf3a7-7a92-44d9-ad46-87235b118e48 + variant_id: 528 + product_id: 145 + sku: htltwl-001 + name: Hotel Towel + url: 'https://example.com/hotel-towel/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/145/images/422/Marriott-towel-set-MAR-320-01-SET-BT-WH_xlrg__70357.1636473771.220.290.jpg?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 32 + list_price: 32 + sale_price: 32 + extended_list_price: 32 + extended_sale_price: 32 + is_require_shipping: true + is_mutable: true + digital_items: + - id: 985c79a3-4c94-4104-923a-2e3d4572e72d + variant_id: 182 + product_id: 138 + sku: ebk-001 + name: eBook Download + url: 'https://example.com/digital/' + quantity: 1 + is_taxable: true + image_url: 'https://cdn11.bigcommerce.com/s-29iql3rwa6/products/138/images/420/thebridgebetween__54934.1636473557.220.290.png?c=1' + discounts: [] + coupons: [] + discount_amount: 0 + coupon_amount: 0 + original_price: 35 + list_price: 35 + sale_price: 35 + extended_list_price: 35 + extended_sale_price: 35 + is_require_shipping: false + is_mutable: true + gift_certificates: [] + custom_items: [] + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + billing_address: {} + consignments: [] + taxes: + - name: Tax + amount: 0 + coupons: [] + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 67 + subtotal_ex_tax: 67 + grand_total: 67 + created_time: '2021-11-08T22:46:23+00:00' + updated_time: '2021-11-09T16:06:56+00:00' + customer_message: '' + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + meta: {} + example-1: + example: + data: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + cart: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + customer_id: 0 + email: string@example.com + currency: + code: string + base_amount: 0 + channel_id: 0 + discount_amount: 0 + cart_amount_inc_tax: 0 + cart_amount_ex_tax: 0 + coupons: + - code: string + id: 0 + coupon_type: string + discounted_amount: 0 + discounts: + - id: string + discounted_amount: 0 + line_items: + physical_items: + - quantity: 0 + id: string + variant_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + is_require_shipping: true + is_mutable: true + parent_id: 0 + gift_wrapping: + name: string + message: string + amount: 0 + amount_as_integer: 0 + digital_items: + - quantity: 0 + id: string + variant_id: 0 + parent_id: 0 + product_id: 0 + sku: string + name: string + url: string + is_mutable: true + is_require_shipping: true + is_taxable: true + image_url: string + discounts: + - id: string + discounted_amount: 0 + coupons: 0 + discount_amount: 0 + coupon_amount: 0 + original_price: 0 + list_price: 0 + sale_price: 0 + extended_list_price: 0 + extended_sale_price: 0 + gift_certificates: + - theme: string + amount: 0 + sender: + name: string + email: string + recipient: + name: string + email: string + id: string + name: string + taxable: true + message: string + custom_items: + - quantity: 0 + id: string + extended_list_price: 0 + list_price: 0 + sku: string + name: string + image_url: string + created_time: string + updated_time: string + billing_address: first_name: string last_name: string email: string @@ -2548,99 +9605,179 @@ responses: state_or_province_code: string country_code: string postal_code: string - phone: string + phone: '12128565555' custom_fields: - field_id: string field_value: string id: string - available_shipping_options: - - description: string - id: string - type: string - image_url: string - cost: 0 - transit_time: string - additional_description: string - selected_shipping_option: - description: string - id: string - type: string - image_url: string - cost: 0 - transit_time: string - additional_description: string - coupon_discounts: - - code: string + consignments: + - id: string + shippingAddress: {} + address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: '12125556858' + custom_fields: + - field_id: string + field_value: string + id: string + available_shipping_options: + - description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + selected_shipping_option: + description: string + id: string + type: string + image_url: string + cost: 0 + transit_time: string + additional_description: string + coupon_discounts: + - code: string + amount: 0 + discounts: + - id: 0 + shipping_cost_inc_tax: 0 + shipping_cost_ex_tax: 0 + handling_cost_inc_tax: 0 + handling_cost_ex_tax: 0 + line_item_ids: + - string + taxes: + - name: string amount: 0 - discounts: - - id: 0 - shipping_cost_inc_tax: 0 - shipping_cost_ex_tax: 0 - handling_cost_inc_tax: 0 - handling_cost_ex_tax: 0 - line_item_ids: - - string - taxes: - - name: string - amount: 0 - coupons: - - code: string - id: 0 - discounted_amount: 0 - coupon_type: 1 - order_id: string - shipping_cost_total_inc_tax: 0 - shipping_cost_total_ex_tax: 0 - handling_cost_total_inc_tax: 0 - handling_cost_total_ex_tax: 0 - tax_total: 0 - subtotal_inc_tax: 0 - subtotal_ex_tax: 0 - grand_total: 0 - created_time: string - updated_time: string - customer_message: string - promotions: - banners: - id: string - type: string - page: - - string - text: string - order_Resp: - description: '' - schema: - type: object - properties: - data: - $ref: '#/definitions/Order' - meta: - type: object - examples: - application/json: - data: - id: 75 - meta: {} - checkout_settings_resp: - description: '' - schema: - type: object - properties: - data: - $ref: '#/definitions/CheckoutsSettings' - meta: - type: object - examples: - application/json: - data: - custom_checkout_script_url: 'https://example.com/custom-checkout-script.js' - order_confirmation_use_custom_checkout_script: false - custom_order_confirmation_script_url: 'https://example.com/custom-order-confirmation-script.js' - custom_checkout_supports_uco_settings: false - meta: {} - WebDAV protocol: - data: - custom_checkout_script_url: 'webdav:vtz-checkout/dist/auto-loader.js' - order_confirmation_use_custom_checkout_script: false - custom_order_confirmation_script_url: 'webdav:vtz-order-confirmation/dist/auto-loader.js' - meta: {} + coupons: + - code: SHOPNOW + id: 1 + coupon_type: percentage_discount + discounted_amount: 0.9 + order_id: string + shipping_cost_total_inc_tax: 0 + shipping_cost_total_ex_tax: 0 + handling_cost_total_inc_tax: 0 + handling_cost_total_ex_tax: 0 + tax_total: 0 + subtotal_inc_tax: 0 + subtotal_ex_tax: 0 + grand_total: 0 + created_time: string + updated_time: string + customer_message: string + promotions: + - banners: + - id: '3' + type: applied + page: + - homepage + - cartpage + text: Some text + checkout_settings_resp: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/CheckoutsSettings' + meta: + type: object + properties: {} + example: + data: + custom_checkout_script_url: 'https://example.com/custom-checkout-script.js' + order_confirmation_use_custom_checkout_script: false + custom_order_confirmation_script_url: 'https://example.com/custom-order-confirmation-script.js' + custom_checkout_supports_uco_settings: false + meta: {} + WebDAV protocol: + example: + data: + custom_checkout_script_url: 'webdav:vtz-checkout/dist/auto-loader.js' + order_confirmation_use_custom_checkout_script: false + custom_order_confirmation_script_url: 'webdav:vtz-order-confirmation/dist/auto-loader.js' + meta: {} + order_Resp: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Order' + meta: + type: object + properties: {} + example: + data: + id: 75 + meta: {} + parameters: + checkoutId: + name: checkoutId + in: path + description: Id of the Checkout + required: true + schema: + type: string + addressId: + name: addressId + in: path + required: true + schema: + type: integer + consignmentId: + name: consignmentId + in: path + required: true + schema: + type: string + couponCode: + name: couponCode + in: path + description: 'The actual couponCode, not the couponId.' + required: true + schema: + type: string + Accept: + name: Accept + in: header + required: true + schema: + type: string + default: application/json + Content-Type: + name: Content-Type + in: header + required: true + schema: + type: string + default: application/json + includeShippingOption: + name: include + in: query + schema: + type: string + enum: + - consignments.available_shipping_options + securitySchemes: + X-Auth-Token: + type: apiKey + description: '' + name: X-Auth-Token + in: header diff --git a/reference/currencies.v2.yml b/reference/currencies.v2.yml index 71d9f45c0..79506ca2d 100644 --- a/reference/currencies.v2.yml +++ b/reference/currencies.v2.yml @@ -1,6 +1,5 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Currencies description: |- Manage alternate currency display options on the storefront. @@ -62,63 +61,52 @@ info: - [Using Price Lists](https://support.bigcommerce.com/s/article/Price-Lists) (BigCommerce Knowledge Base) - [Managing Currencies](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta) (BigCommerce Knowledge Base) - [Tax](https://support.bigcommerce.com/s/article/Manual-Tax-Setup#intro1) (BigCommerce Knowledge Base) -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json + version: "" +servers: +- url: https://api.bigcommerce.com +security: +- X-Auth-Token: [] +tags: +- name: /currencies + description: "" +- name: Currencies paths: - '/stores/{store_hash}/v2/currencies': + /stores/{store_hash}/v2/currencies: get: - responses: - '200': - $ref: '#/responses/currencyCollection_Resp' + tags: + - Currencies summary: Get All Currencies description: Returns a list of all store *Currency*. - tags: - - Currencies - produces: - - application/json parameters: - - name: Accept - in: header - type: string - default: application/json - required: true - - name: Content-Type - in: header + - name: store_hash + in: path + required: true + schema: type: string - default: application/json - required: true - delete: - responses: - '204': - description: '' - schema: - type: object - properties: {} - summary: Delete All Currencies - parameters: - - in: header - name: Content-Type + - name: Accept + in: header + required: true + schema: type: string default: application/json - required: true - - in: header - name: Accepts + - name: Content-Type + in: header + required: true + schema: type: string default: application/json - required: true - tags: - - Currencies - description: Deletes all non-default store currencies. - post: responses: '200': - $ref: '#/responses/currency_Resp' + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/currency_Full' + post: + tags: + - Currencies summary: Create a Currency description: |- Creates *Currency*. @@ -143,75 +131,107 @@ paths: The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. To change the store's default currency via the BigCommerce control panel, please see [Managing Currencies](https://support.bigcommerce.com/articles/Public/Managing-Currencies/?q=currency&l=en_US&fs=Search&pn=1#default). parameters: - - name: Accept - in: header + - name: store_hash + in: path + required: true + schema: type: string - default: application/json - required: true - - name: Content-Type - in: header + - name: Accept + in: header + required: true + schema: type: string default: application/json - required: true - - in: body - name: body - schema: - $ref: '#/definitions/currency_Post' - x-examples: - Example: - name: Australian Dollar - country_iso2: AU - currency_code: AUD - currency_exchange_rate: '1.3885600000' - auto_update: 'false' - token_location: left - token: $ - decimal_token: . - thousands_token: ',' - decimal_places: 2 - description: '' - tags: - - Currencies - parameters: - - type: string - name: store_hash - in: path + - name: Content-Type + in: header required: true - '/stores/{store_hash}/v2/currencies/{id}': - get: + schema: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/currency_Post' + required: false responses: '200': - $ref: '#/responses/currency_Resp' - summary: Get a Currency - description: Returns a single *Currency*. + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/currency_Full' + delete: tags: - - Currencies + - Currencies + summary: Delete All Currencies + description: Deletes all non-default store currencies. parameters: - - name: Content-Type - in: header + - name: store_hash + in: path + required: true + schema: + type: string + - name: Content-Type + in: header + required: true + schema: type: string default: application/json - required: true - - name: Accept - in: header + - name: Accepts + in: header + required: true + schema: type: string default: application/json - required: true + responses: + '204': + description: "" + content: + application/json: + schema: + type: object + /stores/{store_hash}/v2/currencies/{id}: + get: + tags: + - Currencies + summary: Get a Currency + description: Returns a single *Currency*. operationId: getACurrency - parameters: + parameters: - name: id in: path - type: string - required: true description: Currency Id - - type: string - name: store_hash + required: true + schema: + type: string + - name: store_hash in: path required: true - put: + schema: + type: string + - name: Content-Type + in: header + required: true + schema: + type: string + default: application/json + - name: Accept + in: header + required: true + schema: + type: string + default: application/json responses: '200': - $ref: '#/responses/currency_Resp' + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/currency_Full' + put: + tags: + - Currencies summary: Update a Currency description: |- Updates a *Currency*. @@ -225,174 +245,202 @@ paths: The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. + operationId: updateACurrency parameters: - - name: Accept - in: header + - name: id + in: path + description: Currency Id + required: true + schema: + type: string + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string default: application/json - required: true - - name: Content-Type - in: header + - name: Content-Type + in: header + required: true + schema: type: string default: application/json - required: true - - in: body - name: body - schema: - $ref: '#/definitions/currency_Put' - x-examples: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/currency_Put' + required: false + responses: + '200': + description: "" + content: application/json: - country_iso2: AU - currency_code: AUD - currency_exchange_rate: '1.3885600000' - auto_update: 'false' - location: left - token: $ - decimal_token: . - thousands_token: ',' - decimal_places: 2 - tags: - - Currencies - operationId: updateACurrency + schema: + $ref: '#/components/schemas/currency_Full' + x-codegen-request-body-name: body delete: - responses: - '204': - description: '' - schema: - type: object - properties: {} + tags: + - Currencies summary: Delete a Currency description: |- Deletes a *Currency*. If a currency's `is_default` property is set to true, this currency cannot be deleted. - tags: - - Currencies + operationId: deleteACurrency parameters: - - name: Accept - in: header + - name: id + in: path + description: Currency Id + required: true + schema: + type: string + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string default: application/json - required: true - - name: Content-Type - in: header + - name: Content-Type + in: header + required: true + schema: type: string default: application/json - required: true - operationId: deleteACurrency -definitions: - currency_Post: - $ref: '#/definitions/currency_Base' - title: currency_Post - x-internal: false - currency_Base: - title: currency_Base - example: - id: 2 - is_default: false - last_updated: 'Tue, 12 Jun 2018 14:41:56 +0000"' - country_iso2: EU - currency_code: EUR - currency_exchange_rate: 0.849 - auto_update: true - token_location: left - token: € - decimal_token: . - thousands_token: ',' - decimal_places: 2 - name: Euro - enabled: false - type: object - x-examples: - Example: - value: - country_iso2: EU - currency_code: EUR - currency_exchange_rate: '0.849' - auto_update: true - token_location: left - token: € - decimal_token: . - thousands_token: ',' - decimal_places: 2 - name: Euro - is_transactional: false - id: 2 - is_default: false - last_updated: '2018-06-12T14:41:56.000Z' - enabled: false - description: Currency Object - properties: - is_default: - description: 'Specifies the store’s default currency display format. For write operations, only true value is accepted. When set to true, it cannot be unset, only overridden. ' - example: false - type: boolean - country_iso2: - type: string - description: 2-letter ISO Alpha-2 code for this currency’s country. - example: EU - currency_code: - type: string - description: 3-letter ISO 4217 code for this currency. - example: EUR - currency_exchange_rate: - type: string - description: 'Amount of this currency that is equivalent to one U.S. dollar.(Float, Float as String, Integer)' - example: 0.849 - auto_update: - type: boolean - description: Specifies whether to use the Open Exchange Rates service to update the currency conversion. A value of false specifies a static conversion value. auto_update only applies to non-transactional currencies. - example: true - token_location: - type: string - description: Specifies whether this currency’s symbol appears to the “left” or “right” of the numeric amount. - example: left - token: - type: string - description: Symbol for this currency. - example: € - decimal_token: - type: string - description: Symbol used as the decimal separator in this currency. - example: . - thousands_token: - type: string - description: Symbol used as the thousands separator in this currency. - example: ',' - decimal_places: - type: integer - description: Number of decimal places to show for this currency. - example: 2 - name: - type: string - description: Name of the currency. - example: Euro - enabled: - description: If the currency is active on the store. - example: false - type: boolean - is_transactional: - type: boolean - description: Indicates if the currency is set as transactional or not. False means display only currency - example: false - required: + responses: + '204': + description: "" + content: + application/json: + schema: + type: object +components: + schemas: + currency_Post: + $ref: '#/components/schemas/currency_Base' + currency_Base: + title: currency_Base + required: - currency_code - currency_exchange_rate - - token_location - - token - - decimal_token - - thousands_token - decimal_places + - decimal_token - name - x-internal: false - currency_Put: - $ref: '#/definitions/currency_Post' - title: currency_Put - x-internal: false - currency_Full: - title: currency_Full - allOf: - - $ref: '#/definitions/currency_Base' + - thousands_token + - token + - token_location + type: object + properties: + is_default: + type: boolean + description: Specifies the store’s default currency display format. For + write operations, only true value is accepted. When set to true, it cannot + be unset, only overridden. + example: false + country_iso2: + type: string + description: 2-letter ISO Alpha-2 code for this currency’s country. + example: EU + currency_code: + type: string + description: 3-letter ISO 4217 code for this currency. + example: EUR + currency_exchange_rate: + type: string + description: Amount of this currency that is equivalent to one U.S. dollar.(Float, + Float as String, Integer) + example: "0.849" + auto_update: + type: boolean + description: Specifies whether to use the Open Exchange Rates service to + update the currency conversion. A value of false specifies a static conversion + value. auto_update only applies to non-transactional currencies. + example: true + token_location: + type: string + description: Specifies whether this currency’s symbol appears to the “left” + or “right” of the numeric amount. + example: left + token: + type: string + description: Symbol for this currency. + example: € + decimal_token: + type: string + description: Symbol used as the decimal separator in this currency. + example: "." + thousands_token: + type: string + description: Symbol used as the thousands separator in this currency. + example: ',' + decimal_places: + type: integer + description: Number of decimal places to show for this currency. + example: 2 + name: + type: string + description: Name of the currency. + example: Euro + enabled: + type: boolean + description: If the currency is active on the store. + example: false + is_transactional: + type: boolean + description: Indicates if the currency is set as transactional or not. False + means display only currency + example: false + description: Currency Object + example: + id: 2 + is_default: false + last_updated: Tue, 12 Jun 2018 14:41:56 +0000" + country_iso2: EU + currency_code: EUR + currency_exchange_rate: '0.849' + auto_update: true + token_location: left + token: € + decimal_token: "." + thousands_token: ',' + decimal_places: 2 + name: Euro + enabled: false + x-examples: + Example: + value: + country_iso2: EU + currency_code: EUR + currency_exchange_rate: "0.849" + auto_update: true + token_location: left + token: € + decimal_token: "." + thousands_token: ',' + decimal_places: 2 + name: Euro + is_transactional: false + id: 2 + is_default: false + last_updated: 2018-06-12T14:41:56.000Z + enabled: false + x-internal: false + currency_Put: + $ref: '#/components/schemas/currency_Post' + currency_Full: + title: currency_Full + allOf: + - $ref: '#/components/schemas/currency_Base' - type: object properties: id: @@ -401,68 +449,65 @@ definitions: example: 2 last_updated: type: string - description: 'Date the currency was last updated, created or modified.' + description: Date the currency was last updated, created or modified. format: date-time - x-internal: false -tags: - - name: /currencies - description: '' - - name: Currencies -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | modify | `store_v2_information` | - | Information & Settings | read-only | `store_v2_information_read_only` | + x-internal: false + responses: + currencyCollection_Resp: + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/currency_Full' + currency_Resp: + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/currency_Full' + parameters: + Accept: + name: Accept + in: header + required: true + schema: + type: string + default: application/json + Content-Type: + name: Content-Type + in: header + required: true + schema: + type: string + default: application/json + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Information & Settings | modify | `store_v2_information` | + | Information & Settings | read-only | `store_v2_information_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` + + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -parameters: - Accept: - name: Accept - in: header - type: string - default: application/json - required: true - Content-Type: - name: Content-Type - in: header - type: string - default: application/json - required: true -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -responses: - currencyCollection_Resp: - description: '' - schema: - type: array - items: - $ref: '#/definitions/currency_Full' - currency_Resp: - description: '' - schema: - $ref: '#/definitions/currency_Full' diff --git a/reference/customer_login.yml b/reference/customer_login.yml index 21d9b6b60..1fae79adc 100644 --- a/reference/customer_login.yml +++ b/reference/customer_login.yml @@ -1,26 +1,21 @@ -swagger: '2.0' +openapi: 3.0.1 info: title: Customer Login (SSO) - version: '' description: |- Enable single sign-on for shoppers on BigCommerce hosted storefronts. [Learn more about the customer login API](/api-docs/customers/customer-login-api). -host: '{$$.env.store_domain}' + version: "" +servers: +- url: https://yourstore.example.com +tags: +- name: Login Token paths: - '/login/token/{jwt_token}': + /login/token/{jwt_token}: get: - responses: - '200': - description: OK - schema: - type: object - properties: {} - summary: Login Token tags: - - Login Token - consumes: [] - produces: [] + - Login Token + summary: Login Token description: |- The customer login access point URL. @@ -29,64 +24,71 @@ paths: ## Example ``` - https://storedomain.com/login/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ7Y2xpZW50X2lkfSIsImlhdCI6MTUzNTM5MzExMywianRpIjoie3V1aWR9Iiwib3BlcmF0aW9uIjoiY3VzdG9tZXJfbG9naW4iLCJzdG9yZV9oYXNoIjoie3N0b3JlX2hhc2h9IiwiY3VzdG9tZXJfaWQiOjJ9.J-fAtbjRFGdLsT744DhoprFEDqIfVq72HbDzrbFy6Is + https://yourstore.example.com/login/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ7Y2xpZW50X2lkfSIsImlhdCI6MTUzNTM5MzExMywianRpIjoie3V1aWR9Iiwib3BlcmF0aW9uIjoiY3VzdG9tZXJfbG9naW4iLCJzdG9yZV9oYXNoIjoie3N0b3JlX2hhc2h9IiwiY3VzdG9tZXJfaWQiOjJ9.J-fAtbjRFGdLsT744DhoprFEDqIfVq72HbDzrbFy6Is ``` - parameters: + parameters: - name: jwt_token in: path - type: string required: true -definitions: - customerLoginSSO: - type: object - title: Customer Login SSO - properties: - iss: - type: string - description: 'Indicates the token’s issuer. This is your application’s client ID, which is obtained during application registration in Developer Portal.' - example: '"1234r5t6y7u8i9o0p"' - iat: - type: integer - description: 'Time when the token was generated. This is a numeric value indicating the number of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time).' - example: 1535393113 - jti: - type: string - description: 'Request ID string that must be unique across all requests made by your app. A UUID or other random string would be an appropriate value. Most libraries contain a method for generating a uuid. For testing a [UUID generator](https://www.uuidgenerator.net/) can be used, but it recommended to use built in libraries.' - example: '"20b7c03e-00da-4d29-91bf-2aa06a57575b"' - operation: - type: string - description: Must contain the string “customer_login”. - example: '"customer_login"' - store_hash: - type: string - description: | - Store hash identifying the store you are logging into. - example: '"abc123"' - customer_id: - type: integer - description: | - ID of the customer you are logging in, as obtained through the Customer API. - example: 2 - redirect_to: - type: string - description: | - Optional field containing a relative path for the shopper’s destination after login. Will default to `/account.php`. - default: /account.php - request_ip: - type: string - description: | - **(Optional)** Field containing the expected IP address for the request. If provided, BigCommerce will check that it matches the browser trying to log in. If there is not a match, it will be rejected. - example: '"111.222.333.444"' - x-internal: false -tags: - - name: Login Token + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object +components: + schemas: + customerLoginSSO: + title: Customer Login SSO + type: object + properties: + iss: + type: string + description: Indicates the token’s issuer. This is your application’s client + ID, which is obtained during application registration in Developer Portal. + example: '"1234r5t6y7u8i9o0p"' + iat: + type: integer + description: Time when the token was generated. This is a numeric value + indicating the number of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time). + example: 1535393113 + jti: + type: string + description: Request ID string that must be unique across all requests made + by your app. A UUID or other random string would be an appropriate value. + Most libraries contain a method for generating a uuid. For testing a [UUID + generator](https://www.uuidgenerator.net/) can be used, but it recommended + to use built in libraries. + example: '"20b7c03e-00da-4d29-91bf-2aa06a57575b"' + operation: + type: string + description: Must contain the string “customer_login”. + example: '"customer_login"' + store_hash: + type: string + description: | + Store hash identifying the store you are logging into. + example: '"abc123"' + customer_id: + type: integer + description: | + ID of the customer you are logging in, as obtained through the Customer API. + example: 2 + redirect_to: + type: string + description: | + Optional field containing a relative path for the shopper’s destination after login. Will default to `/account.php`. + default: /account.php + request_ip: + type: string + description: | + **(Optional)** Field containing the expected IP address for the request. If provided, BigCommerce will check that it matches the browser trying to log in. If there is not a match, it will be rejected. + example: '"111.222.333.444"' + x-internal: false x-stoplight: docs: includeDownloadLink: true showModels: false -schemes: - - https -consumes: - - application/json -produces: - - application/json diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index 3b8801834..c63aeaef7 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -1,33 +1,26 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Customers V2 + contact: {} description: |- Create and Manage Customers, Customer Addresses, and Customer Groups. Additionally, validate customer passwords. To learn more about Customers see [here](/api-docs/customers/customers-subscribers-overview). - ## Authentication - Requests can be authenticated by sending an `access_token` via `X-Auth-Token` HTTP header: - ```http GET /stores/{store_hash}/v3/catalog/summary host: api.bigcommerce.com Accept: application/json X-Auth-Token: {access_token} ``` - |Header|Parameter|Description| |-|-|-| |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### OAuth Scopes | UI Name | Permission | Parameter | |----------------------------------------------|------------|-----------------------------------------------| | Customers | modify | `store_v2_customers` | | Customers | read-only | `store_v2_customers_read_only` | - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - ## Available Endpoints | Resource / Endpoint | Description | |-----------------------------------------|-------------------------------------------------------------------------------| @@ -35,319 +28,133 @@ info: | Customers Addresses | Postal address belonging to a customer. | | Customers Groups | Groupings of customers who share the same level of access and discounts | | Customers Validate Password | Validate customer passwords | - ## Usage Notes - **Customer Groups** * Customer Groups are only available on specific plans. - **Customers vs. Subscribers** * A subscriber is not always a customer. Someone can sign up for the newsletter only and not create an account. * A customer is not always a subscriber. Signing up for the newsletter is a separate action from creating an account and purchasing an item. * A customer and a subscriber can be the same. If a shopper checks out on the storefront, creates an account and opts into the newsletter, they are a customer and a subscriber. - ## Resources - ### Related APIs / Endpoints [Customer Login API](/api-docs/customers/customer-login-api) - [Current Customer API](/api-docs/customers/current-customer-api) - [Customers API (v3)](/api-reference/customer-subscribers/v3-customers-api) - [Subscribers API](/api-reference/customer-subscribers/subscribers-api) - ### Webhooks - [Customers](/api-docs/store-management/webhooks/webhook-events#customer) -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json + version: '' +servers: + - url: 'https://api.bigcommerce.com' +security: + - X-Auth-Token: [] +tags: + - name: Customers + - name: Customer Groups + - name: Customer Addresses + - name: Customer Passwords paths: '/stores/{store_hash}/v2/customers': get: - description: 'Returns a list of all *Customers*. Default sorting is by customer id, from lowest to highest. Optional parameters can be passed in.' + tags: + - Customers summary: Get All Customers + description: 'Returns a list of all *Customers*. Default sorting is by customer id, from lowest to highest. Optional parameters can be passed in.' + operationId: getAllCustomers parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - in: query - name: first_name - type: string - - in: query - name: last_name - type: string - - in: query - name: company - type: string - - in: query - name: email - type: string - - in: query - name: phone - type: string - - in: query - name: store_credit - type: string - - in: query - name: customer_group_id - type: integer - - in: query - name: min_id - type: integer - - in: query - name: max_id - type: integer - - in: query - name: min_date_created - type: string - format: date-time - - in: query - name: "max_date_created\t" - type: string - format: date-time - - in: query - name: min_date_modified - type: string - format: date-time - - in: query - name: max_date_modified - type: string - format: date-time - - in: query - name: tax_exempt_category - type: string + schema: + type: string + default: application/json + - name: first_name + in: query + schema: + type: string + - name: last_name + in: query + schema: + type: string + - name: company + in: query + schema: + type: string + - name: email + in: query + schema: + type: string + - name: phone + in: query + schema: + type: string + - name: store_credit + in: query + schema: + type: string + - name: customer_group_id + in: query + schema: + type: integer + - name: min_id + in: query + schema: + type: integer + - name: max_id + in: query + schema: + type: integer + - name: min_date_created + in: query + schema: + type: string + - name: max_date_created + in: query + schema: + type: string + - name: min_date_modified + in: query + schema: + type: string + - name: max_date_modified + in: query + schema: + type: string + - name: tax_exempt_category + in: query + schema: + type: string responses: '200': description: '' - schema: - type: array - items: - $ref: '#/definitions/customer_Full' - examples: + content: application/json: - - id: 1 - company: '' - first_name: Jane - last_name: Doe - email: jane@example.com - phone: '' - form_fields: - - name: Account Sign Up Field - value: 123dadf - date_created: 'Wed, 10 Jan 2018 21:02:23 +0000' - date_modified: 'Thu, 10 May 2018 20:18:01 +0000' - store_credit: '0.0000' - registration_ip_address: 64.183.182.114 - customer_group_id: 1 - notes: '' - tax_exempt_category: '' - reset_pass_on_login: false - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/1/addresses' - resource: /customers/1/addresses - - id: 2 - company: '' - first_name: BigCommerce - last_name: BigCommerce - email: bc@example.com - phone: '' - form_fields: {} - date_created: 'Wed, 10 Jan 2018 21:24:05 +0000' - date_modified: 'Wed, 10 Jan 2018 21:24:05 +0000' - store_credit: '0.0000' - registration_ip_address: 64.183.182.114 - customer_group_id: 0 - notes: '' - tax_exempt_category: '' - reset_pass_on_login: false - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/2/addresses' - resource: /customers/2/addresses - Response Schema: - - first_name: in - last_name: Ut officia ipsum - email: Excepteur eiusmod consequ - id: -15007617 - _authentication: - force_reset: s - password: Lorem quis occaecat laboris in - password_confirmation: ullamco proident laboris dolor deserunt - company: est sint quis - phone: 'aute dolor sit ' - date_created: '2011-11-20T04:16:40.508Z' - date_modified: '1973-03-29T12:34:19.908Z' - store_credit: ut - registration_ip_address: incididunt velit magn - customer_group_id: 21388005 - notes: officia dolore ullamco id - tax_exempt_category: occaecat eu reprehenderit amet - accepts_marketing: true - addresses: - url: ut dol - resource: proident aliqua - form_fields: - - name: incididunt laboris voluptate - value: qui exercitation - - name: Excepteur cupidat - value: eiusmod officia adipisicing proident - - name: anim aute - value: veniam culpa exercitation - - name: ut cillum - value: consequat sunt nostrud sed - - name: tempor amet sed in - value: sit officia - reset_pass_on_login: true - - first_name: velit anim - last_name: occaecat et sint - email: dolore - id: 29287203 - _authentication: - force_reset: velit in fugiat quis - password: pariatur cillum incididunt sunt minim - password_confirmation: nisi cillum culpa reprehenderit - company: adipisicing enim s - phone: 'quis adipisicing ' - date_created: '1955-04-26T04:36:27.953Z' - date_modified: '1996-12-02T22:45:10.281Z' - store_credit: et est cillum - registration_ip_address: v - customer_group_id: 28387229 - notes: Ut - tax_exempt_category: ex - accepts_marketing: true - addresses: - url: Excepteur pariatur nulla - resource: '' - form_fields: - - name: in velit nulla adipisicing amet - value: irure in dolor voluptate - - name: culpa consectetur sunt magna - value: eiusmo - - name: ea occaecat - value: dolor sunt - - name: labore fugiat dolore - value: labore incididunt officia ex minim - - name: eiusmod qui Duis - value: labore - reset_pass_on_login: false - - first_name: nulla velit magna - last_name: reprehenderit Ut - email: cupidata - id: -57032230 - _authentication: - force_reset: ad Ut - password: nisi anim - password_confirmation: Ut offi - company: elit et consectetur anim - phone: ad est - date_created: '1945-08-04T05:27:46.986Z' - date_modified: '2018-04-06T22:11:22.242Z' - store_credit: occaecat - registration_ip_address: ipsum - customer_group_id: -8630570 - notes: ut in labore - tax_exempt_category: laborum reprehenderit pariatur - accepts_marketing: true - addresses: - url: sit mollit cillum Excepteur culpa - resource: dolore ullamco exercitation - form_fields: - - name: consectetur est eu nostrud - value: adipisicing dolore laboris pariatur - - name: reprehenderit consequat Exc - value: enim tempor - - name: in tempor eiusmod est - value: in in occaecat - - name: proident ad enim - value: commodo deserunt eu - reset_pass_on_login: false - - first_name: labore aliquip incididunt - last_name: eiusmod laboris ut est - email: nostrud ut Ut - id: -23995265 - _authentication: - force_reset: re - password: enim sed nulla - password_confirmation: proident ut in et quis - company: fugiat irure - phone: aliqua esse - date_created: '1941-07-17T00:06:33.184Z' - date_modified: '1944-06-02T12:57:08.279Z' - store_credit: aute quis - registration_ip_address: elit enim - customer_group_id: 96006553 - notes: sed Ut - tax_exempt_category: velit do nisi irure - accepts_marketing: false - addresses: - url: dolore tempor - resource: esse dolor - form_fields: - - name: labore aliqua cillum - value: pariatur - - name: fugiat exercitation ipsum do - value: dolore aute sit - - name: ad occaecat ut cupidatat non - value: Lorem nisi mollit - - name: eiusmod sed in cupidatat - value: aliqua adipisicing - reset_pass_on_login: true - - first_name: aliquip nostrud Excepteur in - last_name: eu aute nisi - email: quis dolor fugiat aliquip - id: 26238433 - _authentication: - force_reset: cons - password: consectetur - password_confirmation: culpa - company: est non - phone: deserunt dolore eu - date_created: '1958-02-03T23:26:40.348Z' - date_modified: '2009-08-04T16:51:08.288Z' - store_credit: officia magna Ut - registration_ip_address: non sint commodo aute - customer_group_id: 30829231 - notes: sed ipsum - tax_exempt_category: fugiat tempor ipsum - accepts_marketing: false - addresses: - url: laboris - resource: dolor eu ea occaecat ex - form_fields: - - name: exercitation - value: non aliquip Duis - - name: qui sunt est - value: amet voluptate laborum sint in - - name: in sit nostrud - value: laboris enim culpa in cillum - reset_pass_on_login: true - tags: - - Customers - operationId: getAllCustomers + schema: + type: array + items: + $ref: '#/components/schemas/customer_Full' deprecated: true post: + tags: + - Customers + summary: Create a New Customer description: |- Creates a *Customer*. - **Required Fields** * `first_name` * `last_name` * `email` - **Read Only Fields** * `id` * `date_created` @@ -355,17 +162,11 @@ paths: * `accepts_marketing` * `addresses` * `form_fields` - ## Notes - The `_authentication` object exposes functionality associated with the customer’s ability to log in to the store. All properties of the `_authentication` object are optional. - When the `_authentication` object is not supplied with an update request, then the existing customer password remains the same. - ## Updating Passwords - To manually update a customer password in the same way as the control panel, supply a value for the password field: - ```json { "_authentication": { @@ -373,11 +174,8 @@ paths: } } ``` - ## Confirming Passwords - An additional optional `password_confirmation` field can also be sent, providing password confirmation as a service: - ```json { "_authentication": { @@ -386,153 +184,99 @@ paths: } } ``` - ## Forcing Password Resets - To force a customer to reset their password upon their next login attempt, give the `force_reset` field a value of true, as shown here: - ```json { "_authentication": { "force_reset": true } } - summary: Create a New Customer - tags: - - Customers - produces: - - application/json + operationId: createANewCustomer parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header required: true - type: string - description: '' + schema: + type: string - name: Content-Type in: header required: true - type: string - description: '' - - name: body - in: body - required: true - description: '' schema: - type: object - properties: - _authentication: - type: object - description: 'This can vary depending on the action being taken to update, validate or force a password change. See Update Customer' - company: - type: string - first_name: - type: string - last_name: - type: string - phone: - type: string - date_modified: - type: string - store_credit: - type: integer - registration_ip_address: - type: string - customer_group_id: - type: integer - notes: - type: string - tax_exempt_category: - type: string - x-examples: - application/json: - company: BigCommerce - first_name: Jane - last_name: Doe - phone: '1234567890' + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + _authentication: + type: object + properties: {} + description: 'This can vary depending on the action being taken to update, validate or force a password change. See Update Customer' + company: + type: string + first_name: + type: string + last_name: + type: string + phone: + type: string + date_modified: + type: string + store_credit: + type: integer + registration_ip_address: + type: string + customer_group_id: + type: integer + notes: + type: string + tax_exempt_category: + type: string + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/customer_Full' - examples: + content: application/json: - id: 1 - _authentication: {} - company: BigCommerce - first_name: Jane - last_name: Doe - email: janedoe@example.com - phone: 1234567890 - date_created: 'Thu, 11 Jan 2018 20:57:52 +0000' - date_modified: 'Tue, 10 Apr 2018 18:59:05 +0000' - store_credit: 0 - registration_ip_address: 12.345.678.910 - customer_group_id: 2 - notes: '' - tax_exempt_category: '' - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - resource: /customers/5/addresses - form_fields: - - name: '' - value: '' - reset_pass_on_login: false - Response Schema: - first_name: consectetur est - last_name: fugiat nostrud exercitation - email: incididunt - id: 40836578 - _authentication: - force_reset: esse - password: sunt ut elit - password_confirmation: esse pariatur amet in ad - company: ex nulla occa - phone: laborum - date_created: '1950-01-07T13:02:45.762Z' - date_modified: '1964-07-17T02:26:32.238Z' - store_credit: ex ullamco adipisicing - registration_ip_address: ex amet commodo - customer_group_id: 99641267 - notes: sint officia ut ut - tax_exempt_category: dolor - accepts_marketing: true - addresses: - url: magna cupidatat proident - resource: Excepteur quis exercitat - form_fields: - - name: u - value: enim reprehenderit - - name: consequat adipisicing dolore - value: eu cupidatat amet deserunt - - name: ex veniam quis voluptate - value: sed aliquip - reset_pass_on_login: true - operationId: createANewCustomer + schema: + $ref: '#/components/schemas/customer_Full' deprecated: true delete: - description: 'By default, it deletes all *Customers*. Up to 100 customers per batch can be deleted. ' - summary: Delete Customers tags: - Customers - produces: - - application/json + summary: Delete Customers + description: 'By default, it deletes all *Customers*. Up to 100 customers per batch can be deleted. ' + operationId: deleteAllCustomers parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json responses: '204': description: '' + content: {} + deprecated: true x-unitTests: - request: method: DELETE @@ -558,410 +302,53 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - operationId: deleteAllCustomers - deprecated: true - parameters: - - type: string - name: store_hash - in: path - required: true '/stores/{store_hash}/v2/customers/{customer_id}': get: - description: Returns a single *Customer*. - summary: Get a Customer tags: - Customers - produces: - - application/json + summary: Get a Customer + description: Returns a single *Customer*. + operationId: getACustomer parameters: - - name: customer_id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false - description: Unique numeric ID of this customer. - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header - required: true - type: string - description: '' - default: application/json - responses: - '200': - description: '' schema: - $ref: '#/definitions/customer_Full' - examples: - application/json: - id: 1 - _authentication: {} - company: BigCommerce - first_name: Jane - last_name: Doe - email: janedoe@example.com - phone: 1234567890 - date_created: 'Thu, 11 Jan 2018 20:57:52 +0000' - date_modified: 'Tue, 10 Apr 2018 18:59:05 +0000' - store_credit: 0 - registration_ip_address: 12.345.678.910 - customer_group_id: 2 - notes: '' - tax_exempt_category: '' - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - resource: /customers/5/addresses - form_fields: - - name: '' - value: '' - reset_pass_on_login: false - Response Schema: - first_name: qui - last_name: magna aliqua - email: ut qui - id: -50281083 - _authentication: - force_reset: ad Excepteur - password: aliqua anim ad non - password_confirmation: dolore in ex sint - company: consequat nisi adipisicing quis - phone: sed occaecat non ut voluptate - date_created: '1996-02-05T07:35:29.104Z' - date_modified: '2000-04-28T20:17:23.598Z' - store_credit: cupidatat ipsum minim - registration_ip_address: quis Duis sed elit qui - customer_group_id: 37499869 - notes: ut voluptate reprehenderit - tax_exempt_category: consequat esse - accepts_marketing: false - addresses: - url: anim ea veniam - resource: minim dolor ex mollit - form_fields: - - name: nisi adipisicing - value: Duis eiusmod sed - - name: esse occaecat - value: aliqua dolor velit sit - - name: do deserunt - value: amet ut consequat fugiat - - name: tempor in sit sed minim - value: dolor ullamco amet est - - name: labor - value: culpa ipsum aute - reset_pass_on_login: false - operationId: getACustomer - deprecated: true - delete: - description: Deletes a *Customer*. - summary: Delete a Customer - produces: - - application/json - parameters: + type: string - name: customer_id in: path - type: integer + description: Unique numeric ID of this customer. required: true - description: Id of the customer + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - responses: - '204': - description: '' - tags: - - Customers - operationId: deleteACustomer - deprecated: true - parameters: - - name: customer_id - in: path - type: integer - required: true - description: Id of the customer - - type: string - name: store_hash - in: path - required: true - put: + schema: + type: string + default: application/json responses: '200': description: '' - schema: - $ref: '#/definitions/customer_Base' - examples: + content: application/json: - id: 1 - company: '' - first_name: Jane - last_name: Doe - email: janedoes@example.com - phone: '' - form_fields: - - name: License Id - value: '' - date_created: 'Wed, 10 Jan 2018 21:02:23 +0000' - date_modified: 'Mon, 13 Aug 2018 18:11:41 +0000' - store_credit: '0.0000' - registration_ip_address: 64.183.182.114 - customer_group_id: 1 - notes: '' - tax_exempt_category: '' - reset_pass_on_login: false - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/1/addresses' - resource: /customers/1/addresses - Response Schema: - first_name: ut tempor aute consectetur - last_name: aliquip - email: sed in Ut irure dolor - id: -56775070 - _authentication: - force_reset: sint dolor ex - password: in - password_confirmation: Ut labore dolor laborum Duis - company: incididunt ex - phone: adipisicing in Lorem anim - date_created: '1989-01-24T04:01:12.466Z' - date_modified: '1939-09-05T15:03:01.819Z' - store_credit: anim ut consequat tempor - registration_ip_address: magna pariatur sunt - customer_group_id: -83895317 - notes: 'magna in ' - tax_exempt_category: amet ut sed ullamco - accepts_marketing: false - addresses: - url: enim - resource: laboris consectetur adipisicing esse elit - form_fields: - - name: esse eu incididunt est - value: sit ex sed - - name: consequat sit magna - value: laborum labore culpa - - name: minim consequat eu esse velit - value: quis aute pariatur - - name: minim pariatur occaecat et - value: ex ullamco nisi anim - - name: Ut occaecat - value: cupidatat ullamco Excepteur - reset_pass_on_login: false - summary: Update a Customer + schema: + $ref: '#/components/schemas/customer_Full' + deprecated: true + put: tags: - Customers - parameters: - - in: path - name: customer_id - type: integer - required: true - description: Id of the customer - - in: header - name: Accept - type: string - default: application/json - - in: header - name: Content-Type - type: string - default: application/json - - in: body - name: body - schema: - title: Customers - example: - id: 1 - _authentication: {} - company: BigCommerce - first_name: Jane - last_name: Doe - email: janedoe@example.com - phone: 1234567890 - date_created: 'Thu, 11 Jan 2018 20:57:52 +0000' - date_modified: 'Tue, 10 Apr 2018 18:59:05 +0000' - store_credit: 0 - registration_ip_address: 12.345.678.910 - customer_group_id: 2 - notes: '' - tax_exempt_category: '' - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - resource: /customers/5/addresses - form_fields: - - name: '' - value: '' - reset_pass_on_login: false - type: object - properties: - id: - description: Unique numeric ID of this customer. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 1 - type: integer - _authentication: - description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' - type: object - properties: - force_reset: - type: boolean - password: - type: string - password_confirmation: - type: string - company: - description: The name of the company for which the customer works. - example: BigCommerce - type: string - first_name: - type: string - description: First name of the customer. - example: Jane - last_name: - type: string - description: Last name of the customer. - example: Doe - email: - type: string - description: Email address of the customer. - example: janedoe@example.com - phone: - description: Phone number of the customer. - example: 1234567890 - type: string - date_created: - description: Date on which the customer registered from the storefront or was created in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 'Thu, 11 Jan 2018 20:57:52 +0000' - type: string - format: date-time - date_modified: - description: | - Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 'Tue, 10 Apr 2018 18:59:05 +0000' - type: string - format: date-time - store_credit: - description: 'The amount of credit the customer has. (Float, Float as String, Integer)' - example: 0 - type: string - registration_ip_address: - description: The customer’s IP address when they signed up. - example: 12.345.678.910 - type: string - customer_group_id: - description: The group to which the customer belongs. - example: 2 - type: integer - notes: - description: Store-owner notes on the customer. - type: string - tax_exempt_category: - description: 'If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration. ' - type: string - accepts_marketing: - description: 'If the customer accepts product review emails or abandon cart emails. Read-Only. ' - example: true - type: boolean - readOnly: true - addresses: - title: Address Field Resource - type: object - properties: - url: - description: Full URL of where the resource is located. - example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - type: string - resource: - description: Resource being accessed. - example: /customers/5/addresses - type: string - form_fields: - description: Array of custom fields. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - type: array - items: - title: Form Fields - type: object - properties: - name: - description: Name of the form field - type: string - example: License Id - value: - description: Value of the form field - type: string - example: 123BAF - reset_pass_on_login: - description: Force a password change on next login. - example: false - type: boolean - required: - - first_name - - last_name - - email - x-examples: - application/json: - first_name: Jane - email: jane@example.com - phone: '1234567890' - password-update: |- - { - "_authentication": { - "password": "12w69Y217PYR96J" - } - } - password-confirm: |2- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - "_authentication": { - "password": "12w69Y217PYR96J", - "password_confirmation": "12w69Y217PYR96J" - } - } - password-reset: - _authentication: - force_reset: true + summary: Update a Customer description: |- Updates a *Customer*. - **Read Only Fields** * id * date_created @@ -969,17 +356,11 @@ paths: * accepts_marketing * addresses * form_fields - ## Notes - The `_authentication` object exposes functionality associated with the customer’s ability to log in to the store. All properties of the `_authentication` object are optional. - When the `_authentication` object is not supplied with an update request, then the existing customer password remains the same. - ## Updating Passwords - To manually update a customer password in the same way as the control panel, supply a value for the `password` field: - ``` { "_authentication": { @@ -987,11 +368,8 @@ paths: } } ``` - #### Confirming Passwords - An additional optional `password_confirmation` field can also be sent, providing password confirmation as a service: - ``` { "_authentication": { @@ -1000,11 +378,8 @@ paths: } } ``` - #### Forcing Password Resets - To force a customer to reset their password upon their next login attempt, give the `force_reset` field a value of true, as shown here: - ``` { "_authentication": { @@ -1013,36 +388,214 @@ paths: } ``` operationId: updateACustomer + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + - name: customer_id + in: path + description: Id of the customer + required: true + schema: + type: integer + - name: Accept + in: header + schema: + type: string + default: application/json + - name: Content-Type + in: header + schema: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + title: Customers + required: + - email + - first_name + - last_name + type: object + properties: + id: + type: integer + description: Unique numeric ID of this customer. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + example: 1 + _authentication: + type: object + properties: + force_reset: + type: boolean + password: + type: string + password_confirmation: + type: string + description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' + company: + type: string + description: The name of the company for which the customer works. + example: BigCommerce + first_name: + type: string + description: First name of the customer. + example: Jane + last_name: + type: string + description: Last name of the customer. + example: Doe + email: + type: string + description: Email address of the customer. + example: janedoe@example.com + phone: + type: string + description: Phone number of the customer. + example: '1234567890' + date_created: + type: string + description: Date on which the customer registered from the storefront or was created in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + date_modified: + type: string + description: | + Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + store_credit: + type: string + description: 'The amount of credit the customer has. (Float, Float as String, Integer)' + example: '0' + registration_ip_address: + type: string + description: The customer’s IP address when they signed up. + example: 12.345.678.910 + customer_group_id: + type: integer + description: The group to which the customer belongs. + example: 2 + notes: + type: string + description: Store-owner notes on the customer. + tax_exempt_category: + type: string + description: 'If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration. ' + accepts_marketing: + type: boolean + description: 'If the customer accepts product review emails or abandon cart emails. Read-Only. ' + readOnly: true + example: true + addresses: + title: Address Field Resource + type: object + properties: + url: + type: string + description: Full URL of where the resource is located. + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' + resource: + type: string + description: Resource being accessed. + example: /customers/5/addresses + form_fields: + type: array + description: Array of custom fields. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + items: + title: Form Fields + type: object + properties: + name: + type: string + description: Name of the form field + example: License Id + value: + type: string + description: Value of the form field + example: 123BAF + reset_pass_on_login: + type: boolean + description: Force a password change on next login. + example: false + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/customer_Base' + deprecated: true + x-codegen-request-body-name: body + delete: + tags: + - Customers + summary: Delete a Customer + description: Deletes a *Customer*. + operationId: deleteACustomer + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + - name: customer_id + in: path + description: Id of the customer + required: true + schema: + type: integer + - name: Accept + in: header + required: true + schema: + type: string + default: application/json + - name: Content-Type + in: header + required: true + schema: + type: string + default: application/json + responses: + '204': + description: '' + content: {} deprecated: true '/stores/{store_hash}/v2/customers/count': get: - description: 'Returns a count of all *Customers*. ' - summary: Get a Count of Customers tags: - Customers - produces: - - application/json + summary: Get a Count of Customers + description: 'Returns a count of all *Customers*. ' + operationId: getACountOfCustomers parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json responses: '200': description: '' - schema: - $ref: '#/definitions/count_Full' - examples: + content: application/json: - count: 27 + schema: + $ref: '#/components/schemas/count_Full' + example: + count: 27 + deprecated: true x-unitTests: - request: method: GET @@ -1069,15 +622,11 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - operationId: getACountOfCustomers - deprecated: true - parameters: - - type: string - name: store_hash - in: path - required: true '/stores/{store_hash}/v2/customers/{customer_id}/validate': post: + tags: + - Customer Passwords + summary: Validate a Password description: |- **This endpoint has special rate limiting protections to protect against abuse.** @@ -1095,243 +644,115 @@ paths: "success": "false" } ``` - summary: Validate a Password - produces: - - application/json + operationId: validateCustomerPassword parameters: - - name: customer_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: customer_id + in: path description: Id of the customer + required: true + schema: + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true - description: '' schema: - type: object - properties: - password: - type: string - description: String to run against customer password. Will return a true or false. - x-examples: - application/json: - password: abc12345 + type: string + default: application/json + requestBody: + content: + application/json: + schema: + type: object + properties: + password: + type: string + description: String to run against customer password. Will return a true or false. + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/validatePassword' - examples: + content: application/json: - success: 'false' - tags: - - Customer Passwords - operationId: validateCustomerPassword + schema: + $ref: '#/components/schemas/validatePassword' + example: + success: false deprecated: true - parameters: - - name: customer_id - in: path - type: integer - required: true - description: Id of the customer - - type: string - name: store_hash - in: path - required: true + x-codegen-request-body-name: body '/stores/{store_hash}/v2/customers/{customer_id}/addresses': get: + tags: + - Customer Addresses + summary: Get All Customer Addresses description: |- Returns a list of *Customer Addresses*. Returns the addresses belonging to a customer. Default sorting is by address id, from lowest to highest. - The maximum limit is 250. If a limit isn’t provided, up to 50 `customer_addresses` are returned by default. - summary: Get All Customer Addresses + operationId: getAllCustomerAddresses parameters: - - name: customer_id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: customer_id + in: path description: ID of the customer + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Number of pages + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Count per page + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number responses: '200': description: '' - schema: - type: array - items: - $ref: '#/definitions/customerAddress_Full' - examples: + content: application/json: - - id: 16 - customer_id: 11 - first_name: Jane - last_name: Doe - company: '' - street_1: 555 East Street - street_2: {} - city: Austin - state: Texas - zip: '78108' - country: United States - country_iso2: US - phone: '1234567890' - address_type: residential - form_fields: - - name: Delivery Instructions - value: Leave in backyard - - id: 23 - customer_id: 11 - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 111 E West Street - street_2: '654' - city: Akron - state: Ohio - zip: '44325' - country: United States - country_iso2: US - phone: '1234567890' - address_type: commercial - form_fields: - - name: Delivery Instructions - value: '' - - id: 30 - customer_id: 11 - first_name: Jon - last_name: Doe - company: '' - street_1: 122 First Street - street_2: '' - city: Austin - state: Texas - zip: '78726' - country: United States - country_iso2: US - phone: '6789012345' - address_type: residential - form_fields: {} - - id: 40 - customer_id: 11 - first_name: John - last_name: Doe - company: '' - street_1: 111 E West Street - street_2: '654' - city: Akron - state: Ohio - zip: '44325' - country: United States - country_iso2: US - phone: '1234567890' - address_type: residential - form_fields: {} - - id: 45 - customer_id: 11 - first_name: Jane - last_name: Doe - company: '' - street_1: 555 East Street - street_2: '' - city: Austin - state: Texas - zip: '78108' - country: United States - country_iso2: US - phone: '1234567890' - address_type: residential - form_fields: - - name: Delivery Instructions - value: Leave in backyard - - id: 46 - customer_id: 11 - first_name: Trishy - last_name: Test - company: Acme Pty Ltd - street_1: 666 Sussex St - street_2: '' - city: Anywhere - state: Some State - zip: '12345' - country: United States - country_iso2: US - phone: '' - address_type: residential - form_fields: {} - - id: 47 - customer_id: 11 - first_name: Jane - last_name: Doe - company: '' - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: '78751' - country: United States - country_iso2: US - phone: '' - address_type: residential - form_fields: {} - Response Schema: - - first_name: et cupidatat nisi irure commod - last_name: Duis - street_1: dolor incididunt aliquip - city: commodo tempor - state: deserunt magna - zip: proident elit - country: et - phone: anim officia mollit aute exercitation - id: 19123342 - customer_id: -74974267 - company: d - street_2: nostrud dolor non exerc - country_iso2: cillum laborum - address_type: residential - tags: - - Customer Addresses - operationId: getAllCustomerAddresses + schema: + type: array + items: + $ref: '#/components/schemas/customerAddress_Full' deprecated: true post: + tags: + - Customer Addresses + summary: Create a Customer Address description: |- Creates a new *Customer Address*. (Note: The “state” property cannot be null. As a workaround for addresses that include no state/province string, pass a space as the “state” value.) @@ -1348,1643 +769,1293 @@ paths: **Read Only Fields** * id * country_iso2 - summary: Create a Customer Address + operationId: createACustomerAddress parameters: - - name: customer_id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: customer_id + in: path description: ID of the customer + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true - description: '' schema: - $ref: '#/definitions/customerAddress_Base' - x-examples: - application/json: - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: '78726' - country: United Statues - phone: 123-345-7890 - address_type: residental + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/customerAddress_Base' + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/customerAddress_Full' - examples: + content: application/json: - id: 3 - customer_id: 5 - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: 78726 - country: United States - country_iso2: US - phone: 123-345-7890 - address_type: residental - Response Schema: - first_name: voluptate laboris minim officia consequat - last_name: reprehenderit quis laborum - street_1: esse aliquip - city: dolor nulla aliquip - state: mollit - zip: nisi et enim ad - country: nulla - phone: sunt - id: -83367768 - customer_id: -46112964 - company: 'mollit ' - street_2: dolor et - country_iso2: quis est - address_type: residential - tags: - - Customer Addresses - operationId: createACustomerAddress + schema: + $ref: '#/components/schemas/customerAddress_Full' deprecated: true delete: - description: 'By default, it deletes all *Customer Addresses*.' + tags: + - Customer Addresses summary: Delete Customer Address + description: 'By default, it deletes all *Customer Addresses*.' + operationId: deleteAllCustomerAddresses parameters: - - name: customer_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: customer_id + in: path description: Id of the customer + required: true + schema: + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Number of pages + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Count per page + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number responses: '204': description: '' - tags: - - Customer Addresses - operationId: deleteAllCustomerAddresses + content: {} deprecated: true - parameters: - - name: customer_id - in: path - type: integer - required: true - description: Id of the customer - - type: string - name: store_hash - in: path - required: true '/stores/{store_hash}/v2/customers/{customer_id}/addresses/{customer_address_id}': get: - description: Returns a *Customer Address*. + tags: + - Customer Addresses summary: Get a Customer Address - produces: - - application/json + description: Returns a *Customer Address*. + operationId: getACustomerAddress parameters: - - name: customer_address_id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: customer_address_id + in: path description: ID of the customer address + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer - name: customer_id in: path - required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: 'ID of the customer ' + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Number of pages + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Count per page + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number responses: '200': description: '' - schema: - $ref: '#/definitions/customerAddress_Full' - examples: + content: application/json: - id: 3 - customer_id: 5 - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: 78726 - country: United States - country_iso2: US - phone: 123-345-7890 - address_type: residental - Response Schema: - first_name: velit in officia dolore - last_name: elit n - street_1: esse dolore adi - city: incididunt - state: sint c - zip: Excepteur in laborum officia - country: tempor minim - phone: in deserunt laboris dolor - id: 20523203 - customer_id: 53514893 - company: dolore - street_2: tempor dolor Duis - country_iso2: Ut aliqua ex - address_type: commercial - tags: - - Customer Addresses - operationId: getACustomerAddress + schema: + $ref: '#/components/schemas/customerAddress_Full' deprecated: true put: + tags: + - Customer Addresses + summary: Update a Customer Address description: |- Updates a *Customer Address*. - **Read Only Fields** * id * country_iso2 - summary: Update a Customer Address + operationId: updateACustomerAddress parameters: - - name: customer_id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: customer_id + in: path description: ID of this customer + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true - description: '' schema: - title: Customer Address - example: - id: 3 - customer_id: 5 - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: 78726 - country: United States - country_iso2: US - phone: 123-345-7890 - address_type: residental - type: object - properties: - id: - description: ID of this customer address. READ-ONLY - example: 3 - type: integer - customer_id: - description: ID of the associated customer. - example: 5 - type: integer - first_name: - type: string - description: The customer’s first name. - example: Jane - last_name: - type: string - description: The customer’s last name. - example: Doe - company: - description: The customer’s company name. - example: BigCommerce - type: string - street_1: - type: string - description: 'The customer’s street address, line 1.' - example: 123 Main Street - street_2: - description: 'The customer’s street address, line 2.' - type: string - city: - type: string - description: The customer’s city/town/suburb. - example: Austin - state: - type: string - description: 'The customer’s state/province. Do not abbreviate the state; spell out the entire word, e.g.: California. (Cannot be null. As a workaround for addresses that include no state/province string, pass a space as the “state” value.)' - example: Texas - zip: - type: string - description: The customer’s ZIP or postal code. - example: 78726 - country: - type: string - description: The customer’s country. Must be the full country name. - example: United States - country_iso2: - description: 2-letter ISO Alpha-2 code for the customer’s country. READ-ONLY - example: US - type: string - phone: - type: string - description: The customer’s phone number. - example: 123-345-7890 - address_type: - type: string - enum: - - residential - - commercial - example: residential - required: - - first_name - - last_name - - street_1 - - city - - state - - zip - - country - - phone - x-examples: - application/json: - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: '78726' - country: United Statues - phone: 123-345-7890 - address_type: residental + type: string + default: application/json - name: customer_address_id in: path - required: true - type: integer description: ID of the customer address. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Customer Address + required: + - city + - country + - first_name + - last_name + - phone + - state + - street_1 + - zip + type: object + properties: + id: + type: integer + description: ID of this customer address. READ-ONLY + example: 3 + customer_id: + type: integer + description: ID of the associated customer. + example: 5 + first_name: + type: string + description: The customer’s first name. + example: Jane + last_name: + type: string + description: The customer’s last name. + example: Doe + company: + type: string + description: The customer’s company name. + example: BigCommerce + street_1: + type: string + description: 'The customer’s street address, line 1.' + example: 123 Main Street + street_2: + type: string + description: 'The customer’s street address, line 2.' + city: + type: string + description: The customer’s city/town/suburb. + example: Austin + state: + type: string + description: 'The customer’s state/province. Do not abbreviate the state; spell out the entire word, e.g.: California. (Cannot be null. As a workaround for addresses that include no state/province string, pass a space as the “state” value.)' + example: Texas + zip: + type: string + description: The customer’s ZIP or postal code. + example: '78726' + country: + type: string + description: The customer’s country. Must be the full country name. + example: United States + country_iso2: + type: string + description: 2-letter ISO Alpha-2 code for the customer’s country. READ-ONLY + example: US + phone: + type: string + description: The customer’s phone number. + example: 123-345-7890 + address_type: + type: string + example: residential + enum: + - residential + - commercial + example: + id: 3 + customer_id: 5 + first_name: Jane + last_name: Doe + company: BigCommerce + street_1: 123 Main Street + street_2: '' + city: Austin + state: Texas + zip: '78726' + country: United States + country_iso2: US + phone: 123-345-7890 + address_type: residential + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/customerAddress_Full' - examples: + content: application/json: - id: 3 - customer_id: 5 - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: 78726 - country: United States - country_iso2: US - phone: 123-345-7890 - address_type: residental - Response Schema: - first_name: lab - last_name: sint quis ut et ad - street_1: enim do dolor - city: eu labore reprehenderit Lorem - state: veniam Excepteur - zip: ipsum eu mollit - country: dolor esse - phone: mollit - id: -64729440 - customer_id: -94613103 - company: veniam laborum elit - street_2: laboris esse do - country_iso2: laboris culpa velit - address_type: residential - tags: - - Customer Addresses - operationId: updateACustomerAddress + schema: + $ref: '#/components/schemas/customerAddress_Full' deprecated: true + x-codegen-request-body-name: body delete: - description: Deletes a *Customer Address*. + tags: + - Customer Addresses summary: Delete a Customer Address + description: Deletes a *Customer Address*. + operationId: deletesACustomerAddress parameters: - - name: customer_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: customer_id + in: path description: Id of the customer + required: true + schema: + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: customer_address_id in: path - type: integer description: Id of the customer address. required: true + schema: + type: integer responses: '204': description: '' - tags: - - Customer Addresses - operationId: deletesACustomerAddress + content: {} deprecated: true - parameters: - - name: customer_id - in: path - type: integer - required: true - description: Id of the customer - - name: customer_address_id - in: path - type: integer - description: Id of the customer address. - required: true - - type: string - name: store_hash - in: path - required: true '/stores/{store_hash}/v2/customers/{customer_id}/addresses/count': get: - description: Returns a count of addresses for a customer. + tags: + - Customer Addresses summary: Get a Count of Customer Addresses - produces: - - application/json + description: Returns a count of addresses for a customer. + operationId: getACountofCustomerAddresses parameters: - - name: customer_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: customer_id + in: path description: Id of the customer + required: true + schema: + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Number of pages + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Count per page + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number responses: '200': description: '' - schema: - $ref: '#/definitions/count_Full' - examples: + content: application/json: - count: 27 - tags: - - Customer Addresses - operationId: getACountofCustomerAddresses + schema: + $ref: '#/components/schemas/count_Full' + example: + count: 27 deprecated: true - parameters: - - name: customer_id - in: path - type: integer - required: true - description: Id of the customer - - type: string - name: store_hash - in: path - required: true '/stores/{store_hash}/v2/customer_groups': get: - description: 'Returns a list of *Customer Groups*. Default sorting is by customer-group id, from lowest to highest.' + tags: + - Customer Groups summary: Get All Customer Groups + description: 'Returns a list of *Customer Groups*. Default sorting is by customer-group id, from lowest to highest.' + operationId: getAllCustomerGroups parameters: - - name: Accept - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string + - name: Accept + in: header + required: true + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Number of pages + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Count per page + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: name in: query - required: false - type: string description: 'Filter customer groups by exact name match. Can use `name:like` to filter using a fuzzy matching method. This is good for implementing search.' + schema: + type: string - name: is_default in: query - required: false - type: boolean description: If customers who signup are added to this group by default - - $ref: '#/parameters/is_group_for_guests' + schema: + type: boolean + - name: is_group_for_guests + in: query + description: If the groups is for guests. There can only be one customer group for guests at a time. + schema: + type: boolean responses: '200': description: '' - schema: - type: array - items: - $ref: '#/definitions/customerGroup_Full' - examples: + content: application/json: - - id: 1 - name: B2B - is_default: false - category_access: - type: all - discount_rules: - - type: price_list - price_list_id: 1 - - id: 2 - name: 5% Discount - is_default: false - category_access: - type: specific - categories: - - 18 - - 19 - - 23 - - 34 - discount_rules: - - type: all - method: percent - amount: '5.0000' - is_group_for_guests: true - Response Schema: - - id: -17214385 - name: cupidatat labore - is_default: true - category_access: {} - discount_rules: - - type: sunt in ad ea - method: nisi aliquip et ut magna - amount: consectetur anim sed - - type: enim nulla magna - method: est sed adipisicing ut - amount: nostrud dolore sunt pariatur - - type: consequat ipsum sunt ut - method: dolor tempor labore - amount: aliquip eiusmo + schema: + type: array + items: + $ref: '#/components/schemas/customerGroup_Full' + post: tags: - Customer Groups - operationId: getAllCustomerGroups - post: summary: Create a Customer Group + description: |- + Creates a *Customer Group*. + **Required Fields** + * name + operationId: createACustomerGroup parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: X-Auth-Token in: header required: true - type: string - description: '' - - name: body - in: body - required: true - description: '' schema: - $ref: '#/definitions/customerGroup_Post' - x-examples: - application/json: - name: Student Discounts - discount_rules: - - type: price_list - price_list_id: 3 - Give a 5% Discount to All Members: |- - { - "name": "Student Discounts", - "discount_rules": - [{ - "type": "all", - "method": "percent", - "amount": 5.00 - }] - } - Restrict Categories for Group: - name: Bulk Purchasers - category_access: - type: specific - categories: - - 7 - - 12 - - 20 - Assign New Customers to a Group: |- - { - "name": "Retail Customers", - "is_default": true - } + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/customerGroup_Post' + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/customerGroup_Full' - examples: + content: application/json: - name: 5% Discount - is_default: false - category_access: - type: specific - categories: - - 18 - - 19 - - 23 - - 34 - discount_rules: - - type: all - method: percent - amount: '5.0000' - is_group_for_guests: true + schema: + $ref: '#/components/schemas/customerGroup_Full' '207': description: 'The customer group was created, but the sitewide discount update failed. You may retry the request.' - schema: - description: '' - type: object - x-examples: - example-1: - status: 207 - message: 'The customer group was created, but the sitewide discount update failed. You may retry the request.' - properties: - status: - type: number - message: - type: string - minLength: 1 - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false - description: |- - Creates a *Customer Group*. - - **Required Fields** - * name + content: + application/json: + schema: + type: object + properties: + status: + type: number + message: + minLength: 1 + type: string + description: '' + delete: tags: - Customer Groups - operationId: createACustomerGroup - delete: + summary: Delete Customer Groups description: |- By default, it deletes all *Customer Groups*. - All existing customers are unassigned from the group when it is deleted. - summary: Delete Customer Groups + operationId: deleteAllCustomerGroups parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json responses: '204': description: '' - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false - tags: - - Customer Groups - operationId: deleteAllCustomerGroups - parameters: - - type: string - name: store_hash - in: path - required: true + content: {} '/stores/{store_hash}/v2/customer_groups/{customer_group_id}': get: - description: Returns a *Customer Group*. + tags: + - Customer Groups summary: Get a Customer Group + description: Returns a *Customer Group*. + operationId: getACustomerGroup parameters: - - name: customer_group_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: customer_group_id + in: path description: Id of the customer group + required: true + schema: + type: integer - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Number of pages + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Count per page + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: name in: query - required: false - type: string description: Name of the customer groups + schema: + type: string - name: is_default in: query - required: false - type: boolean description: If customers who signup are added to this group by default + schema: + type: boolean responses: '200': description: '' - schema: - $ref: '#/definitions/customerGroup_Full' - examples: + content: application/json: - id: 2 - name: 5% Discount - is_default: false - category_access: - type: specific - categories: - - 18 - - 19 - - 23 - - 34 - discount_rules: - - type: all - method: percent - amount: '5.0000' - is_group_for_guests: true + schema: + $ref: '#/components/schemas/customerGroup_Full' + put: tags: - Customer Groups - operationId: getACustomerGroup - delete: + summary: Update a Customer Group description: |- - Deletes a *Customer Group*. + Updates a *Customer Group*. **Notes** - All existing customers are unassigned from the group when it is deleted. - summary: Delete a Customer Group + Any combination of fields can be updated at once. Discount rules are treated in bulk. The entire set of rules is overwritten when a request is sent. + operationId: updateACustomerGroup parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: customer_group_id in: path + description: Id of the customer group required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false - description: The id of the customer group. - - name: Accept + schema: + type: integer + - name: Accepts in: header required: true - type: string - description: '' - default: application/json + schema: + type: string - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - responses: - '204': - description: '' - tags: - - Customer Groups - operationId: deleteACustomerGroup - parameters: - - name: customer_group_id - in: path - type: integer - required: true - description: Id of the customer group - - type: string - name: store_hash - in: path - required: true - put: + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/customerGroup_Full' + required: false responses: '200': description: '' - schema: - $ref: '#/definitions/customerGroup_Full' - examples: + content: application/json: - id: 2 - name: 25% Discount - is_default: false - category_access: - type: specific - categories: - - 18 - - 19 - - 23 - - 34 - discount_rules: - - type: all - method: percent - amount: '25.0000' - is_group_for_guests: true - Response Schema: - id: -16565096 - name: consequat proident - is_default: true - category_access: {} - discount_rules: - - type: mollit laborum dolor enim - method: fugiat magna sint nostrud - amount: ea eiusmod ut ex - - type: aliquip laborum - method: Excepteur - amount: aliquip cillum est do + schema: + $ref: '#/components/schemas/customerGroup_Full' '207': description: 'The customer group was updated, but the sitewide discount update failed. You may retry the request.' - schema: - description: '' - type: object - properties: - status: - type: number - message: - type: string - minLength: 1 - required: - - status - - message - x-examples: - example-1: - status: 207 - message: 'The customer group was updated, but the sitewide discount update failed. You may retry the request.' - summary: Update a Customer Group + content: + application/json: + schema: + required: + - message + - status + type: object + properties: + status: + type: number + message: + minLength: 1 + type: string + description: '' + x-codegen-request-body-name: body + delete: + tags: + - Customer Groups + summary: Delete a Customer Group + description: |- + Deletes a *Customer Group*. + **Notes** + All existing customers are unassigned from the group when it is deleted. + operationId: deleteACustomerGroup parameters: - - in: path - name: customer_group_id - type: integer + - name: store_hash + in: path required: true - description: Id of the customer group - - in: header - name: Accepts - type: string + schema: + type: string + - name: customer_group_id + in: path + description: The id of the customer group. required: true - - in: header - name: Content-Type - type: string + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer + - name: Accept + in: header required: true - - in: body - name: body schema: - $ref: '#/definitions/customerGroup_Full' - x-examples: - application/json: - name: 25% off - discount_rules: - - type: all - method: percent - amount: '25.0000' - Bulk Update Rules: - discount_rules: - - type: all - method: percent - amount: 2.5 - - type: product - product_id: 33 - method: percent - amount: 5 - - type: category - category_id: 7 - method: price - amount: 12 - Price Lists: |- - { - "name": "Student Discounts", - "discount_rules": [ - { - "type": "price_list", - "price_list_id": 3 - } - ] - } - description: |- - Updates a *Customer Group*. - - **Notes** - - Any combination of fields can be updated at once. Discount rules are treated in bulk. The entire set of rules is overwritten when a request is sent. - tags: - - Customer Groups - operationId: updateACustomerGroup + type: string + default: application/json + - name: Content-Type + in: header + required: true + schema: + type: string + default: application/json + responses: + '204': + description: '' + content: {} '/stores/{store_hash}/v2/customer_groups/count': get: - description: 'Returns a count of all *Customer Groups*. ' + tags: + - Customer Groups summary: Get a Count of Customer Groups + description: 'Returns a count of all *Customer Groups*. ' + operationId: getACountOfCustomerGroups parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json + schema: + type: string + default: application/json responses: '200': description: '' - schema: - $ref: '#/definitions/count_Full' - examples: + content: application/json: - count: 27 - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false - tags: - - Customer Groups - operationId: getACountOfCustomerGroups - parameters: - - type: string - name: store_hash - in: path - required: true -definitions: - billingAddress_Full: - title: billingAddress_Full - type: object - properties: - first_name: - description: '' - example: Jane - type: string - last_name: - description: '' - example: Doe - type: string - company: - description: '' - type: string - street_1: - description: '' - example: 123 Main Street - type: string - street_2: - description: '' - type: string - city: - description: '' - example: Austin - type: string - state: - description: '' - example: TX - type: string - zip: - description: '' - example: '12345' - type: string - country: - description: '' - example: United States - type: string - country_iso2: - description: '' - example: US - type: string - phone: - description: '' - type: string - email: - description: '' - example: janedoe@example.com - type: string - form_fields: - description: '' - type: array - items: - title: Form Fields - type: object + schema: + $ref: '#/components/schemas/count_Full' + example: + count: 27 +components: + schemas: + billingAddress_Full: + title: billingAddress_Full + type: object + properties: + first_name: + type: string + description: '' + example: Jane + last_name: + type: string + description: '' + example: Doe + company: + type: string + description: '' + street_1: + type: string + description: '' + example: 123 Main Street + street_2: + type: string + description: '' + city: + type: string + description: '' + example: Austin + state: + type: string + description: '' + example: TX + zip: + type: string + description: '' + example: '12345' + country: + type: string + description: '' + example: United States + country_iso2: + type: string + description: '' + example: US + phone: + type: string + description: '' + email: + type: string + description: '' + example: janedoe@example.com + form_fields: + type: array + description: '' + items: + title: Form Fields + type: object + properties: + name: + type: string + description: Name of the form field + example: License Id + value: + type: string + description: Value of the form field + example: 123BAF + x-internal: false + customerFormFields: + title: customerFormFields + type: object + properties: + name: + type: string + description: Name of the form field + example: License Id + value: + type: string + description: Value of the form field + example: 123BAF + x-internal: false + shippingAddress_Full: + title: shippingAddress_Full + type: object + properties: + url: + type: string + description: URL of the shipping address for api requests + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/shippingaddresses' + resource: + type: string + description: '' + example: /orders/129/shippingaddresses + x-internal: false + customer_Full: + title: customer_Full + allOf: + - type: object properties: - name: - description: Name of the form field + id: + type: integer + description: Unique numeric ID of this customer. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + example: 1 + date_created: type: string - example: License Id - value: - description: Value of the form field + description: Date on which the customer registered from the storefront or was created in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + date_modified: type: string - example: 123BAF - x-internal: false - customerFormFields: - title: customerFormFields - type: object - properties: - name: - description: Name of the form field - type: string - example: License Id - value: - description: Value of the form field - type: string - example: 123BAF - x-internal: false - shippingAddress_Full: - title: shippingAddress_Full - type: object - properties: - url: - description: URL of the shipping address for api requests - example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/shippingaddresses' - type: string - resource: - description: '' - example: /orders/129/shippingaddresses - type: string - x-internal: false - customer_Full: - title: customer_Full - example: - id: 1 - _authentication: {} - company: BigCommerce - first_name: Jane - last_name: Doe - email: janedoe@example.com - phone: 1234567890 - date_created: 'Thu, 11 Jan 2018 20:57:52 +0000' - date_modified: 'Tue, 10 Apr 2018 18:59:05 +0000' - store_credit: 0 - registration_ip_address: 12.345.678.910 - customer_group_id: 2 - notes: '' - tax_exempt_category: '' - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - resource: /customers/5/addresses - form_fields: - - name: '' - value: '' - reset_pass_on_login: false - allOf: - - type: object - properties: - id: - description: Unique numeric ID of this customer. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 1 + description: | + Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + - $ref: '#/components/schemas/customer_Base' + x-internal: false + x-examples: {} + categoryAccessLevel_Full: + title: categoryAccessLevel_Full + type: object + properties: + type: + type: string + description: |- + + `all` - Customers can access all categories + + `specific` - Customers can access a specific list of categories + + `none` - Customers are prevented from viewing any of the categories in this group. + enum: + - all + - specific + - none + categories: + type: array + description: Is an array of category IDs and should be supplied only if `type` is specific. + example: + - 18 + - 19 + - 23 + - 34 + items: type: integer - date_created: - description: Date on which the customer registered from the storefront or was created in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 'Thu, 11 Jan 2018 20:57:52 +0000' - type: string - format: date-time - date_modified: - description: | - Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 'Tue, 10 Apr 2018 18:59:05 +0000' - type: string - format: date-time - - $ref: '#/definitions/customer_Base' - x-internal: false - categoryAccessLevel_Full: - title: categoryAccessLevel_Full - type: object - properties: - type: - type: string - enum: - - all - - specific - - none - description: |- - + `all` - Customers can access all categories - + `specific` - Customers can access a specific list of categories - + `none` - Customers are prevented from viewing any of the categories in this group. - categories: - description: Is an array of category IDs and should be supplied only if `type` is specific. - type: array - example: '18,19,23,34' - items: + x-internal: false + count_Full: + title: count_Full + type: object + properties: + count: + type: number + description: '' + example: 27 + example: + count: 27 + x-internal: false + customerAddress_Full: + title: customerAddress_Full + allOf: + - type: object + properties: + id: + type: integer + description: ID of this customer address. READ-ONLY + example: 3 + country_iso2: + type: string + description: 2-letter ISO Alpha-2 code for the customer’s country. READ-ONLY + example: US + - $ref: '#/components/schemas/customerAddress_Base' + x-internal: false + customerGroup_Full: + title: customerGroup_Full + type: object + properties: + id: type: integer - x-internal: false - count_Full: - title: count_Full - example: - count: 27 - type: object - properties: - count: - description: '' - example: 27 - type: number - x-internal: false - customerAddress_Full: - title: customerAddress_Full - example: - id: 3 - customer_id: 5 - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: 78726 - country: United States - country_iso2: US - phone: 123-345-7890 - address_type: residental - allOf: - - type: object - properties: - id: - description: ID of this customer address. READ-ONLY - example: 3 - type: integer - country_iso2: - description: 2-letter ISO Alpha-2 code for the customer’s country. READ-ONLY - example: US - type: string - - $ref: '#/definitions/customerAddress_Base' - x-internal: false - customerGroup_Full: - title: customerGroup_Full - type: object - description: 'When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [Control Panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing) this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior via API.' - properties: - id: - description: Id of the customer group - example: 1 - type: integer - name: - description: Name of the group - example: Wholesale - type: string - is_default: - description: Determines whether new customers are assigned to this group by default. - example: false - type: boolean - category_access: - $ref: '#/definitions/categoryAccessLevel_Full' - discount_rules: - description: A collection of discount rules that are automatically applied to customers who are members of the group - type: array - items: + description: Id of the customer group + example: 1 + name: + type: string + description: Name of the group + example: Wholesale + is_default: + type: boolean + description: Determines whether new customers are assigned to this group by default. + example: false + category_access: + $ref: '#/components/schemas/categoryAccessLevel_Full' + discount_rules: + type: array + description: A collection of discount rules that are automatically applied to customers who are members of the group + items: + type: object + properties: + type: + type: string + enum: + - price_list + - all + - category + - product + method: + type: string + enum: + - percent + - fixed + - price + amount: + type: string + description: A float that specifies the value applied to the price modified + example: '"5.0000" (Float, Float as String, Integer)' + price_list_id: + type: integer + description: 'If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned.' + example: 3 + is_group_for_guests: + type: boolean + description: If the groups is for guests. There can only be one customer group for guests at a time. + description: 'When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [Control Panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing) this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior via API.' + x-internal: false + country_Full: + title: country_Full + type: object + properties: + id: + type: integer + description: Id of the country. + example: 13 + country: + type: string + description: Country name. + example: Australia + country_iso2: + type: string + description: 2-letter country code. + example: AU + country_iso3: + type: string + description: 3-letter country code. + example: AUS + states: + title: States Resource type: object properties: - type: - type: string - enum: - - price_list - - all - - category - - product - method: + url: type: string - enum: - - percent - - fixed - - price - amount: + description: '' + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/countries/13/states' + resource: type: string - example: '"5.0000" (Float, Float as String, Integer)' - description: A float that specifies the value applied to the price modified - price_list_id: - type: integer - example: 3 - description: 'If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned.' - is_group_for_guests: - type: boolean - description: If the groups is for guests. There can only be one customer group for guests at a time. - x-internal: false - country_Full: - title: country_Full - example: - id: 13 - country: Australia - country_iso2: AU - country_iso3: AUS - states: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/countries/13/states' - resource: /countries/13/states - type: object - properties: - id: - description: Id of the country. - example: 13 - type: integer - country: - description: Country name. - example: Australia - type: string - country_iso2: - description: 2-letter country code. - example: AU - type: string - country_iso3: - description: 3-letter country code. - example: AUS - type: string - states: - title: States Resource - type: object - properties: - url: - description: '' - example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/countries/13/states' - type: string - resource: - description: '' - example: /countries/13/states - type: string - x-internal: false - statesResource_Full: - title: statesResource_Full - type: object - properties: - url: - description: '' - example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/countries/13/states' - type: string - resource: - description: '' - example: /countries/13/states - type: string - x-internal: false - state_Full: - title: state_Full - example: - id: 208 - state: Australian Capital Territory - state_abbreviation: ACT - country_id: 13 - type: object - properties: - id: - description: Numeric ID of the state/province. - example: 208 - type: integer - state: - description: Name of the state/province. - example: Australian Capital Territory - type: string - state_abbreviation: - description: Abbreviation for the state/province. - example: ACT - type: string - country_id: - description: Numeric ID of the state’s/province’s associated country. - example: 13 - type: integer - x-internal: false - customerGroup_Post: - title: customerGroup_Post - type: object - description: 'When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [Control Panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing) this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior via API.' - properties: - name: - description: Name of the group - example: Wholesale - type: string - is_default: - description: Determines whether new customers are assigned to this group by default. - example: false - type: boolean - category_access: - $ref: '#/definitions/categoryAccessLevel_Full' - discount_rules: - description: A collection of discount rules that are automatically applied to customers who are members of the group - type: array - items: + description: '' + example: /countries/13/states + example: + id: 13 + country: Australia + country_iso2: AU + country_iso3: AUS + states: + url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/countries/13/states' + resource: /countries/13/states + x-internal: false + statesResource_Full: + title: statesResource_Full + type: object + properties: + url: + type: string + description: '' + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/countries/13/states' + resource: + type: string + description: '' + example: /countries/13/states + x-internal: false + state_Full: + title: state_Full + type: object + properties: + id: + type: integer + description: Numeric ID of the state/province. + example: 208 + state: + type: string + description: Name of the state/province. + example: Australian Capital Territory + state_abbreviation: + type: string + description: Abbreviation for the state/province. + example: ACT + country_id: + type: integer + description: Numeric ID of the state’s/province’s associated country. + example: 13 + x-internal: false + customerGroup_Post: + title: customerGroup_Post + type: object + properties: + name: + type: string + description: Name of the group + example: Wholesale + is_default: + type: boolean + description: Determines whether new customers are assigned to this group by default. + example: false + category_access: + $ref: '#/components/schemas/categoryAccessLevel_Full' + discount_rules: + type: array + description: A collection of discount rules that are automatically applied to customers who are members of the group + items: + type: object + properties: + type: + type: string + enum: + - price_list + - all + - category + - product + method: + type: string + enum: + - percent + - fixed + - price + amount: + type: string + description: A float that specifies the value applied to the price modified + example: '"5.0000" (Float, Float as String, Integer)' + price_list_id: + type: integer + description: 'If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned.' + example: 3 + is_group_for_guests: + type: boolean + description: If the groups is for guests. There can only be one customer group for guests at a time. + description: 'When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [Control Panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing) this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior via API.' + x-internal: false + validatePassword: + type: object + properties: + success: + type: boolean + description: Will return `true` or `false` + x-internal: false + customer_Base: + title: customer_Base + type: object + x-internal: false + properties: + _authentication: type: object + description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' properties: - type: - type: string - enum: - - price_list - - all - - category - - product - method: + force_reset: + type: boolean + password: type: string - enum: - - percent - - fixed - - price - amount: + password_confirmation: type: string - example: '"5.0000" (Float, Float as String, Integer)' - description: A float that specifies the value applied to the price modified - price_list_id: - type: integer - example: 3 - description: 'If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned.' - is_group_for_guests: - type: boolean - description: If the groups is for guests. There can only be one customer group for guests at a time. - x-internal: false - validatePassword: - type: object - properties: - success: - type: boolean - description: Will return `true` or `false` - x-internal: false - customer_Base: - title: customer_Base - example: - id: 1 - _authentication: {} - company: BigCommerce - first_name: Jane - last_name: Doe - email: janedoe@example.com - phone: 1234567890 - date_created: 'Thu, 11 Jan 2018 20:57:52 +0000' - date_modified: 'Tue, 10 Apr 2018 18:59:05 +0000' - store_credit: 0 - registration_ip_address: 12.345.678.910 - customer_group_id: 2 - notes: '' - tax_exempt_category: '' - accepts_marketing: true - addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - resource: /customers/5/addresses - form_fields: - - name: '' - value: '' - reset_pass_on_login: false - type: object - properties: - _authentication: - description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' - type: object - properties: - force_reset: - type: boolean - password: - type: string - password_confirmation: - type: string - company: - description: The name of the company for which the customer works. - example: BigCommerce - type: string - first_name: - type: string - description: First name of the customer. - example: Jane - last_name: - type: string - description: Last name of the customer. - example: Doe - email: - type: string - description: Email address of the customer. - example: janedoe@example.com - phone: - description: Phone number of the customer. - example: 1234567890 - type: string - store_credit: - description: 'The amount of credit the customer has. (Float, Float as String, Integer)' - example: 0 - type: string - registration_ip_address: - description: The customer’s IP address when they signed up. - example: 12.345.678.910 - type: string - customer_group_id: - description: The group to which the customer belongs. - example: 2 - type: integer - notes: - description: Store-owner notes on the customer. - type: string - tax_exempt_category: - description: 'If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.' - type: string - accepts_marketing: - description: 'If the customer accepts product review emails or abandon cart emails. Read-Only. ' - example: true - type: boolean - readOnly: true - addresses: - title: Address Field Resource - type: object - properties: - url: - description: Full URL of where the resource is located. - example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - type: string - resource: - description: Resource being accessed. - example: /customers/5/addresses - type: string - form_fields: - description: Array of custom fields. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - type: array - items: - title: Form Fields + company: + type: string + description: The name of the company for which the customer works. + example: BigCommerce + first_name: + type: string + description: First name of the customer. + example: Jane + last_name: + type: string + description: Last name of the customer. + example: Doe + email: + type: string + description: Email address of the customer. + example: janedoe@example.com + phone: + type: string + description: Phone number of the customer. + example: '1234567890' + store_credit: + type: string + description: 'The amount of credit the customer has. (Float, Float as String, Integer)' + example: '0' + registration_ip_address: + type: string + description: The customer’s IP address when they signed up. + example: 12.345.678.910 + customer_group_id: + type: integer + description: The group to which the customer belongs. + example: 2 + notes: + type: string + description: Store-owner notes on the customer. + tax_exempt_category: + type: string + description: 'If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.' + accepts_marketing: + type: boolean + description: 'If the customer accepts product review emails or abandon cart emails. Read-Only. ' + example: true + readOnly: true + addresses: + title: Address Field Resource type: object properties: - name: - description: Name of the form field + url: type: string - example: License Id - value: - description: Value of the form field + description: Full URL of where the resource is located. + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' + resource: type: string - example: 123BAF - reset_pass_on_login: - description: Force a password change on next login. - example: false - type: boolean - required: - - first_name - - last_name - - email - x-internal: false - customerAddress_Base: - title: customerAddress_Base - example: - id: 3 - customer_id: 5 - first_name: Jane - last_name: Doe - company: BigCommerce - street_1: 123 Main Street - street_2: '' - city: Austin - state: Texas - zip: 78726 - country: United States - country_iso2: US - phone: 123-345-7890 - address_type: residental - type: object - properties: - customer_id: - description: ID of the associated customer. - example: 5 + description: Resource being accessed. + example: /customers/5/addresses + form_fields: + type: array + description: Array of custom fields. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + nullable: true + items: + title: Form Fields + type: object + properties: + name: + type: string + description: Name of the form field + example: License Id + value: + type: string + description: Value of the form field + nullable: true + reset_pass_on_login: + type: boolean + description: Force a password change on next login. + example: false + required: + - first_name + - last_name + - email + customerAddress_Base: + title: customerAddress_Base + required: + - city + - country + - first_name + - last_name + - phone + - state + - street_1 + - zip + type: object + properties: + customer_id: + type: integer + description: ID of the associated customer. + example: 5 + first_name: + type: string + description: The customer’s first name. + example: Jane + last_name: + type: string + description: The customer’s last name. + example: Doe + company: + type: string + description: The customer’s company name. + example: BigCommerce + street_1: + type: string + description: 'The customer’s street address, line 1.' + example: 123 Main Street + street_2: + type: string + description: 'The customer’s street address, line 2.' + city: + type: string + description: The customer’s city/town/suburb. + example: Austin + state: + type: string + description: 'The customer’s state/province. Do not abbreviate the state; spell out the entire word, e.g.: California. (Cannot be null. As a workaround for addresses that include no state/province string, pass a space as the “state” value.)' + example: Texas + zip: + type: string + description: The customer’s ZIP or postal code. + example: '78726' + country: + type: string + description: The customer’s country. Must be the full country name. + example: United States + phone: + type: string + description: The customer’s phone number. + example: 123-345-7890 + address_type: + type: string + example: residential + enum: + - residential + - commercial + parameters: + customer_id: + name: customer_id + in: path + description: ID of the customer + required: true + schema: type: integer - first_name: - type: string - description: The customer’s first name. - example: Jane - last_name: - type: string - description: The customer’s last name. - example: Doe - company: - description: The customer’s company name. - example: BigCommerce - type: string - street_1: - type: string - description: 'The customer’s street address, line 1.' - example: 123 Main Street - street_2: - description: 'The customer’s street address, line 2.' - type: string - city: - type: string - description: The customer’s city/town/suburb. - example: Austin - state: - type: string - description: 'The customer’s state/province. Do not abbreviate the state; spell out the entire word, e.g.: California. (Cannot be null. As a workaround for addresses that include no state/province string, pass a space as the “state” value.)' - example: Texas - zip: - type: string - description: The customer’s ZIP or postal code. - example: 78726 - country: - type: string - description: The customer’s country. Must be the full country name. - example: United States - phone: - type: string - description: The customer’s phone number. - example: 123-345-7890 - address_type: - type: string - enum: - - residential - - commercial - example: residential - required: - - first_name - - last_name - - street_1 - - city - - state - - zip - - country - - phone - x-internal: false -tags: - - name: Customers - - name: Customer Groups - - name: Customer Addresses - - name: Customer Passwords -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Customers | modify | `store_v2_customers` | - | Customers | read-only | `store_v2_customers_read_only` | - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] -parameters: - customer_id: - name: customer_id - in: path - type: integer - required: true - description: Id of the customer - customer_group_id: - name: customer_group_id - in: path - type: integer - required: true - description: Id of the customer group - customer_address_id: - name: customer_address_id - in: path - type: integer - description: Id of the customer address. - required: true - is_group_for_guests: - name: is_group_for_guests - in: query - type: boolean - description: If the groups is for guests. There can only be one customer group for guests at a time. + customer_group_id: + name: customer_group_id + in: path + description: ID of the customer group + required: true + schema: + type: integer + customer_address_id: + name: customer_address_id + in: path + description: ID of the customer address. + required: true + schema: + type: integer + is_group_for_guests: + name: is_group_for_guests + in: query + description: If the groups is for guests. There can only be one customer group for guests at a time. + schema: + type: boolean + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Customers | modify | `store_v2_customers` | + | Customers | read-only | `store_v2_customers_read_only` | + ### Headers + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + ### Example + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true showModels: false -responses: {} diff --git a/reference/form_fields.sf.yml b/reference/form_fields.sf.yml index ed0f38720..1301eac08 100644 --- a/reference/form_fields.sf.yml +++ b/reference/form_fields.sf.yml @@ -1,4 +1,4 @@ -swagger: '2.0' +openapi: 3.0.1 info: title: Storefront Form Fields (Beta) description: |- @@ -8,13 +8,16 @@ info: > #### Note > * Breaking changes may be introduced to this endpoint while in beta. version: '' -consumes: - - application/json -produces: - - application/json +servers: + - url: 'https://yourstore.example.com/api/storefront' +tags: + - name: Form Fields paths: /form-fields: get: + tags: + - Form Fields + summary: Get Form Fields description: |- Gets form fields. @@ -24,221 +27,106 @@ paths: parameters: - name: filter in: query - type: string - enum: - - customerAccount - - shippingAddress - - billingAddress + schema: + type: string + enum: + - customerAccount + - shippingAddress + - billingAddress responses: '200': description: Returns an object with form fields groups. - schema: - $ref: '#/definitions/FormFieldGroups' - examples: + content: application/json: - customerAccount: - - id: Excepteur - name: laboris minim reprehenderit - custom: false - label: Lorem - required: false - default: dolore - type: date - fieldType: radio - min: in Excepteur enim fugiat al - max: commodo - maxLength: -69844252 - secret: false - options: - helperLabel: nulla - items: - - value: fugiat sint est in in - label: sit velit - shippingAddress: - - id: sint - name: ex ut Duis veniam qui - custom: true - label: magna - required: true - default: veniam - type: string - fieldType: checkbox - min: tempor ut - max: ea reprehenderit in - maxLength: 528845 - secret: true - options: - helperLabel: eiusmod exercitation - items: - - value: deserunt exerc - label: enim ad id - billingAddress: - - id: cupidatat - name: laborum fugiat - custom: false - label: id reprehenderit dolore - required: true - default: ipsum dolore - type: array - fieldType: date - min: adipisicing ipsum nost - max: sit aute cillum commodo - maxLength: -98777935 - secret: true - options: - helperLabel: labore fugiat in - items: - - value: ad dolor - label: pariatur - - id: ea in Lorem adipisici - name: mollit tempor Lorem incididunt nulla - custom: false - label: Ut ut Excepteur eiusmod quis - required: false - default: esse - type: date - fieldType: radio - min: veniam pariatur et - max: Lorem Excepteur ad sint - maxLength: 82281003 - secret: false - options: - helperLabel: culpa id consequat - items: - - value: consectetur incididunt Duis deserunt Ut - label: sunt in - - id: labore aute elit in sed - name: ea magna dolor aute - custom: true - label: incididunt minim - required: true - default: in commodo - type: string - fieldType: radio - min: sunt - max: quis culpa cupidatat pariatur sunt - maxLength: 68647948 - secret: true - options: - helperLabel: moll - items: - - value: elit velit occaecat cupidatat - label: ex in ut nulla - - id: qui fugiat velit Excepteur et - name: enim dolor quis in - custom: true - label: laborum cupidatat elit sed - required: true - default: cillum - type: integer - fieldType: radio - min: incididunt irure aliquip - max: commodo sunt minim occaecat - maxLength: 77216978 - secret: false - options: - helperLabel: nulla - items: - - value: minim ad reprehenderit est - - label: sint - tags: - - Form Fields - summary: Get Form Fields -definitions: - FormFieldGroups: - type: object - description: Group of form field groups - properties: - customerAccount: - $ref: '#/definitions/FormFields' - shippingAddress: - $ref: '#/definitions/FormFields' - billingAddress: - $ref: '#/definitions/FormFields' - x-internal: false - FormFields: - type: array - description: List of form fields for the group - items: - $ref: '#/definitions/FormField' - x-internal: false - FormField: - type: object - description: Form Field - properties: - id: - type: string - description: Field unique ID - name: - type: string - description: Field name - custom: - type: boolean - description: Wether is a custom field or system built-in field. - label: - type: string - description: User-friendly label - required: - type: boolean - description: Wether this field is required or not - default: - type: string - description: The field unique ID - type: - type: string - description: Type of the value hold by the field - enum: - - integer - - string - - array - - date - fieldType: - type: string - description: Type of the field - enum: - - checkbox - - text - - date - - multiline - - radio - - dropdown - min: - type: string - description: The minimun valid value for the field (integer and date type only) - max: - type: string - description: The minimun valid value for the field (integer and date type only) - maxLength: - type: integer - description: The maximum length for the value (string type only) - secret: - type: boolean - description: Whether the field represents a password field - options: - type: object - description: 'Extra data for radio, dropdown and checkbox field types.' - properties: - helperLabel: - type: string - description: Placeholder text for dropdown field type. - items: - type: array - description: List of possible values for this field. + schema: + $ref: '#/components/schemas/FormFieldGroups' +components: + schemas: + FormFieldGroups: + type: object + description: Group of form field groups + x-internal: false + x-examples: {} + properties: + customerAccount: + $ref: '#/components/schemas/FormFields' + shippingAddress: + $ref: '#/components/schemas/FormFields' + billingAddress: + $ref: '#/components/schemas/FormFields' + FormFields: + type: array + description: List of form fields for the group + items: + $ref: '#/components/schemas/FormField' + x-internal: false + FormField: + type: object + properties: + id: + type: string + description: Field unique ID + name: + type: string + description: Field name + custom: + type: boolean + description: Wether is a custom field or system built-in field. + label: + type: string + description: User-friendly label + required: + type: boolean + description: Wether this field is required or not + default: + type: string + description: The field unique ID + type: + type: string + description: Type of the value hold by the field + enum: + - integer + - string + - array + - date + fieldType: + type: string + description: Type of the field + enum: + - checkbox + - text + - date + - multiline + - radio + - dropdown + min: + type: string + description: The minimun valid value for the field (integer and date type only) + max: + type: string + description: The minimun valid value for the field (integer and date type only) + maxLength: + type: integer + description: The maximum length for the value (string type only) + secret: + type: boolean + description: Whether the field represents a password field + options: + type: object + properties: + helperLabel: + type: string + description: Placeholder text for dropdown field type. items: - type: object - properties: - label: - type: string - value: - type: string - x-internal: false -tags: - - name: Form Fields -basePath: /api/storefront -host: '{$$.env.store_domain}' -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -schemes: - - https + type: array + description: List of possible values for this field. + items: + type: object + properties: + label: + type: string + value: + type: string + description: 'Extra data for radio, dropdown and checkbox field types.' + description: Form Field + x-internal: false diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index 2a10a747e..23f19d1c5 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -1,6 +1,5 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Marketing description: |- Manage coupons, banners, and gift certificates. @@ -31,17 +30,21 @@ info: ### Gift Certificates Gift certificates available to offer to a store’s customers. -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json + version: "" +servers: +- url: https://api.bigcommerce.com +security: +- X-Auth-Token: [] +tags: +- name: Banners +- name: Coupons +- name: Gift Certificates paths: - '/stores/{store_hash}/v2/coupons': + /stores/{store_hash}/v2/coupons: get: + tags: + - Coupons + summary: Get All Coupons description: |- Returns a list of *Coupons*. Default sorting is by coupon/discount id, from lowest to highest. Optional filter parameters can be passed in. @@ -69,95 +72,146 @@ paths: shipping_methods : null ... ``` - summary: Get All Coupons + operationId: getAllCoupons parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: id - in: query - required: false - type: string - description: 'Optional filter param. `/api/v2/coupons?id={value}`' - - name: code - in: query - required: false - type: string - description: 'Optional filter param `/api/v2/coupons?code={value}`' - - name: name - in: query - required: false - type: string - description: 'Optional filter param `/api/v2/coupons?name={value}`' - - name: type - in: query - required: false - type: string - description: |- - |Type| - |-| - |`per_item_discount`| - |`percentage_discount`| - |`per_total_discount`| - |`shipping_discount`| - |`free_shipping`| - |`promotion`| - - name: min_id - in: query - required: false - type: integer + - name: id + in: query + description: Optional filter param. `/api/v2/coupons?id={value}` + schema: + type: string + - name: code + in: query + description: Optional filter param `/api/v2/coupons?code={value}` + schema: + type: string + - name: name + in: query + description: Optional filter param `/api/v2/coupons?name={value}` + schema: + type: string + - name: type + in: query + description: |- + |Type| + |-| + |`per_item_discount`| + |`percentage_discount`| + |`per_total_discount`| + |`shipping_discount`| + |`free_shipping`| + |`promotion`| + schema: + type: string + - name: min_id + in: query + description: Optional filter param `/api/v2/coupons?min_id={value}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param `/api/v2/coupons?min_id={value}`' - - name: max_id - in: query - required: false type: integer + - name: max_id + in: query + description: Optional filter param`/api/v2/coupons?max_id={value}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param`/api/v2/coupons?max_id={value}`' - - name: page - in: query - required: false - type: number + type: integer + - name: page + in: query + description: Number of pages `/api/v2/coupons?page={number}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Number of pages `/api/v2/coupons?page={number}`' - - name: limit - in: query - required: false type: number + - name: limit + in: query + description: Count per page `/api/v2/coupons?limit={count}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Count per page `/api/v2/coupons?limit={count}`' - - in: query - name: exclude_type - type: string - description: |- - |Type| - |-| - |`per_item_discount`| - |`percentage_discount`| - |`per_total_discount`| - |`shipping_discount`| - |`free_shipping`| - |`promotion`| + type: number + - name: exclude_type + in: query + description: |- + |Type| + |-| + |`per_item_discount`| + |`percentage_discount`| + |`per_total_discount`| + |`shipping_discount`| + |`free_shipping`| + |`promotion`| + schema: + type: string responses: '200': - $ref: '#/responses/coupon_Resp_Collection' - tags: - - Coupons - operationId: getAllCoupons + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/coupon_Full' + example: + - id: 1 + name: $5 off + type: per_total_discount + amount: "5.0000" + min_purchase: "0.0000" + expires: "" + enabled: true + code: S2549JM0Y + applies_to: + entity: categories + ids: + - 0 + num_uses: 2 + max_uses: 0 + max_uses_per_customer: 0 + restricted_to: {} + shipping_methods: [] + date_created: Tue, 13 Mar 2018 16:18:59 +0000 + - id: 2 + name: Limit by Location + type: per_total_discount + amount: "5.0000" + min_purchase: "25.0000" + expires: "" + enabled: true + code: E3JC79S0I + applies_to: + entity: categories + ids: + - 0 + num_uses: 0 + max_uses: 25 + max_uses_per_customer: 0 + restricted_to: + countries: 'AU' + shipping_methods: + - shipping_endicia + date_created: Tue, 12 Jun 2018 20:22:19 +0000 post: + tags: + - Coupons + summary: Create a New Coupon description: |- Creates a *Coupon*. @@ -183,107 +237,136 @@ paths: * `percentage_discount` Legacy coupon codes only work with the store's default currency. Applying a coupon with any other currency other than the store's default will result in the error: "Coupons only apply to default currency." - - summary: Create a New Coupon parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/coupon_Base' - x-examples: - application/json: - name: 5% off order total - type: per_item_discount - code: 4F75AF0C3802D39 - enabled: true - amount: '5' - applies_to: - entity: categories - ids: - - 0 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/coupon_Base' + required: true responses: '201': - $ref: '#/responses/coupon_Resp' - tags: - - Coupons + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/coupon_Full' + example: + id: 1 + name: $5 off + type: per_total_discount + amount: "5.0000" + min_purchase: "0.0000" + expires: "" + enabled: true + code: S2549JM0Y + applies_to: + entity: categories + ids: + - 0 + num_uses: 2 + max_uses: 0 + max_uses_per_customer: 0 + restricted_to: {} + shipping_methods: [] + date_created: Tue, 13 Mar 2018 16:18:59 +0000 + x-codegen-request-body-name: body delete: + tags: + - Coupons + summary: Delete All Coupons description: | ## Usage Notes * Deleting a coupon via this endpoint will delete the coupon but not the promotion it is attached to - summary: Delete All Coupons + operationId: deleteAllCoupons parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: id:in - in: query - required: false + - name: id:in + in: query + description: Optional param to identify a comma separated list of ids for + coupons to delete in a batch. `/api/v2/coupons?id:in=1,2,3` + schema: type: string - description: 'Optional param to identify a comma separated list of ids for coupons to delete in a batch. `/api/v2/coupons?id:in=1,2,3`' responses: '204': - description: '' - tags: - - Coupons - operationId: deleteAllCoupons - parameters: - - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/coupons/count': + description: "" + content: {} + /stores/{store_hash}/v2/coupons/count: get: - description: Returns a count of all *Coupons* in the store. + tags: + - Coupons summary: Get a Count of Coupons + description: Returns a count of all *Coupons* in the store. + operationId: getACountOfCoupons parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json responses: '200': - $ref: '#/responses/count_Resp' - tags: - - Coupons - operationId: getACountOfCoupons - parameters: - - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/coupons/{id}': + description: "" + content: + application/json: + schema: + type: object + properties: + count: + minimum: 0 + type: integer + example: + count: 27 + /stores/{store_hash}/v2/coupons/{id}: put: + tags: + - Coupons + summary: Update a Coupon description: |- Updates a *Coupon*. @@ -297,146 +380,189 @@ paths: **Notes** If the `applies_to` value is cleared, you can restore it to the coupon by reapplying the `applies_to` value in a new `PUT` request. - summary: Update a Coupon + operationId: updateACoupon parameters: - - name: id - in: path - required: true - type: number + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: path + description: Id of the coupon. + required: true + schema: exclusiveMaximum: false exclusiveMinimum: false - description: Id of the coupon. - - name: Accept - in: header - required: true + type: number + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/coupon_Base' - x-examples: - application/json: - amount: '25.0000' - applies_to: - entity: categories - ids: - - 0 - code: 4F75AF0C3802K55 - enabled: false - expires: '01 Jun 2022 14:31:46 -0700' - max_uses: 0 - max_uses_per_customer: 1 - min_purchase: '150.0000' - name: $25 off! - restricted_to: - countries: - - AU - shipping_methods: null - type: per_total_discount + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/coupon_Base' + required: true responses: '200': - $ref: '#/responses/coupon_Resp' - tags: - - Coupons - operationId: updateACoupon + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/coupon_Full' + example: + id: 1 + name: $5 off + type: per_total_discount + amount: "5.0000" + min_purchase: "0.0000" + expires: "" + enabled: true + code: S2549JM0Y + applies_to: + entity: categories + ids: + - 0 + num_uses: 2 + max_uses: 0 + max_uses_per_customer: 0 + restricted_to: {} + shipping_methods: [] + date_created: Tue, 13 Mar 2018 16:18:59 +0000 + x-codegen-request-body-name: body delete: - description: Deletes a *Coupon*. + tags: + - Coupons summary: Delete a Coupon + description: Deletes a *Coupon*. + operationId: deleteACoupon parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: id - in: path - required: true + - name: id + in: path + required: true + schema: type: integer - description: '' responses: '204': - description: '' + description: "" + content: {} + /stores/{store_hash}/v2/banners: + get: tags: - - Coupons - operationId: deleteACoupon - parameters: - - name: id + - Banners + summary: Get All Banners + description: Returns a list of *Banners*. Default sorting is by banner id, from + lowest to highest. + operationId: getAllBanners + parameters: + - name: store_hash in: path - type: string required: true - - type: string - name: store_hash - in: path + schema: + type: string + - name: Accept + in: header required: true - '/stores/{store_hash}/v2/banners': - get: - description: 'Returns a list of *Banners*. Default sorting is by banner id, from lowest to highest.' - summary: Get All Banners - parameters: - - name: Accept - in: header - required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: min_id - in: query - required: false - type: integer + - name: min_id + in: query + description: Optional filter param `/api/v2/banners?min_id={value}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param `/api/v2/banners?min_id={value}`' - - name: max_id - in: query - required: false type: integer + - name: max_id + in: query + description: Optional filter param `/api/v2/banners?max_id={value}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param `/api/v2/banners?max_id={value}`' - - name: page - in: query - required: false - type: number + type: integer + - name: page + in: query + description: Optional filter param `/api/v2/banners?page={number}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param `/api/v2/banners?page={number}`' - - name: limit - in: query - required: false type: number + - name: limit + in: query + description: Optional filter param `/api/v2/banners?limit={count}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param `/api/v2/banners?limit={count}`' + type: number responses: '200': - $ref: '#/responses/bannerCollection_Resp' - tags: - - Banners - operationId: getAllBanners + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/banner_Full' + example: + - id: 1 + name: This is a banner + content: <p>This is a banner</p> + page: home_page + item_id: "0" + location: top + date_created: "1522169082" + date_type: always + date_from: "0" + date_to: "0" + visible: "1" + - id: 2 + name: 'Banner #2' + content: '<p>Banner # 2</p>' + page: category_page + item_id: "23" + location: top + date_created: "1522169169" + date_type: always + date_from: "0" + date_to: "0" + visible: "1" post: + tags: + - Banners + summary: Create a Banner description: |- Creates a *Banner*. @@ -450,311 +576,425 @@ paths: **Read Only Fields** * date_created * id - summary: Create a Banner - produces: - - application/json + operationId: createABanner parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/banner_Base' - x-examples: - application/json: - name: Sale Banner - content: <p> Sale! Tuesday at 9am! </p> - page: home_page - location: top - date_type: always - visible: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/banner_Base' + required: true responses: '200': - $ref: '#/responses/banner_Resp' - tags: - - Banners - operationId: createABanner + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/banner_Full' + example: + id: 1 + name: Sale Banner + content: <p> Sale! Tuesday at 9am! </p> + page: home_page + item_id: "0" + location: top + date_created: "1522169082" + date_type: always + date_from: "0" + date_to: "0" + visible: "1" + x-codegen-request-body-name: body delete: - description: 'By default, it deletes all *Banners*.' + tags: + - Banners summary: Delete All Banners + description: By default, it deletes all *Banners*. + operationId: deleteAllBanners parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json responses: '204': - description: '' - tags: - - Banners - operationId: deleteAllBanners - parameters: - - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/banners/{id}': + description: "" + content: {} + /stores/{store_hash}/v2/banners/{id}: get: - description: Returns a single *Banner* + tags: + - Banners summary: Get a Banner + description: Returns a single *Banner* + operationId: getABanner parameters: - - name: id - in: path - required: true - type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: path + description: Id of the banner. + required: true + schema: exclusiveMaximum: false exclusiveMinimum: false - description: Id of the banner. - - name: Accept - in: header - required: true + type: integer + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json responses: '200': - $ref: '#/responses/banner_Resp' - tags: - - Banners - operationId: getABanner + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/banner_Full' + example: + id: 1 + name: Sale Banner + content: <p> Sale! Tuesday at 9am! </p> + page: home_page + item_id: "0" + location: top + date_created: "1522169082" + date_type: always + date_from: "0" + date_to: "0" + visible: "1" put: + tags: + - Banners + summary: Update a Banner description: |- Updates a *Banner*. **Read Only Fields** * date_created * id - summary: Update a Banner + operationId: updateABanner parameters: - - name: id - in: path - required: true - type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: path + description: Id of the banner. + required: true + schema: exclusiveMaximum: false exclusiveMinimum: false - description: Id of the banner. - - name: Accept - in: header - required: true + type: integer + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: body - in: body - required: true - description: '' - schema: - $ref: '#/definitions/banner_Put' - x-examples: - application/json: - name: Home Page Banner + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/banner_Put' + required: true responses: '200': - $ref: '#/responses/banner_Resp' - tags: - - Banners - operationId: updateABanner + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/banner_Full' + example: + id: 1 + name: Sale Banner + content: <p> Sale! Tuesday at 9am! </p> + page: home_page + item_id: "0" + location: top + date_created: Tue, 13 Mar 2018 16:18:59 +0000 + date_type: always + date_from: "0" + date_to: "0" + visible: "1" + x-codegen-request-body-name: body delete: - description: Deletes a *Banner*. + tags: + - Banners summary: Delete a Banner + description: Deletes a *Banner*. + operationId: deleteABanner parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: id - in: path - required: true + - name: id + in: path + required: true + schema: type: integer - description: '' responses: '204': - description: '' + description: "" + content: {} + /stores/{store_hash}/v2/banners/count: + get: tags: - - Banners - operationId: deleteABanner - parameters: - - name: id + - Banners + summary: Get a Count of Store Banners + description: Returns a count of *Banners*. + operationId: getACountOfBanners + parameters: + - name: store_hash in: path - type: string required: true - - type: string - name: store_hash - in: path + schema: + type: string + - name: Accept + in: header required: true - '/stores/{store_hash}/v2/banners/count': - get: - description: Returns a count of *Banners*. - summary: Get a Count of Store Banners - parameters: - - name: Accept - in: header - required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json responses: '200': - $ref: '#/responses/count_Resp' - tags: - - Banners - operationId: getACountOfBanners - parameters: - - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/gift_certificates/{id}': + description: "" + content: + application/json: + schema: + type: object + properties: + count: + minimum: 0 + type: integer + example: + count: 27 + /stores/{store_hash}/v2/gift_certificates/{id}: get: - description: Returns a single *Gift Certificate*. + tags: + - Gift Certificates summary: Get a Gift Certificate + description: Returns a single *Gift Certificate*. + operationId: getAGiftCertificate parameters: - - name: id - in: path - required: true - type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: path + description: Id of the gift certificate. + required: true + schema: exclusiveMaximum: false exclusiveMinimum: false - description: Id of the gift certificate. - - name: Accept - in: header - required: true + type: integer + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json responses: '200': - $ref: '#/responses/giftCertificate_Resp' + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/giftCertificate_Full' + example: + id: 1 + customer_id: 5 + order_id: 116 + code: FFZ-5N4-C7M-S78 + to_name: John Doe + to_email: johndoe@example.com + from_name: Jane Doe + from_email: janedoe@example.com + amount: "10" + balance: "0" + status: active + template: "Birthday" + message: Happy Birthday! + purchase_date: "1520957992" + expiry_date: "0" + put: tags: - - Gift Certificates - operationId: getAGiftCertificate - delete: - description: Deletes a *Gift Certificate*. - summary: Delete a Gift Certificate + - Gift Certificates + summary: Update a Gift Certificate + description: |- + Updates a *Gift Certificate*. + + **Read Only Fields** + * id + * order_id + operationId: updateAGiftCertificate parameters: - - name: id - in: path - required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false - description: Id of the gift certificate. - - name: Accept - in: header - required: true + - name: id + in: path + required: true + schema: + type: string + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/giftCertificate_Put' + required: false responses: - '204': - description: '' + '200': + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/giftCertificate_Full' + example: + id: 1 + customer_id: 5 + order_id: 116 + code: FFZ-5N4-C7M-S78 + to_name: John Doe + to_email: johndoe@example.com + from_name: Jane Doe + from_email: janedoe@example.com + amount: "10" + balance: "0" + status: active + template: "Birthday" + message: Happy Birthday! + purchase_date: "1520957992" + expiry_date: "0" + x-codegen-request-body-name: body + delete: tags: - - Gift Certificates + - Gift Certificates + summary: Delete a Gift Certificate + description: Deletes a *Gift Certificate*. operationId: deleteAGiftCertificate - parameters: - - name: id + parameters: + - name: store_hash in: path - type: string required: true - - type: string - name: store_hash + schema: + type: string + - name: id in: path + description: Id of the gift certificate. required: true - put: - responses: - '200': - $ref: '#/responses/giftCertificate_Resp' - summary: Update a Gift Certificate - parameters: - - in: header - name: Accept + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer + - name: Accept + in: header + required: true + schema: type: string default: application/json - required: true - - in: header - name: Content-Type + - name: Content-Type + in: header + required: true + schema: type: string default: application/json - required: true - - in: body - name: body - schema: - $ref: '#/definitions/giftCertificate_Put' - x-examples: - application/json: - to_name: New testing - description: |- - Updates a *Gift Certificate*. - - **Read Only Fields** - * id - * order_id - tags: - - Gift Certificates - operationId: updateAGiftCertificate - '/stores/{store_hash}/v2/gift_certificates': - get: responses: - '200': - $ref: '#/responses/giftCertificateCollection_Resp' + '204': + description: "" + content: {} + /stores/{store_hash}/v2/gift_certificates: + get: + tags: + - Gift Certificates summary: Get All Gift Certificates description: |- Returns a list of *Gift Certificates*. Optional filter parameters can be passed in. @@ -762,81 +1002,121 @@ paths: Default sorting is by gift-certificate id, from lowest to highest. The maximum limit is 250. If a limit isn’t provided, up to 50 gift_certificates are returned by default. + operationId: getAllGiftCertificates parameters: - - in: query - name: min_id + - name: store_hash + in: path + required: true + schema: + type: string + - name: min_id + in: query + schema: type: integer - - in: query - name: max_id + - name: max_id + in: query + schema: type: integer - - in: query - name: code + - name: code + in: query + schema: type: string - - in: query - name: order_id + - name: order_id + in: query + schema: type: integer - - in: query - name: to_name + - name: to_name + in: query + schema: type: string - - in: query - name: to_email + - name: to_email + in: query + schema: type: string - - in: query - name: from_name + - name: from_name + in: query + schema: type: string - - in: query - name: from_email + - name: from_email + in: query + schema: type: string - - in: query - name: page + - name: page + in: query + schema: type: number - - in: query - name: limit + - name: limit + in: query + schema: type: number - - in: header - name: Accept + - name: Accept + in: header + required: true + schema: type: string default: application/json - required: true - - in: header - name: Content-Type + - name: Content-Type + in: header + required: true + schema: type: string - required: true default: application/json - tags: - - Gift Certificates - operationId: getAllGiftCertificates - post: responses: '200': - $ref: '#/responses/giftCertificate_Resp' - summary: Create a Gift Certificate - parameters: - - in: header - name: Accept - type: string - required: true - default: application/json - - in: header - name: Content-Type - type: string - required: true - default: application/json - - in: body - name: body - schema: - $ref: '#/definitions/giftCertificate_Post' - x-examples: + description: "" + content: application/json: - template: Birthday - message: Congratulations! - amount: '700.0000' - to_name: Jane - to_email: test@test.com - from_name: Tarzan - from_email: test1@test.com - code: XQ2-1R7-7C1-Q0C - status: active + schema: + type: array + items: + $ref: '#/components/schemas/giftCertificate_Full' + example: + - id: 24 + code: 10R-5E2-BO4-RWT + amount: "1000.0000" + status: active + balance: "500.0000" + to_name: Alyss + order_id: 1281 + template: "Celebration" + to_email: test@test.com + from_name: Noland + from_email: test1@test.com + customer_id: 0 + expiry_date: "0" + purchase_date: "1454432829" + - id: 25 + code: 10R-6E3-AO4-RST + amount: "700.0000" + status: active + balance: "700.0000" + to_name: Alyss + order_id: 0 + template: "General" + to_email: test@test.com + from_name: Noland + from_email: test1@test.com + customer_id: 0 + expiry_date: "0" + purchase_date: "1454433240" + - id: 27 + code: 15R-6E3-AO4-RST + amount: "50.0000" + status: active + balance: "50.0000" + to_name: Lyss + order_id: 0 + template: "Celebration" + to_email: test5@test.com + from_name: Somethingelse + from_email: test15@test.com + customer_id: 0 + expiry_date: "0" + purchase_date: "1454433621" + post: + tags: + - Gift Certificates + summary: Create a Gift Certificate description: |- Creates a *Gift Certificate*. @@ -855,222 +1135,292 @@ paths: **Notes** When a gift certificate is created through the API, no email notification is triggered to the specified recipient. - tags: - - Gift Certificates operationId: createAGiftCertificate - delete: - responses: - '204': - description: '' - schema: - type: object - properties: {} - summary: Delete All Gift Certificates parameters: - - in: header - name: Accept + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string default: application/json - - in: header - name: Content-Type + - name: Content-Type + in: header + required: true + schema: type: string default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/giftCertificate_Post' + required: false + responses: + '200': + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/giftCertificate_Full' + example: + id: 1 + customer_id: 5 + order_id: 116 + code: FFZ-5N4-C7M-S78 + to_name: John Doe + to_email: johndoe@example.com + from_name: Jane Doe + from_email: janedoe@example.com + amount: "10" + balance: "0" + status: active + template: "Birthday" + message: Happy Birthday! + purchase_date: "1520957992" + expiry_date: "0" + x-codegen-request-body-name: body + delete: tags: - - Gift Certificates - description: 'By default, it deletes all *Gift Certificates*.' + - Gift Certificates + summary: Delete All Gift Certificates + description: By default, it deletes all *Gift Certificates*. operationId: deleteAllGiftCertificates - parameters: - - type: string - name: store_hash + parameters: + - name: store_hash in: path required: true -definitions: - CouponsResource: - title: Coupon Resource - type: object - properties: - url: - description: URL of the coupons for api requests - example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/coupons' - type: string - resource: - description: resource of the coupons - example: /orders/129/coupons - type: string - x-internal: false - coupon_Full: - title: coupon_Full - allOf: - - type: object + schema: + type: string + - name: Accept + in: header + schema: + type: string + default: application/json + - name: Content-Type + in: header + schema: + type: string + default: application/json + responses: + '204': + description: "" + content: + application/json: + schema: + type: object +components: + schemas: + CouponsResource: + title: Coupon Resource + type: object + properties: + url: + type: string + description: URL of the coupons for api requests + example: https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/coupons + resource: + type: string + description: resource of the coupons + example: /orders/129/coupons + x-internal: false + coupon_Full: + title: coupon_Full + allOf: + - required: + - id + type: object properties: id: type: integer - description: The coupon's ID. This is a read-only field; do not set or modify its value in a POST or PUT request. + description: The coupon's ID. This is a read-only field; do not set or + modify its value in a POST or PUT request. example: 2 date_created: - description: Date Created - example: 'Tue, 13 Mar 2018 16:18:59 +0000' type: string + description: Date Created + example: Tue, 13 Mar 2018 16:18:59 +0000 num_uses: type: integer - description: Number of times this coupon has been used. This is a read-only field; do not set or modify its value in a POST or PUT request. + description: Number of times this coupon has been used. This is a read-only + field; do not set or modify its value in a POST or PUT request. example: 0 - required: - - id - - $ref: '#/definitions/coupon_Base' - x-internal: false - coupon_Base: - title: coupon_Base - example: - id: 2 - name: Australia Customers Discount - type: per_item_discount - amount: 5 - min_purchase: 25 - expires: '' - enabled: true - code: S2549JM0Y - applies_to: - entity: categories - ids: - - '0,3' - num_uses: 0 - max_uses: 25 - max_uses_per_customer: 0 - restricted_to: - countries: - - AU - shipping_methods: - - shipping_endicia - date_created: 'Tue, 13 Mar 2018 16:18:59 +0000' - type: object - properties: - name: - type: string - description: The name of the coupon. - example: Australia Customers Discount - type: - type: string - enum: + - $ref: '#/components/schemas/coupon_Base' + x-internal: false + coupon_Base: + title: coupon_Base + required: + - amount + - applies_to + - code + - name + - type + type: object + properties: + name: + type: string + description: The name of the coupon. + example: Australia Customers Discount + type: + type: string + enum: - per_item_discount - per_total_discount - shipping_discount - free_shipping - percentage_discount - promotion - amount: - type: string - description: 'The discount to apply to an order, as either an amount or a percentage. This field’s usage is determined by the coupon `type`. For example, a `type` of + `percentage_discount` would determine a percentage here.' - example: 5 - min_purchase: - description: Specifies a minimum value that an order must have before the coupon can be applied to it. - example: 25 - type: string - expires: - description: 'Specifies when a coupon expires. Coupons need not have an expiry date – you can also control expiry via + `max_uses` or `max_uses_per_customer`. If you do use this date field, the value must be in <a href="http://tools.ietf.org/html/rfc2822#section-3.3" target="_blank">RFC 2822</a> format.' - type: string - enabled: - description: 'If the coupon is enabled, this field’s value is `true`; otherwise, `false`.' - example: true - type: boolean - code: - type: string - description: 'The coupon code that customers will use to receive their discounts. Value must be unique. Only letters, numbers, white space, underscores, and hyphens are allowed.' - example: S2549JM0Y - pattern: '[a-zA-Z0-9_\ -]' - applies_to: - type: object - description: 'If it is not included in the PUT request, its existing value on the coupon will be cleared. Also required to be set on the POST request' - properties: - ids: - type: array - description: ID of either the products or categories - items: - type: integer - entity: - description: What the discount applies to. Can be products or categories. - type: string - max_uses: - description: Maximum number of times this coupon can be used. - example: 25 - type: integer - max_uses_per_customer: - description: Maximum number of times each customer can use this coupon. - example: 0 - type: integer - restricted_to: - type: object - properties: - countries: - type: string - '': - type: string - shipping_methods: - description: 'This is a list of shipping-method names. A shipping method must be enabled on the store to use it with a coupon. To check which shipping methods are enabled, please use the [List Shipping Methods](/api/v2#list-shipping-methods) endpoint.' - type: array - items: + amount: + type: string + description: The discount to apply to an order, as either an amount or a + percentage. This field’s usage is determined by the coupon `type`. For + example, a `type` of + `percentage_discount` would determine a percentage + here. + example: "5" + min_purchase: + type: string + description: Specifies a minimum value that an order must have before the + coupon can be applied to it. + example: "25" + expires: type: string - required: + description: Specifies when a coupon expires. Coupons need not have an expiry + date – you can also control expiry via + `max_uses` or `max_uses_per_customer`. + If you do use this date field, the value must be in <a href="http://tools.ietf.org/html/rfc2822#section-3.3" + target="_blank">RFC 2822</a> format. + enabled: + type: boolean + description: If the coupon is enabled, this field’s value is `true`; otherwise, + `false`. + example: true + code: + pattern: '[a-zA-Z0-9_\ -]' + type: string + description: The coupon code that customers will use to receive their discounts. + Value must be unique. Only letters, numbers, white space, underscores, + and hyphens are allowed. + example: S2549JM0Y + applies_to: + type: object + properties: + ids: + type: array + description: ID of either the products or categories + items: + type: integer + entity: + type: string + description: What the discount applies to. Can be products or categories. + description: If it is not included in the PUT request, its existing value + on the coupon will be cleared. Also required to be set on the POST request + max_uses: + type: integer + description: Maximum number of times this coupon can be used. + example: 25 + max_uses_per_customer: + type: integer + description: Maximum number of times each customer can use this coupon. + example: 0 + restricted_to: + type: object + properties: + countries: + type: string + ? + : type: string + shipping_methods: + type: array + description: This is a list of shipping-method names. A shipping method + must be enabled on the store to use it with a coupon. To check which shipping + methods are enabled, please use the [List Shipping Methods](/api/v2#list-shipping-methods) + endpoint. + items: + type: string + example: + id: 2 + name: Australia Customers Discount + type: per_item_discount + amount: "5" + min_purchase: "25" + expires: "" + enabled: true + code: S2549JM0Y + applies_to: + entity: categories + ids: [0,3] + num_uses: 0 + max_uses: 25 + max_uses_per_customer: 0 + restricted_to: + countries: "AU" + shipping_methods: + - shipping_endicia + date_created: Tue, 13 Mar 2018 16:18:59 +0000 + x-internal: false + banner_Base: + title: banner_Base + required: + - content + - date_type + - location - name - - type - - amount - - code - - applies_to - x-internal: false - banner_Base: - type: object - title: banner_Base - properties: - name: - type: string - example: Sale Banner - description: Name of the banner. - content: - type: string - example: <p> Sale! Tuesday at 9am! </p> - description: Contains the banner content. Returned as a string and includes HTML formatting. - page: - type: string - description: Page the Banner is located on. - enum: + - page + type: object + properties: + name: + type: string + description: Name of the banner. + example: Sale Banner + content: + type: string + description: Contains the banner content. Returned as a string and includes + HTML formatting. + example: <p> Sale! Tuesday at 9am! </p> + page: + type: string + description: Page the Banner is located on. + enum: - home_page - category_page - brand_page - search_page - location: - type: string - enum: + location: + type: string + description: Location on the page. + example: top + enum: - top - bottom - example: top - description: Location on the page. - date_type: - type: string - enum: + date_type: + type: string + description: This specifies whether the banner should be visible during + a specific date range. + enum: - always - custom - description: This specifies whether the banner should be visible during a specific date range. - date_from: - type: string - description: 'If the datetype is set as ''custom’, this field specifies the date when the banner should become visible on the storefront.' - example: '0' - date_to: - type: string - description: 'If the datetype is set as ''custom’, this field specifies the date when the banner should stop being visible on the storefront.' - example: '0' - visible: - type: string - description: 'Integer value denoting whether or not the banner is visible on the storefront: 1 = visible; 0 = not visible' - example: '1' - required: - - name - - content - - page - - location - - date_type - x-internal: false - banner_Full: - allOf: + date_from: + type: string + description: If the datetype is set as 'custom’, this field specifies the + date when the banner should become visible on the storefront. + example: "0" + date_to: + type: string + description: If the datetype is set as 'custom’, this field specifies the + date when the banner should stop being visible on the storefront. + example: "0" + visible: + type: string + description: 'Integer value denoting whether or not the banner is visible + on the storefront: 1 = visible; 0 = not visible' + example: "1" + x-internal: false + banner_Full: + title: banner_Full + allOf: - type: object properties: id: @@ -1081,66 +1431,68 @@ definitions: example: 1 date_created: type: string - format: date-time description: Date the banner is created. - example: '1522169082' item_id: type: string - description: If the banner is on a specific category or brand page then the `item_id` will correspond the category or brand id. - example: '0' - - $ref: '#/definitions/banner_Base' - title: banner_Full - x-internal: false - banner_Put: - allOf: + description: If the banner is on a specific category or brand page then + the `item_id` will correspond the category or brand id. + example: "0" + - $ref: '#/components/schemas/banner_Base' + x-internal: false + banner_Put: + title: banner_Put + allOf: - type: object properties: item_id: type: string - description: If the banner is on a specific category or brand page then the `item_id` will correspond the category or brand id. - example: '0' - - $ref: '#/definitions/banner_Base' - title: banner_Put - x-internal: false - giftCertificate_Base: - type: object - title: giftCertificate_Base - properties: - to_name: - type: string - description: Name of the recipient. - example: John Doe - to_email: - type: string - description: Email of the recipient. - example: johndoe@example.com - from_name: - type: string - description: Name of the customer who purchased the gift certificate. - example: Jane Doe - from_email: - type: string - description: Email of the customer who purchased the gift certificate. - example: janedoe@example.com - amount: - type: string - description: Value of the gift certificate. - example: '10' - required: - - to_name - - to_email - - from_name - - from_email + description: If the banner is on a specific category or brand page then + the `item_id` will correspond the category or brand id. + example: "0" + - $ref: '#/components/schemas/banner_Base' + x-internal: false + giftCertificate_Base: + title: giftCertificate_Base + required: - amount - x-internal: false - giftCertificate_Full: - allOf: - - $ref: '#/definitions/giftCertificate_Base' + - from_email + - from_name + - to_email + - to_name + type: object + properties: + to_name: + type: string + description: Name of the recipient. + example: John Doe + to_email: + type: string + description: Email of the recipient. + example: johndoe@example.com + from_name: + type: string + description: Name of the customer who purchased the gift certificate. + example: Jane Doe + from_email: + type: string + description: Email of the customer who purchased the gift certificate. + example: janedoe@example.com + amount: + type: string + description: Value of the gift certificate. + example: "10" + x-internal: false + giftCertificate_Full: + title: giftCertificate_Full + description: "" + allOf: + - $ref: '#/components/schemas/giftCertificate_Base' - type: object properties: id: type: integer - description: The ID of the gift certificate.This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + description: The ID of the gift certificate.This is a READ-ONLY field; + do not set or modify its value in a POST or PUT request. example: 1 customer_id: type: integer @@ -1152,135 +1504,124 @@ definitions: example: 116 balance: type: string - description: 'Remaining value of the gift certificate. If not set, will default to the amount.' - example: '0' + description: Remaining value of the gift certificate. If not set, will + default to the amount. + example: "0" purchase_date: type: string - description: 'Date the gift certificate was purchased. If not assigned, this will be set to today’s date. Date displays in Unix timestamp format.' - example: '1454432829' + description: Date the gift certificate was purchased. If not assigned, + this will be set to today’s date. Date displays in Unix timestamp format. + example: "1454432829" expiry_date: type: string description: Date on which the gift certificate is set to expire. template: type: string - enum: - - Birthday - - Girl - - Boy - - Celebration - - Christmas - - General description: The email theme to use in the message sent to the recipient. example: Celebration + enum: + - Birthday + - Girl + - Boy + - Celebration + - Christmas + - General message: type: string - description: 'Text that will be sent to the recipient, such as “Congratulations.”' + description: Text that will be sent to the recipient, such as “Congratulations.” example: Congratulations! code: + maxLength: 255 type: string description: |- A unique string that a customer can input to redeem a gift certificate. Values greater than 20 characters will be trimmed down to the first 20 characters and returned in the response. If this field is not set, a value will be autogenerated. example: FFZ-5N4-C7M-S78 - maxLength: 255 status: type: string - enum: - - active - - pending - - disabled - - expired example: active - title: giftCertificate_Full - description: '' - x-examples: - example-1: - to_name: John Doe - to_email: johndoe@example.com - from_name: Jane Doe - from_email: janedoe@example.com - amount: '10' - id: 1 - customer_id: 5 - order_id: 116 - balance: '0' - purchase_date: '1454432829' - expiry_date: string - template: Celebration - message: Congratulations! - code: FFZ-5N4-C7M-S78 - status: active - x-internal: false - giftCertificate_Put: - allOf: - - $ref: '#/definitions/giftCertificate_Base' + enum: + - active + - pending + - disabled + - expired + x-internal: false + giftCertificate_Put: + title: giftCertificate_Put + allOf: + - $ref: '#/components/schemas/giftCertificate_Base' - type: object properties: balance: type: string - description: 'Remaining value of the gift certificate. If not set, will default to the amount.' - example: '0' + description: Remaining value of the gift certificate. If not set, will + default to the amount. + example: "0" purchase_date: type: string - description: 'Date the gift certificate was purchased. If not assigned, this will be set to today’s date. Enter date in RFC-2822 format.' - example: 'Mon, 19 Jan 1970 07:21:46 CST' + description: Date the gift certificate was purchased. If not assigned, + this will be set to today’s date. Enter date in RFC-2822 format. + example: Mon, 19 Jan 1970 07:21:46 CST expiry_date: type: string description: Date on which the gift certificate is set to expire. - example: '1622583106' + example: "1622583106" customer_id: type: integer description: The ID of the customer placing the order. example: 5 template: type: string - enum: - - Birthday - - Boy - - Girl - - Celebration - - Christmas - - General description: The email theme to use in the message sent to the recipient. example: Celebration + enum: + - Birthday + - Boy + - Girl + - Celebration + - Christmas + - General message: type: string - description: 'Text that will be sent to the recipient, such as “Congratulations.”' + description: Text that will be sent to the recipient, such as “Congratulations.” example: Congratulations! code: + maxLength: 255 type: string description: |- A unique string that a customer can input to redeem a gift certificate. Values greater than 20 characters will be trimmed down to the first 20 characters and returned in the response. If this field is not set, a value will be autogenerated. example: FFZ-5N4-C7M-S78 - maxLength: 255 status: type: string - enum: - - active - - pending - - expired - - disabled example: active - title: giftCertificate_Put - x-internal: false - giftCertificate_Post: - allOf: - - $ref: '#/definitions/giftCertificate_Base' + enum: + - active + - pending + - expired + - disabled + x-internal: false + giftCertificate_Post: + title: giftCertificate_Post + description: "" + allOf: + - $ref: '#/components/schemas/giftCertificate_Base' - type: object properties: balance: type: string - description: 'Remaining value of the gift certificate. If not set, will default to the amount.' - example: '0' + description: Remaining value of the gift certificate. If not set, will + default to the amount. + example: "0" purchase_date: type: string - description: 'Date the gift certificate was purchased. If not assigned, this will be set to today’s date. Enter date in RFC-2822 format.' - example: 'Mon, 19 Jan 1970 07:21:46 CST' + description: Date the gift certificate was purchased. If not assigned, + this will be set to today’s date. Enter date in RFC-2822 format. + example: Mon, 19 Jan 1970 07:21:46 CST expiry_date: type: string description: Date on which the gift certificate is set to expire. - example: '1622583106' + example: "1622583106" customer_id: type: integer description: The ID of the customer placing the order. @@ -1288,34 +1629,34 @@ definitions: template: type: string description: The email theme to use in the message sent to the recipient. - enum: - - Birthday - - Boy - - Girl - - Celebration - - Christmas - - General example: Celebration + enum: + - Birthday + - Boy + - Girl + - Celebration + - Christmas + - General message: + maxLength: 250 type: string - description: 'Text that will be sent to the recipient, such as “Congratulations.”' + description: Text that will be sent to the recipient, such as “Congratulations.” example: Congratulations! - maxLength: 250 code: + maxLength: 255 type: string description: |- A unique string that a customer can input to redeem a gift certificate. Values greater than 20 characters will be trimmed down to the first 20 characters and returned in the response. If this field is not set, a value will be autogenerated. example: FFZ-5N4-C7M-S78 - maxLength: 255 status: type: string - enum: - - active - - pending - - expired - - disabled example: active + enum: + - active + - pending + - expired + - disabled currency_code: type: string description: |- @@ -1323,245 +1664,243 @@ definitions: Gift Certificates can only be used if the transactional currency of the cart is the same to the one defined in the gift certificate. If this value is not provided, the gift certificate is created using the store's default transactional currency example: USD - title: giftCertificate_Post - description: '' - x-internal: false -tags: - - name: Banners - - name: Coupons - - name: Gift Certificates -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Marketing | modify | `store_v2_marketing` | - | Marketing | read-only | `store_v2_marketing_read_only` | + x-internal: false + responses: + bannerCollection_Resp: + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/banner_Full' + example: + - id: 1 + name: This is a banner + content: <p>This is a banner</p> + page: home_page + item_id: "0" + location: top + date_created: "1522169082" + date_type: always + date_from: "0" + date_to: "0" + visible: "1" + - id: 2 + name: 'Banner #2' + content: '<p>Banner # 2</p>' + page: category_page + item_id: "23" + location: top + date_created: "1522169169" + date_type: always + date_from: "0" + date_to: "0" + visible: "1" + banner_Resp: + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/banner_Full' + example: + id: 1 + name: Sale Banner + content: <p> Sale! Tuesday at 9am! </p> + page: home_page + item_id: "0" + location: top + date_created: '1522169082' + date_type: always + date_from: "0" + date_to: "0" + visible: "1" + count_Resp: + description: "" + content: + application/json: + schema: + type: object + properties: + count: + minimum: 0 + type: integer + example: + count: 27 + coupon_Resp: + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/coupon_Full' + example: + id: 1 + name: $5 off + type: per_total_discount + amount: "5.0000" + min_purchase: "0.0000" + expires: "" + enabled: true + code: S2549JM0Y + applies_to: + entity: categories + ids: + - 0 + num_uses: 2 + max_uses: 0 + max_uses_per_customer: 0 + restricted_to: {} + shipping_methods: [] + date_created: Tue, 13 Mar 2018 16:18:59 +0000 + coupon_Resp_Collection: + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/coupon_Full' + example: + - id: 1 + name: $5 off + type: per_total_discount + amount: "5.0000" + min_purchase: "0.0000" + expires: "" + enabled: true + code: S2549JM0Y + applies_to: + entity: categories + ids: + - 0 + num_uses: 2 + max_uses: 0 + max_uses_per_customer: 0 + restricted_to: {} + shipping_methods: [] + date_created: Tue, 13 Mar 2018 16:18:59 +0000 + - id: 2 + name: Limit by Location + type: per_total_discount + amount: "5.0000" + min_purchase: "25.0000" + expires: "" + enabled: true + code: E3JC79S0I + applies_to: + entity: categories + ids: + - 0 + num_uses: 0 + max_uses: 25 + max_uses_per_customer: 0 + restricted_to: + countries: AU + shipping_methods: + - shipping_endicia + date_created: Tue, 12 Jun 2018 20:22:19 +0000 + giftCertificateCollection_Resp: + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/giftCertificate_Full' + example: + - id: 24 + code: 10R-5E2-BO4-RWT + amount: "1000.0000" + status: active + balance: "500.0000" + to_name: Alyss + order_id: 1281 + template: "Girl" + to_email: test@test.com + from_name: Noland + from_email: test1@test.com + customer_id: 5 + expiry_date: "0" + purchase_date: "1454432829" + - id: 25 + code: 10R-6E3-AO4-RST + amount: "700.0000" + status: active + balance: "700.0000" + to_name: Alyss + order_id: 0 + template: "Boy" + to_email: test@test.com + from_name: Noland + from_email: test1@test.com + customer_id: 0 + expiry_date: "0" + purchase_date: "1454433240" + - id: 27 + code: 15R-6E3-AO4-RST + amount: "50.0000" + status: active + balance: "50.0000" + to_name: Lyss + order_id: 0 + template: "Christmas" + to_email: test5@test.com + from_name: Somethingelse + from_email: test15@test.com + customer_id: 0 + expiry_date: "0" + purchase_date: "1454433621" + giftCertificate_Resp: + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/giftCertificate_Full' + example: + id: 1 + customer_id: 5 + order_id: 116 + code: FFZ-5N4-C7M-S78 + to_name: John Doe + to_email: johndoe@example.com + from_name: Jane Doe + from_email: janedoe@example.com + amount: "10" + balance: "0" + status: active + template: "Birthday" + message: Happy Birthday! + purchase_date: "1520957992" + expiry_date: "0" + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Marketing | modify | `store_v2_marketing` | + | Marketing | read-only | `store_v2_marketing_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true showModels: false -responses: - coupon_Resp: - description: '' - schema: - $ref: '#/definitions/coupon_Full' - examples: - application/json: - id: 1 - name: $5 off - type: per_total_discount - amount: '5.0000' - min_purchase: '0.0000' - expires: '' - enabled: true - code: S2549JM0Y - applies_to: - entity: categories - ids: - - 0 - num_uses: 2 - max_uses: 0 - max_uses_per_customer: 0 - restricted_to: [] - shipping_methods: {} - date_created: 'Tue, 13 Mar 2018 16:18:59 +0000' - coupon_Resp_Collection: - description: '' - schema: - type: array - items: - $ref: '#/definitions/coupon_Full' - examples: - application/json: - - id: 1 - name: $5 off - type: per_total_discount - amount: '5.0000' - min_purchase: '0.0000' - expires: '' - enabled: true - code: S2549JM0Y - applies_to: - entity: categories - ids: - - 0 - num_uses: 2 - max_uses: 0 - max_uses_per_customer: 0 - restricted_to: [] - shipping_methods: {} - date_created: 'Tue, 13 Mar 2018 16:18:59 +0000' - - id: 2 - name: Limit by Location - type: per_total_discount - amount: '5.0000' - min_purchase: '25.0000' - expires: '' - enabled: true - code: E3JC79S0I - applies_to: - entity: categories - ids: - - 0 - num_uses: 0 - max_uses: 25 - max_uses_per_customer: 0 - restricted_to: - countries: - - AU - shipping_methods: - - shipping_endicia - date_created: 'Tue, 12 Jun 2018 20:22:19 +0000' - bannerCollection_Resp: - description: '' - schema: - type: array - items: - $ref: '#/definitions/banner_Full' - examples: - application/json: - - id: 1 - name: This is a banner - content: <p>This is a banner</p> - page: home_page - item_id: '0' - location: top - date_created: '1522169082' - date_type: always - date_from: '0' - date_to: '0' - visible: '1' - - id: 2 - name: 'Banner #2' - content: '<p>Banner # 2</p>' - page: category_page - item_id: '23' - location: top - date_created: '1522169169' - date_type: always - date_from: '0' - date_to: '0' - visible: '1' - banner_Resp: - description: '' - schema: - $ref: '#/definitions/banner_Full' - examples: - application/json: - id: 1 - name: Sale Banner - content: <p> Sale! Tuesday at 9am! </p> - page: home_page - item_id: 0 - location: top - date_created: 1522169082 - date_type: always - date_from: 0 - date_to: 0 - visible: 1 - count_Resp: - description: '' - schema: - type: object - properties: - count: - type: integer - minimum: 0 - examples: - application/json: - count: 27 - giftCertificate_Resp: - description: '' - schema: - $ref: '#/definitions/giftCertificate_Full' - examples: - application/json: - id: 1 - customer_id: 5 - order_id: 116 - code: FFZ-5N4-C7M-S78 - to_name: John Doe - to_email: johndoe@example.com - from_name: Jane Doe - from_email: janedoe@example.com - amount: 10 - balance: 0 - status: active - template: false - message: Happy Birthday! - purchase_date: 1520957992 - expiry_date: 0 - giftCertificateCollection_Resp: - description: '' - schema: - type: array - items: - $ref: '#/definitions/giftCertificate_Full' - examples: - application/json: - - id: '24' - code: 10R-5E2-BO4-RWT - amount: '1000.0000' - status: active - balance: '500.0000' - to_name: Alyss - order_id: '1281' - template: 'false' - to_email: test@test.com - from_name: Noland - from_email: test1@test.com - customer_id: '0' - expiry_date: '0' - purchase_date: '1454432829' - - id: '25' - code: 10R-6E3-AO4-RST - amount: '700.0000' - status: active - balance: '700.0000' - to_name: Alyss - order_id: '0' - template: 'false' - to_email: test@test.com - from_name: Noland - from_email: test1@test.com - customer_id: '0' - expiry_date: '0' - purchase_date: '1454433240' - - id: '27' - code: 15R-6E3-AO4-RST - amount: '50.0000' - status: active - balance: '50.0000' - to_name: Lyss - order_id: '0' - template: 'false' - to_email: test5@test.com - from_name: Somethingelse - from_email: test15@test.com - customer_id: '0' - expiry_date: '0' - purchase_date: '1454433621' diff --git a/reference/orders.sf.yml b/reference/orders.sf.yml index d26e54af3..8a7b70270 100644 --- a/reference/orders.sf.yml +++ b/reference/orders.sf.yml @@ -1,509 +1,521 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Storefront Orders description: Get order data immediately after an order is placed on the storefront. - termsOfService: '' -host: '{$$.env.store_domain}' -basePath: /api/storefront + termsOfService: "" + version: "" +servers: +- url: https://api.bigcommerce.com/api/storefront tags: - - name: Order -schemes: - - https -consumes: - - application/json -produces: - - application/json +- name: Order paths: - '/orders/{orderId}': + /orders/{orderId}: get: + tags: + - Order + summary: Get Order description: |- Returns *Order* data. This will return order data immediately after an order is placed on the storefront. <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - summary: Get Order - tags: - - Order operationId: OrdersByOrderIdGet - produces: - - application/json parameters: - - name: orderId - in: path - required: true - type: integer - format: int32 + - name: orderId + in: path + description: ID of an Order. + required: true + schema: exclusiveMaximum: false exclusiveMinimum: false - description: ID of an Order. + type: integer + format: int32 responses: '200': - $ref: '#/responses/order_Resp' -definitions: - Data: - title: Data - description: 'Response data container for Order endpoints (`POST /order` and `POST /order/{orderId}`).' - type: object - properties: - order: - $ref: '#/definitions/Order' - x-internal: false - Order: - title: Order - type: object - properties: - orderId: - type: number - description: '' - format: double - minimum: 1 - multipleOf: 1 - cartId: - description: The Id of cart that was converted to order. - type: string - format: uuid - currency: - $ref: '#/definitions/Currency' - isTaxIncluded: - description: Whether this item is taxable. - type: boolean - baseAmount: - description: 'Cost of cart''s contents, before applying discounts.' - type: number - format: double - discountAmount: - description: Discounted amount. - type: number - format: float - giftWrappingCostTotal: - type: number - description: 'Gift wrapping for all items, including or excluding tax.' - orderAmount: - description: 'Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes (where applicable).' - type: number - format: double - orderAmountAsInteger: - description: Order amount represented in integer. Eg. 1234 for $12.34 - type: number - format: double - coupons: - description: Array of `AppliedCoupon` objects applied to this cart. - type: array - items: - $ref: '#/definitions/AppliedCoupon' - lineItems: - description: Array of `LineItem` objects. - type: array - items: - $ref: '#/definitions/OrderLineItem' - customerId: - description: '' - type: string - billingAddress: - $ref: '#/definitions/AddressProperties' - status: - $ref: '#/definitions/Status' - hasDigitalItems: - description: Specifies whether this order has at least one digital item. - type: boolean - isDownloadable: - description: 'Specifies whether this order is fully paid, so that digital items can be downloaded.' - type: boolean - isComplete: - description: Specifies whether this order is complete and ready to be taken to the order confirmation page. - type: boolean - customerMessage: - description: Shopper's provided message for the order - type: string - shippingCostTotal: - type: integer - shippingCostBeforeDiscount: - type: integer - handlingCostTotal: - type: integer - customerCanBeCreated: - type: boolean - taxes: - type: array - items: - type: object - properties: - name: - type: string - amount: - type: integer - taxTotal: - type: integer - channelId: - type: number - description: Id of the channel which the order belongs to. - consignments: - $ref: '#/definitions/Consignments' - x-internal: false - Currency: - title: Currency - description: This will always be the same between cart and checkout. - type: object - properties: - name: - description: The currency name. - type: string - code: - description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' - type: string - symbol: - description: The currency symbol. - type: string - decimalPlaces: - description: 'Number of decimal places for the currency. For example, USD currency has two decimal places.' - type: number - format: double - x-internal: false - AppliedCoupon: - title: Applied Coupon - type: object - properties: - id: - description: The coupon ID. - type: string - code: - description: the coupon code - type: string - displayName: - description: The coupon title based on different types provided in control panel section - type: string - couponType: - description: Key name to identify the type of coupon. - type: string - discountedAmount: - description: The discounted amount applied within a given context. - type: number - format: double - required: + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/Order' +components: + schemas: + Data: + title: Data + type: object + properties: + order: + $ref: '#/components/schemas/Order' + description: Response data container for Order endpoints (`POST /order` and + `POST /order/{orderId}`). + x-internal: false + Order: + title: Order + type: object + properties: + orderId: + multipleOf: 1 + minimum: 1 + type: number + description: "" + format: double + cartId: + type: string + description: The Id of cart that was converted to order. + format: uuid + currency: + $ref: '#/components/schemas/Currency' + isTaxIncluded: + type: boolean + description: Whether this item is taxable. + baseAmount: + type: number + description: Cost of cart's contents, before applying discounts. + format: double + discountAmount: + type: number + description: Discounted amount. + format: float + giftWrappingCostTotal: + type: number + description: Gift wrapping for all items, including or excluding tax. + orderAmount: + type: number + description: Sum of line-items amounts, minus cart-level discounts and coupons. + This amount includes taxes (where applicable). + format: double + orderAmountAsInteger: + type: number + description: Order amount represented in integer. Eg. 1234 for $12.34 + format: double + coupons: + type: array + description: Array of `AppliedCoupon` objects applied to this cart. + items: + $ref: '#/components/schemas/AppliedCoupon' + lineItems: + type: array + description: Array of `LineItem` objects. + items: + $ref: '#/components/schemas/OrderLineItem' + customerId: + type: string + description: "" + billingAddress: + $ref: '#/components/schemas/AddressProperties' + status: + $ref: '#/components/schemas/Status' + hasDigitalItems: + type: boolean + description: Specifies whether this order has at least one digital item. + isDownloadable: + type: boolean + description: Specifies whether this order is fully paid, so that digital + items can be downloaded. + isComplete: + type: boolean + description: Specifies whether this order is complete and ready to be taken + to the order confirmation page. + customerMessage: + type: string + description: Shopper's provided message for the order + shippingCostTotal: + type: integer + shippingCostBeforeDiscount: + type: integer + handlingCostTotal: + type: integer + customerCanBeCreated: + type: boolean + taxes: + type: array + items: + type: object + properties: + name: + type: string + amount: + type: integer + taxTotal: + type: integer + channelId: + type: number + description: Id of the channel which the order belongs to. + consignments: + $ref: '#/components/schemas/Consignments' + x-internal: false + Currency: + title: Currency + type: object + properties: + name: + type: string + description: The currency name. + code: + type: string + description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' + symbol: + type: string + description: The currency symbol. + decimalPlaces: + type: number + description: Number of decimal places for the currency. For example, USD + currency has two decimal places. + format: double + description: This will always be the same between cart and checkout. + x-internal: false + AppliedCoupon: + title: Applied Coupon + required: - code - x-internal: false - AppliedDiscount: - title: Applied Discount - type: object - properties: - coupon: - type: number - description: 'Property key is discount ID, value is discount amount.' - example: 8.28 - x-internal: false - OrderLineItem: - title: Order Line Item - type: object - properties: - physicalItems: - description: Array of `ItemPhysical` objects. - type: array - items: - $ref: '#/definitions/ItemPhysical' - digitalItems: - description: Array of `ItemDigital` objects. - type: array - items: - $ref: '#/definitions/OrderItemDigital' - giftCertificate: - description: Array of `ItemGiftCertificate` objects. - type: array - items: - $ref: '#/definitions/OrderItemGiftCertificate' - required: - - physicalItems + type: object + properties: + id: + type: string + description: The coupon ID. + code: + type: string + description: the coupon code + displayName: + type: string + description: The coupon title based on different types provided in control + panel section + couponType: + type: string + description: Key name to identify the type of coupon. + discountedAmount: + type: number + description: The discounted amount applied within a given context. + format: double + x-internal: false + AppliedDiscount: + title: Applied Discount + type: object + properties: + coupon: + type: number + description: Property key is discount ID, value is discount amount. + example: 8.28 + x-internal: false + OrderLineItem: + title: Order Line Item + required: - digitalItems - giftCertificate - x-internal: false - ItemPhysical: - title: Item Physical - type: object - properties: - id: - description: The line-item ID. - type: string - parentId: - description: Bundled items will have their parent's item Id. - type: string - variantId: - description: ID of the variant. - type: number - format: double - productId: - description: ID of the product. - type: number - format: double - sku: - description: SKU of the variant. - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - quantity: - description: Quantity of this item. - type: number - format: double - isTaxable: - description: Whether the item is taxable. - type: boolean - imageUrl: - description: 'URL of an image of this item, accessible on the internet.' - type: string - discounts: - description: 'List of discounts applied to this item. If no discount applied, empty array is returned. If discount has been applied, discount object returned. ' - oneOf: - - $ref: '#/definitions/AppliedDiscount' - - type: array - discountAmount: - description: The total value of all discounts applied to this item (excluding coupon). - type: number - format: double - couponAmount: - description: The total value of all coupons applied to this item. - type: number - format: double - listPrice: - description: 'Item''s list price, as quoted by the manufacturer/distributor.' - type: number - format: double - salePrice: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extendedListPrice: - description: Item's list price multiplied by the quantity. - type: number - format: double - extendedSalePrice: - description: Item's sale price multiplied by the quantity. - type: number - format: double - type: - description: the product type - physical or digital - type: string - addedByPromotion: - description: Whether this item has been added automatically by a promotion. - type: boolean - isShippingRequired: - description: Whether this item requires shipping to a physical address. - type: boolean - giftWrapping: - $ref: '#/definitions/GiftWrapping' - categories: - type: array - description: 'Categories the item belongs to. ' - items: {} - required: + - physicalItems + type: object + properties: + physicalItems: + type: array + description: Array of `ItemPhysical` objects. + items: + $ref: '#/components/schemas/ItemPhysical' + digitalItems: + type: array + description: Array of `ItemDigital` objects. + items: + $ref: '#/components/schemas/OrderItemDigital' + giftCertificate: + type: array + description: Array of `ItemGiftCertificate` objects. + items: + $ref: '#/components/schemas/OrderItemGiftCertificate' + x-internal: false + ItemPhysical: + title: Item Physical + required: - quantity - x-internal: false - GiftWrapping: - title: Gift Wrapping - type: object - properties: - name: - description: '' - type: string - message: - description: '' - type: string - amount: - description: '' - type: number - format: double - x-internal: false - OrderItemDigital: - title: Order Item Digital - type: object - properties: - id: - description: The line-item ID. - type: string - parentId: - description: Bundled items will have their parent's item Id. - type: string - variantId: - description: ID of the variant. - type: number - format: double - productId: - description: ID of the product. - type: number - format: double - sku: - description: SKU of the variant. - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - quantity: - description: Quantity of this item. - type: number - format: double - isTaxable: - description: Whether the item is taxable. - type: boolean - imageUrl: - description: 'URL of an image of this item, accessible on the internet.' - type: string - discounts: - description: 'List of discounts applied to this item, as an array of AppliedDiscount objects.' - type: array - items: - $ref: '#/definitions/AppliedDiscount' - discountAmount: - description: The total value of all discounts applied to this item (excluding coupon). - type: number - format: double - couponAmount: - description: The total value of all coupons applied to this item. - type: number - format: double - listPrice: - description: 'Item''s list price, as quoted by the manufacturer/distributor.' - type: number - format: double - salePrice: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extendedListPrice: - description: Item's list price multiplied by the quantity. - type: number - format: double - extendedSalePrice: - description: Item's sale price multiplied by the quantity. - type: number - format: double - type: - description: the product type - physical or digital - type: string - downloadFileUrls: - description: URLs to download all product files. - type: array - items: - type: string - downloadPageUrl: - description: The URL for the combined downloads page. - type: string - downloadSize: - description: 'Combined download size, in human-readable style. E.g.: `30MB`.' - type: string - categories: - type: array - description: 'Categories the item belongs to. ' - items: {} - required: + type: object + properties: + id: + type: string + description: The line-item ID. + parentId: + type: string + description: Bundled items will have their parent's item Id. + variantId: + type: number + description: ID of the variant. + format: double + productId: + type: number + description: ID of the product. + format: double + sku: + type: string + description: SKU of the variant. + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + quantity: + type: number + description: Quantity of this item. + format: double + isTaxable: + type: boolean + description: Whether the item is taxable. + imageUrl: + type: string + description: URL of an image of this item, accessible on the internet. + discounts: + type: object + description: 'List of discounts applied to this item. If no discount applied, + empty array is returned. If discount has been applied, discount object + returned. ' + discountAmount: + type: number + description: The total value of all discounts applied to this item (excluding + coupon). + format: double + couponAmount: + type: number + description: The total value of all coupons applied to this item. + format: double + listPrice: + type: number + description: Item's list price, as quoted by the manufacturer/distributor. + format: double + salePrice: + type: number + description: Item's price after all discounts are applied. (The final price + before tax calculation.) + format: double + extendedListPrice: + type: number + description: Item's list price multiplied by the quantity. + format: double + extendedSalePrice: + type: number + description: Item's sale price multiplied by the quantity. + format: double + type: + type: string + description: the product type - physical or digital + addedByPromotion: + type: boolean + description: Whether this item has been added automatically by a promotion. + isShippingRequired: + type: boolean + description: Whether this item requires shipping to a physical address. + giftWrapping: + $ref: '#/components/schemas/GiftWrapping' + categories: + type: array + description: 'Categories the item belongs to. ' + items: + type: object + x-internal: false + GiftWrapping: + title: Gift Wrapping + type: object + properties: + name: + type: string + description: "" + message: + type: string + description: "" + amount: + type: number + description: "" + format: double + x-internal: false + OrderItemDigital: + title: Order Item Digital + required: - quantity - x-internal: false - OrderItemGiftCertificate: - title: Order Item Gift Certificate - type: object - properties: - name: - description: The item's product name. - type: string - quantity: - description: Quantity of this item. - type: number - format: double - isTaxable: - description: Whether the item is taxable. - type: boolean - amount: - description: Price of the item - type: number - format: double - type: - description: Explicitly specifying the gift certificate type - type: string - x-internal: false - AddressResponse: - title: Address Response - allOf: - - $ref: '#/definitions/AddressProperties' + type: object + properties: + id: + type: string + description: The line-item ID. + parentId: + type: string + description: Bundled items will have their parent's item Id. + variantId: + type: number + description: ID of the variant. + format: double + productId: + type: number + description: ID of the product. + format: double + sku: + type: string + description: SKU of the variant. + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + quantity: + type: number + description: Quantity of this item. + format: double + isTaxable: + type: boolean + description: Whether the item is taxable. + imageUrl: + type: string + description: URL of an image of this item, accessible on the internet. + discounts: + type: array + description: List of discounts applied to this item, as an array of AppliedDiscount + objects. + items: + $ref: '#/components/schemas/AppliedDiscount' + discountAmount: + type: number + description: The total value of all discounts applied to this item (excluding + coupon). + format: double + couponAmount: + type: number + description: The total value of all coupons applied to this item. + format: double + listPrice: + type: number + description: Item's list price, as quoted by the manufacturer/distributor. + format: double + salePrice: + type: number + description: Item's price after all discounts are applied. (The final price + before tax calculation.) + format: double + extendedListPrice: + type: number + description: Item's list price multiplied by the quantity. + format: double + extendedSalePrice: + type: number + description: Item's sale price multiplied by the quantity. + format: double + type: + type: string + description: the product type - physical or digital + downloadFileUrls: + type: array + description: URLs to download all product files. + items: + type: string + downloadPageUrl: + type: string + description: The URL for the combined downloads page. + downloadSize: + type: string + description: 'Combined download size, in human-readable style. E.g.: `30MB`.' + categories: + type: array + description: 'Categories the item belongs to. ' + items: + type: object + x-internal: false + OrderItemGiftCertificate: + title: Order Item Gift Certificate + type: object + properties: + name: + type: string + description: The item's product name. + quantity: + type: number + description: Quantity of this item. + format: double + isTaxable: + type: boolean + description: Whether the item is taxable. + amount: + type: number + description: Price of the item + format: double + type: + type: string + description: Explicitly specifying the gift certificate type + x-internal: false + AddressResponse: + title: Address Response + allOf: + - $ref: '#/components/schemas/AddressProperties' - type: object properties: id: - description: '' type: string - x-internal: false - AddressProperties: - title: Address Properties - type: object - properties: - firstName: - description: '' - type: string - lastName: - description: '' - type: string - email: - description: '' - type: string - company: - description: '' - type: string - address1: - description: '' - type: string - address2: - description: '' - type: string - city: - description: '' - type: string - stateOrProvince: - description: Represents state or province. - type: string - stateOrProvinceCode: - description: '' - type: string - country: - description: '' - type: string - countryCode: - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' - type: string - postalCode: - description: '' - type: string - phone: - description: '' - type: string - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - customFields: - description: '' - type: array - items: - $ref: '#/definitions/CustomField' - required: + description: "" + x-internal: false + AddressProperties: + title: Address Properties + required: - countryCode - x-internal: false - CustomField: - title: Custom Field - type: object - properties: - fieldId: - description: '' - type: string - fieldValue: - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' - type: string - x-internal: false - Status: - title: Status - description: Order status. - example: INCOMPLETE - type: string - enum: + type: object + properties: + firstName: + type: string + description: "" + lastName: + type: string + description: "" + email: + type: string + description: "" + company: + type: string + description: "" + address1: + type: string + description: "" + address2: + type: string + description: "" + city: + type: string + description: "" + stateOrProvince: + type: string + description: Represents state or province. + stateOrProvinceCode: + type: string + description: "" + country: + type: string + description: "" + countryCode: + type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' + postalCode: + type: string + description: "" + phone: + pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + type: string + description: "" + customFields: + type: array + description: "" + items: + $ref: '#/components/schemas/CustomField' + x-internal: false + CustomField: + title: Custom Field + type: object + properties: + fieldId: + type: string + description: "" + fieldValue: + type: string + description: This can also be an array for fields that need to support list + of values (e.g., a set of check boxes.) + x-internal: false + Status: + title: Status + type: string + description: Order status. + example: INCOMPLETE + enum: - INCOMPLETE - PENDING - SHIPPED @@ -519,239 +531,254 @@ definitions: - MANUAL_VERIFICATION_REQUIRED - DISPUTED - PARTIALLY_REFUNDED - x-internal: false - BaseItem: - title: Base Item - type: object - properties: - id: - description: The line-item ID. - type: string - parentId: - description: Bundled items will have their parent's item Id. - type: string - variantId: - description: ID of the variant. - type: number - format: double - productId: - description: ID of the product. - type: number - format: double - sku: - description: SKU of the variant. - type: string - name: - description: The item's product name. - type: string - url: - description: The product URL. - type: string - quantity: - description: Quantity of this item. - type: number - format: double - isTaxable: - description: Whether the item is taxable. - type: boolean - imageUrl: - description: 'URL of an image of this item, accessible on the internet.' - type: string - discounts: - description: 'List of discounts applied to this item, as an array of AppliedDiscount objects.' - type: array - items: - $ref: '#/definitions/AppliedDiscount' - discountAmount: - description: The total value of all discounts applied to this item (excluding coupon). - type: number - format: double - couponAmount: - description: The total value of all coupons applied to this item. - type: number - format: double - listPrice: - description: 'Item''s list price, as quoted by the manufacturer/distributor.' - type: number - format: double - salePrice: - description: Item's price after all discounts are applied. (The final price before tax calculation.) - type: number - format: double - extendedListPrice: - description: Item's list price multiplied by the quantity. - type: number - format: double - extendedSalePrice: - description: Item's sale price multiplied by the quantity. - type: number - format: double - type: - description: the product type - physical or digital - type: string - required: + x-internal: false + BaseItem: + title: Base Item + required: - quantity - x-internal: false - order_Nate: - type: object - properties: - orderId: - type: integer - cartId: - type: string - currency: - type: object - properties: - name: - type: string - code: - type: string - symbol: - type: string - decimalPlaces: - type: integer - isTaxIncluded: - type: boolean - baseAmount: - type: number - discountAmount: - type: integer - orderAmount: - type: number - orderAmountAsInteger: - type: integer - shippingCostTotal: - type: integer - shippingCostBeforeDiscount: - type: integer - handlingCostTotal: - type: integer - coupons: - type: array - items: - type: object - lineItems: - type: object - properties: - physicalItems: - type: array - items: - type: object - properties: - id: - type: integer - productId: - type: integer - name: - type: string - sku: - type: string - quantity: - type: integer - isTaxable: - type: boolean - imageUrl: - type: string - discounts: - type: array - items: - type: object - discountAmount: - type: integer - listPrice: - type: number - salePrice: - type: number - extendedListPrice: - type: number - extendedSalePrice: - type: number - extendedComparisonPrice: - type: number - categories: - type: array - items: - type: object - type: - type: string - variantId: - type: integer - digitalItems: - type: array - items: - type: object - giftCertificates: - type: array - items: - type: object - customerId: - type: integer - billingAddress: - type: object - properties: - firstName: - type: string - lastName: - type: string - email: - type: string - company: - type: string - address1: - type: string - address2: - type: string - city: - type: string - stateOrProvince: - type: string - stateOrProvinceCode: - type: string - country: - type: string - countryCode: - type: string - postalCode: - type: string - phone: - type: string - customFields: - type: array - items: - type: object - status: - type: string - customerCanBeCreated: - type: boolean - hasDigitalItems: - type: boolean - isDownloadable: - type: boolean - isComplete: - type: boolean - customerMessage: - type: string - taxes: - type: array - items: + type: object + properties: + id: + type: string + description: The line-item ID. + parentId: + type: string + description: Bundled items will have their parent's item Id. + variantId: + type: number + description: ID of the variant. + format: double + productId: + type: number + description: ID of the product. + format: double + sku: + type: string + description: SKU of the variant. + name: + type: string + description: The item's product name. + url: + type: string + description: The product URL. + quantity: + type: number + description: Quantity of this item. + format: double + isTaxable: + type: boolean + description: Whether the item is taxable. + imageUrl: + type: string + description: URL of an image of this item, accessible on the internet. + discounts: + type: array + description: List of discounts applied to this item, as an array of AppliedDiscount + objects. + items: + $ref: '#/components/schemas/AppliedDiscount' + discountAmount: + type: number + description: The total value of all discounts applied to this item (excluding + coupon). + format: double + couponAmount: + type: number + description: The total value of all coupons applied to this item. + format: double + listPrice: + type: number + description: Item's list price, as quoted by the manufacturer/distributor. + format: double + salePrice: + type: number + description: Item's price after all discounts are applied. (The final price + before tax calculation.) + format: double + extendedListPrice: + type: number + description: Item's list price multiplied by the quantity. + format: double + extendedSalePrice: + type: number + description: Item's sale price multiplied by the quantity. + format: double + type: + type: string + description: the product type - physical or digital + x-internal: false + order_Nate: + type: object + properties: + orderId: + type: integer + cartId: + type: string + currency: type: object properties: name: type: string - amount: + code: + type: string + symbol: + type: string + decimalPlaces: type: integer - taxTotal: - type: integer - x-internal: false - Consignments: - title: Consignments - type: object - description: All the consignments of the order - x-examples: - example-1: + isTaxIncluded: + type: boolean + baseAmount: + type: number + discountAmount: + type: integer + orderAmount: + type: number + orderAmountAsInteger: + type: integer + shippingCostTotal: + type: integer + shippingCostBeforeDiscount: + type: integer + handlingCostTotal: + type: integer + coupons: + type: array + items: + type: object + properties: {} + lineItems: + type: object + properties: + physicalItems: + type: array + items: + type: object + properties: + id: + type: integer + productId: + type: integer + name: + type: string + sku: + type: string + quantity: + type: integer + isTaxable: + type: boolean + imageUrl: + type: string + discounts: + type: array + items: + type: object + properties: {} + discountAmount: + type: integer + listPrice: + type: number + salePrice: + type: number + extendedListPrice: + type: number + extendedSalePrice: + type: number + extendedComparisonPrice: + type: number + categories: + type: array + items: + type: object + properties: {} + type: + type: string + variantId: + type: integer + digitalItems: + type: array + items: + type: object + properties: {} + giftCertificates: + type: array + items: + type: object + properties: {} + customerId: + type: integer + billingAddress: + type: object + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + company: + type: string + address1: + type: string + address2: + type: string + city: + type: string + stateOrProvince: + type: string + stateOrProvinceCode: + type: string + country: + type: string + countryCode: + type: string + postalCode: + type: string + phone: + type: string + customFields: + type: array + items: + type: object + properties: {} + status: + type: string + customerCanBeCreated: + type: boolean + hasDigitalItems: + type: boolean + isDownloadable: + type: boolean + isComplete: + type: boolean + customerMessage: + type: string + taxes: + type: array + items: + type: object + properties: + name: + type: string + amount: + type: integer + taxTotal: + type: integer + x-internal: false + Consignments: + title: Consignments + type: object + properties: shipping: + type: array + description: List of shipping consignments + items: + $ref: '#/components/schemas/ShippingConsignment' + description: All the consignments of the order + x-examples: + example-1: + shipping: - lineItems: - - id: 8 + - id: 8 shippingAddressId: 1 firstName: first1 lastName: last1 @@ -760,11 +787,11 @@ definitions: address2: Balcony city: Austin stateOrProvince: Texas - postalCode: '78704' + postalCode: "78704" country: United States countryCode: US email: first1@bigcommerce.com - phone: '0410123452' + phone: "0410123452" itemsTotal: 1 itemsShipped: 0 shippingMethod: Flat Rate @@ -781,273 +808,269 @@ definitions: shippingZoneId: 1 shippingZoneName: United States customFields: - - name: special note - value: super rare - properties: - shipping: - type: array - description: List of shipping consignments - items: - $ref: '#/definitions/ShippingConsignment' - x-internal: false - ShippingConsignment: - title: ShippingConsignment - type: object - description: Shipping consignment - x-examples: - example-1: + - name: special note + value: super rare + x-internal: false + ShippingConsignment: + title: ShippingConsignment + type: object + properties: lineItems: - - id: 4 - shippingAddressId: 1 - firstName: first1 - lastName: last1 - company: company1 - address1: 2802 Skyway Cir - address2: Balcony - city: Austin - stateOrProvince: Texas - postalCode: '78704' - country: United States - countryCode: US - email: first1@bigcommerce.com - phone: '0410123452' - itemsTotal: 1 - itemsShipped: 0 - shippingMethod: Flat Rate - baseCost: 15.5 - costExTax: 15.5 - costIncTax: 16.7 - costTax: 1.2 - costTaxClassId: 2 - baseHandlingCost: 0 - handlingCostExTax: 0 - handlingCostIncTax: 0 - handlingCostTax: 0 - handlingCostTaxClassId: 2 - shippingZoneId: 1 - shippingZoneName: United States + type: array + items: + $ref: '#/components/schemas/ConsignmentLineItem' + shippingAddressId: + type: integer + example: 1 + firstName: + type: string + example: first1 + lastName: + type: string + example: last1 + company: + type: string + example: company1 + address1: + type: string + example: 2802 Skyway Cir + address2: + type: string + example: Balcony + city: + type: string + example: Austin + stateOrProvince: + type: string + example: Texas + postalCode: + type: string + example: "78704" + country: + type: string + example: United States + countryCode: + type: string + example: US + email: + type: string + example: first1@bigcommerce.com + phone: + type: string + example: "0410123452" + itemsTotal: + type: integer + example: 1 + itemsShipped: + type: integer + example: 0 + shippingMethod: + type: string + example: Flat Rate + baseCost: + type: number + example: 15.5 + costExTax: + type: number + example: 15.5 + costIncTax: + type: number + example: 16.7 + costTax: + type: number + example: 1.2 + costTaxClassId: + type: integer + example: 2 + baseHandlingCost: + type: number + example: 0.0 + handlingCostExTax: + type: number + example: 0.0 + handlingCostIncTax: + type: number + example: 0.0 + handlingCostTax: + type: number + example: 0.0 + handlingCostTaxClassId: + type: integer + example: 2 + shippingZoneId: + type: number + example: 1.0 + shippingZoneName: + type: string + example: United States customFields: + type: array + items: + $ref: '#/components/schemas/ConsignmentFormField' + description: Shipping consignment + x-examples: + example-1: + lineItems: + - id: 4 + shippingAddressId: 1 + firstName: first1 + lastName: last1 + company: company1 + address1: 2802 Skyway Cir + address2: Balcony + city: Austin + stateOrProvince: Texas + postalCode: "78704" + country: United States + countryCode: US + email: first1@bigcommerce.com + phone: "0410123452" + itemsTotal: 1 + itemsShipped: 0 + shippingMethod: Flat Rate + baseCost: 15.5 + costExTax: 15.5 + costIncTax: 16.7 + costTax: 1.2 + costTaxClassId: 2 + baseHandlingCost: 0 + handlingCostExTax: 0 + handlingCostIncTax: 0 + handlingCostTax: 0 + handlingCostTaxClassId: 2 + shippingZoneId: 1 + shippingZoneName: United States + customFields: - name: special note value: super rare - properties: - lineItems: - type: array - items: - $ref: '#/definitions/ConsignmentLineItem' - shippingAddressId: - type: integer - example: 1 - firstName: - type: string - example: first1 - lastName: - type: string - example: last1 - company: - type: string - example: company1 - address1: - type: string - example: 2802 Skyway Cir - address2: - type: string - example: Balcony - city: - type: string - example: Austin - stateOrProvince: - type: string - example: Texas - postalCode: - type: string - example: '78704' - country: - type: string - example: United States - countryCode: - type: string - example: US - email: - type: string - example: first1@bigcommerce.com - phone: - type: string - example: '0410123452' - itemsTotal: - type: integer - example: 1 - itemsShipped: - type: integer - example: 0 - shippingMethod: - type: string - example: Flat Rate - baseCost: - type: number - example: 15.5 - costExTax: - type: number - example: 15.5 - costIncTax: - type: number - example: 16.7 - costTax: - type: number - example: 1.2 - costTaxClassId: - type: integer - example: 2 - baseHandlingCost: - type: number - example: 0 - handlingCostExTax: - type: number - example: 0 - handlingCostIncTax: - type: number - example: 0 - handlingCostTax: - type: number - example: 0 - handlingCostTaxClassId: - type: integer - example: 2 - shippingZoneId: - type: number - example: 1 - shippingZoneName: - type: string - example: United States - customFields: - type: array - items: - $ref: '#/definitions/ConsignmentFormField' - x-internal: false - ConsignmentLineItem: - title: ConsignmentLineItem - type: object - description: '' - properties: - id: - type: integer - example: 4 - x-internal: false - ConsignmentFormField: - title: ConsignmentFormField - type: object - properties: - name: - type: string - example: special note - value: - type: string - example: super rare - x-nullable: true - x-internal: false - PickupConsignment: - title: PickupConsignment - type: object - description: Pickup consignment - x-examples: - example-1: - id: 3 + x-internal: false + ConsignmentLineItem: + title: ConsignmentLineItem + type: object + properties: + id: + type: integer + example: 4 + description: "" + x-internal: false + ConsignmentFormField: + title: ConsignmentFormField + type: object + properties: + name: + type: string + example: special note + value: + type: string + nullable: true + example: super rare + x-internal: false + PickupConsignment: + title: PickupConsignment + type: object + properties: + id: + type: integer + example: 3 lineItems: - - id: 4 - pickupMethodId: 10 - pickupMethodDisplayName: 'Pickup Method 10: Pickup at Location 1' - collectionInstructions: Pickup Method 10 Collection Instructions - collectionTimeDescription: Pickup Method 10 Collection Time Description + type: array + items: + $ref: '#/components/schemas/ConsignmentLineItem' + pickupMethodId: + type: integer + example: 10 + pickupMethodDisplayName: + type: string + example: 'Pickup Method 10: Pickup at Location 1' + collectionInstructions: + type: string + example: Pickup Method 10 Collection Instructions + collectionTimeDescription: + type: string + example: Pickup Method 10 Collection Time Description location: + $ref: '#/components/schemas/PickupConsignmentLocation' + description: Pickup consignment + x-examples: + example-1: + id: 3 + lineItems: + - id: 4 + pickupMethodId: 10 + pickupMethodDisplayName: 'Pickup Method 10: Pickup at Location 1' + collectionInstructions: Pickup Method 10 Collection Instructions + collectionTimeDescription: Pickup Method 10 Collection Time Description + location: + id: 1 + name: Location 1 + address1: 2802 Skyway Cir + address2: string + city: Austin + stateOrProvince: Texas + postalCode: "78704" + country: United States + countryCode: US + email: loc1@bigcommerce.com + phone: "0410123452" + x-internal: false + PickupConsignmentLocation: + title: PickupConsignmentLocation + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Location 1 + address1: + type: string + example: 2802 Skyway Cir + address2: + type: string + city: + type: string + example: Austin + stateOrProvince: + type: string + example: Texas + postalCode: + type: string + example: "78704" + country: + type: string + example: United States + countryCode: + type: string + example: US + email: + type: string + example: loc1@bigcommerce.com + phone: + type: string + example: "0410123452" + x-examples: + example-1: id: 1 name: Location 1 address1: 2802 Skyway Cir address2: string city: Austin stateOrProvince: Texas - postalCode: '78704' + postalCode: "78704" country: United States countryCode: US email: loc1@bigcommerce.com - phone: '0410123452' - properties: - id: - type: integer - example: 3 - lineItems: - type: array - items: - $ref: '#/definitions/ConsignmentLineItem' - pickupMethodId: - type: integer - example: 10 - pickupMethodDisplayName: - type: string - example: 'Pickup Method 10: Pickup at Location 1' - collectionInstructions: - type: string - example: Pickup Method 10 Collection Instructions - collectionTimeDescription: - type: string - example: Pickup Method 10 Collection Time Description - location: - $ref: '#/definitions/PickupConsignmentLocation' - x-internal: false - PickupConsignmentLocation: - title: PickupConsignmentLocation - type: object - properties: - id: - type: integer - example: 1 - name: - type: string - example: Location 1 - address1: - type: string - example: 2802 Skyway Cir - address2: - type: string - city: - type: string - example: Austin - stateOrProvince: - type: string - example: Texas - postalCode: - type: string - example: '78704' - country: - type: string - example: United States - countryCode: - type: string - example: US - email: - type: string - example: loc1@bigcommerce.com - phone: - type: string - example: '0410123452' - x-examples: - example-1: - id: 1 - name: Location 1 - address1: 2802 Skyway Cir - address2: string - city: Austin - stateOrProvince: Texas - postalCode: '78704' - country: United States - countryCode: US - email: loc1@bigcommerce.com - phone: '0410123452' - x-internal: false + phone: "0410123452" + x-internal: false + responses: + order_Resp: + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/Order' x-stoplight: docs: includeDownloadLink: true showModels: false -responses: - order_Resp: - description: '' - schema: - $ref: '#/definitions/Order' diff --git a/reference/payment_methods.v2.yml b/reference/payment_methods.v2.yml index e131942ca..5fa69dade 100644 --- a/reference/payment_methods.v2.yml +++ b/reference/payment_methods.v2.yml @@ -1,6 +1,5 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Payment Methods description: |- Get a list of a store's enabled payment methods. For processing payments, see [Payment Processing API](/api-docs/payments/payments-api-overview). @@ -19,132 +18,131 @@ info: | **UI Name** | **Permission** | **Parameter** | | --- | --- | --- | | Information & Settings | read-only | `store_payments_methods_read` | - termsOfService: '' + termsOfService: "" license: - name: '' -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json + name: "" + version: "" +servers: +- url: https://api.bigcommerce.com +security: +- X-Auth-Token: [] +tags: +- name: Payment Methods paths: - '/stores/{store_hash}/v2/payments/methods': + /stores/{store_hash}/v2/payments/methods: get: - description: |- + tags: + - Payment Methods + summary: Get All Payment Methods + description: | Gets the list of enabled payment methods. Default sorting is by payment method, alphabetically from A to Z. - <!-- theme: info --> > #### Note: > Avoid using this API operation if possible. It is not supported; therefore, all enabled providers may not appear. - - summary: Get All Payment Methods parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: page - in: query - required: false - type: number + - name: page + in: query + description: Optional filter param `/api/v2/payments/methods?page={number}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param `/api/v2/payments/methods?page={number}`' - - name: limit - in: query - required: false type: number + - name: limit + in: query + description: Optional filter param `/api/v2/payments/methods?limit={count}` + schema: exclusiveMaximum: false exclusiveMinimum: false - description: 'Optional filter param `/api/v2/payments/methods?limit={count}`' + type: number responses: '200': - $ref: '#/responses/paymentCollection_Resp' + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/payment_Base' x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - tags: - - Payment Methods - parameters: - - type: string - name: store_hash - in: path - required: true -definitions: - payment_Base: - title: payment_Base - example: - code: squarev2 - name: Square - test_mode: false - type: object - properties: - code: - description: Unique platform-wide code identifying the payment method. - example: squarev2 - type: string - name: - description: Descriptive name of the payment method. - example: Square - type: string - test_mode: - description: Determines whether the payment gateway is in test mode. Always false for offline payment methods. - example: false - type: boolean - x-internal: false -tags: - - name: Payment Methods -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | read-only | `store_payments_methods_read` | +components: + schemas: + payment_Base: + title: payment_Base + type: object + properties: + code: + type: string + description: Unique platform-wide code identifying the payment method. + example: squarev2 + name: + type: string + description: Descriptive name of the payment method. + example: Square + test_mode: + type: boolean + description: Determines whether the payment gateway is in test mode. Always + false for offline payment methods. + example: false + example: + code: squarev2 + name: Square + test_mode: false + x-internal: false + responses: + paymentCollection_Resp: + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/payment_Base' + securitySchemes: + X-Auth-Token: + type: apiKey + description: | + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Information & Settings | read-only | `store_payments_methods_read` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -responses: - paymentCollection_Resp: - description: '' - schema: - type: array - items: - $ref: '#/definitions/payment_Base' + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 4fb78f335..ace64a622 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1,7 +1,6 @@ -swagger: '2.0' +openapi: 3.0.1 info: title: Price Lists - version: '' description: |- Populate different versions of catalog pricing and assign them to different [customer groups](/api-reference/customer-subscribers/customers-api) at the variant level. @@ -70,227 +69,245 @@ info: ### Related endpoints * [Get All Price Lists](/api-reference/store-management/price-lists/price-lists/getpricelistcollection) termsOfService: '' - license: - name: '' contact: name: '' url: '' -host: api.bigcommerce.com -basePath: '/' + license: + name: '' + version: '' +servers: + - url: 'https://api.bigcommerce.com' +security: + - X-Auth-Token: [] tags: - name: Price Lists description: BigCommerce Price Lists API Definition. - name: Price Lists Assignments - name: Price Lists Records -schemes: - - https -produces: - - application/json -consumes: - - application/json paths: '/stores/{store_hash}/v3/pricelists': get: + tags: + - Price Lists + summary: Get All Price Lists description: Returns a list of *Price Lists*. Optional parameters can be passed in. operationId: getPriceListCollection parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: id + in: query description: | Filter items by id. - required: false - in: query - type: integer + schema: + type: integer - name: name + in: query description: | Filter items by name. - required: false - in: query - type: string + schema: + type: string - name: date_created + in: query description: | Filter items by date_created. - required: false - in: query - type: string - format: date-time + schema: + type: string + format: date-time - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false in: query - type: string - format: date-time + description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: + type: string + format: date-time - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false in: query - type: integer + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false in: query - type: integer + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer - name: Content-Type in: header - type: string - default: application/json - - in: header - type: string - name: Accept - default: application/json - - type: array - items: - type: integer - in: query - name: 'id:in' - - type: array - items: + schema: + type: string + default: application/json + - name: Accept + in: header + schema: type: string + default: application/json + - name: 'id:in' in: query - name: 'name:like' - - type: string + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'name:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: 'date_created:max' in: query - name: 'date_created:max' - - type: string + schema: + type: string + - name: 'date_created:min' in: query - name: 'date_created:min' - - type: string + schema: + type: string + - name: 'date_modified:max' in: query - name: 'date_modified:max' - - type: string + schema: + type: string + - name: 'date_modified:min' in: query - name: 'date_modified:min' + schema: + type: string responses: '200': description: '' - schema: - description: Get All PriceLists. - type: object - properties: - data: - type: array - items: - allOf: - - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - date_modified: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: Price List - type: object - meta: + content: + application/json: + schema: + title: PriceList Collection Response type: object - description: 'Data about the response, including pagination and collection totals.' properties: - pagination: + data: + type: array + items: + title: Price List + type: object + allOf: + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the `Price List`; increments sequentially. + example: 3 + date_created: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + date_modified: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + meta: + title: Collection Meta type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: + pagination: + title: Pagination type: object - description: | - Pagination links for the previous and next parts of the whole collection. properties: - previous: - type: string + total: + type: integer description: | - Link to the previous page returned in the response. - current: - type: string + Total number of items in the result set. + example: 36 + count: + type: integer description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string + Total number of items in the collection response. + example: 36 + per_page: + type: integer description: | - Link to the next page returned in the response. - title: Collection Meta - title: PriceList Collection Response - examples: - application/json: - data: - - id: 1 - name: Warehouse - date_created: '2018-02-26T17:33:11Z' - date_modified: '2018-05-08T14:05:27Z' - active: true - - id: 2 - name: B2B - date_created: '2018-02-26T17:37:01Z' - date_modified: '2018-02-26T17:37:01Z' - active: true - - id: 3 - name: Wholesale - date_created: '2018-04-05T16:05:12Z' - date_modified: '2018-04-05T16:05:12Z' - active: true - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + description: Get All PriceLists. + example: + data: + - id: 1 + name: Warehouse + date_created: '2018-02-26T17:33:11Z' + date_modified: '2018-05-08T14:05:27Z' + active: true + - id: 2 + name: B2B + date_created: '2018-02-26T17:37:01Z' + date_modified: '2018-02-26T17:37:01Z' + active: true + - id: 3 + name: Wholesale + date_created: '2018-04-05T16:05:12Z' + date_modified: '2018-04-05T16:05:12Z' + active: true + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + post: tags: - Price Lists - summary: Get All Price Lists - post: + summary: Create a Price List description: |- Creates a *Price List*. @@ -298,368 +315,276 @@ paths: * name operationId: createPriceList parameters: - - name: PriceList - in: body + - name: store_hash + in: path required: true schema: - type: object - allOf: - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - required: - - name - title: PriceList Post - description: 'Creates a Price List. ' - x-examples: - application/json: - name: Wholesale group - active: false - - in: header - type: string - name: Accept - default: application/json + type: string + - name: Accept + in: header + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + title: PriceList Post + description: 'Creates a Price List. ' + allOf: + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + required: true responses: '200': description: '' - schema: - description: |- - PriceList Reponse returns for: - - * Create a PriceList - * Get a PriceList - * Update a PriceList - type: object - properties: - data: - allOf: - - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - date_modified: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: Price List - type: object - meta: - type: object - description: Empty meta object; may be used later. - title: Meta - title: Price List Response - examples: + content: application/json: - data: - id: 4 - name: Wholesale Group - Trade Show - date_created: '2018-09-17T18:41:59Z' - date_modified: '2018-09-17T18:41:59Z' - active: false - meta: {} + schema: + title: Price List Response + type: object + properties: + data: + title: Price List + type: object + allOf: + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the `Price List`; increments sequentially. + example: 3 + date_created: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + date_modified: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: |- + PriceList Reponse returns for: + + * Create a PriceList + * Get a PriceList + * Update a PriceList + example: + data: + id: 4 + name: Wholesale Group - Trade Show + date_created: '2018-09-17T18:41:59Z' + date_modified: '2018-09-17T18:41:59Z' + active: false + meta: {} '409': description: | `Price List` was in conflict with another Price List. This is the result of duplicate unique values, such as `name`. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. - properties: + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + additionalProperties: + type: string + instance: + type: string status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string - instance: - type: string - title: Base Error - - type: object + '422': + description: | + `Price List` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: + title: Detailed Errors type: object additionalProperties: type: string - title: Detailed Errors - title: Error Response - '422': - description: | - `Price List` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. - properties: + instance: + type: string status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string - instance: - type: string - title: Base Error - - type: object - properties: - errors: - type: object - additionalProperties: - type: string - title: Detailed Errors - title: Error Response + x-codegen-request-body-name: PriceList + delete: tags: - Price Lists - summary: Create a Price List - delete: + summary: Delete All Price Lists description: Deletes a *Price List*. All associated price records are also removed. Optional parameters can be passed in. operationId: deletePriceListsByFilter parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: id + in: query description: | Filter items by id. - required: false - in: query - type: integer + schema: + type: integer - name: name + in: query description: | Filter items by name. - required: false - in: query - type: string - - in: header - type: string - name: Accept - default: application/json + schema: + type: string + - name: Accept + in: header + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json responses: '204': description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' - schema: - x-nullable: true - tags: - - Price Lists - summary: Delete All Price Lists - parameters: - - type: string - name: store_hash - in: path - required: true + content: + application/json: + schema: + type: object + nullable: true '/stores/{store_hash}/v3/pricelists/{price_list_id}': - parameters: - - type: integer - name: price_list_id - in: path - description: | - The ID of the `Price List` requested. - required: true - - type: string - name: store_hash - in: path - required: true get: - description: ' Returns a single *Price List*.' - operationId: getPriceList - responses: - '200': - description: '' - schema: - description: |- - PriceList Reponse returns for: - - * Create a PriceList - * Get a PriceList - * Update a PriceList - type: object - properties: - data: - title: Price List - type: object - description: Common Price List properties. - required: - - name - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - date_modified: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - meta: - type: object - description: Empty meta object; may be used later. - title: Meta - title: Price List Response - examples: - application/json: - data: - id: 2 - name: B2B - date_created: '2018-02-26T17:37:01Z' - date_modified: '2018-09-17T18:34:36Z' - active: true - meta: {} tags: - Price Lists summary: Get a Price List + description: ' Returns a single *Price List*.' + operationId: getPriceList parameters: - - in: query - name: id - type: integer + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: query description: Filter items by id. - - in: query - name: name - type: string + schema: + type: integer + - name: name + in: query description: Filter items by name. - - in: query - name: date_created - type: string - format: date-time + schema: + type: string + - name: date_created + in: query description: Filter items by date_created. - - in: query - name: date_modified - type: string - format: date-time + schema: + type: string + format: date-time + - name: date_modified + in: query description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - - in: query - name: page - type: integer + schema: + type: string + format: date-time + - name: page + in: query description: Specifies the page number in a limited (paginated) list of products. - - in: query - name: limit - type: integer + schema: + type: integer + - name: limit + in: query description: Controls the number of items per page in a limited (paginated) list of products. - put: - description: Updates a *Price List*. - operationId: updatePriceList - parameters: - - name: PriceList - in: body - required: true schema: - type: object - allOf: - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: PriceList Put - description: Update a PriceList - x-examples: - application/json: - name: adipisicing - active: true + type: integer responses: '200': description: '' - schema: - description: |- - PriceList Reponse returns for: - - * Create a PriceList - * Get a PriceList - * Update a PriceList - type: object - properties: - data: - allOf: - - properties: + content: + application/json: + schema: + title: Price List Response + type: object + properties: + data: + title: Price List + required: + - name + type: object + properties: id: type: integer description: | @@ -667,727 +592,875 @@ paths: example: 3 date_created: type: string - format: date-time description: | The date on which the `Price List` was created. + format: date-time example: '2018-04-05T16:05:12Z' date_modified: type: string - format: date-time description: | The date on which the `Price List` was created. + format: date-time example: '2018-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: name: type: string - description: | - The unique name of the Price List. Required in /POST. + description: The unique name of the Price List. Required in /POST. + example: Wholesale x-required: - post - example: Wholesale active: type: boolean description: | Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true - required: - - name - title: Price List - type: object - meta: - type: object - description: Empty meta object; may be used later. - title: Meta - title: Price List Response - examples: - application/json: - data: - id: 2 - name: BigCommerce - date_created: '2018-02-26T17:37:01Z' - date_modified: '2018-09-17T18:45:17Z' - active: false - meta: {} - '404': + description: Common Price List properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: |- + PriceList Reponse returns for: + + * Create a PriceList + * Get a PriceList + * Update a PriceList + example: + data: + id: 2 + name: B2B + date_created: '2018-02-26T17:37:01Z' + date_modified: '2018-09-17T18:34:36Z' + active: true + meta: {} + put: + tags: + - Price Lists + summary: Update a Price List + description: Updates a *Price List*. + operationId: updatePriceList + parameters: + - name: price_list_id + in: path description: | - The resource was not found. + The ID of the `Price List` requested. + required: true schema: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: Not Found - '409': - description: | - `Price List` was in conflict with another Price List. This is the result of duplicate unique values, such as `name`. + type: integer + - name: store_hash + in: path + required: true schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. - properties: - status: - description: | - The HTTP status code. - type: integer - title: + type: string + requestBody: + content: + application/json: + schema: + title: PriceList Put + description: Update a PriceList + allOf: + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Price List Response + type: object + properties: + data: + title: Price List + type: object + allOf: + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the `Price List`; increments sequentially. + example: 3 + date_created: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + date_modified: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: |- + PriceList Reponse returns for: + + * Create a PriceList + * Get a PriceList + * Update a PriceList + example: + data: + id: 2 + name: BigCommerce + date_created: '2018-02-26T17:37:01Z' + date_modified: '2018-09-17T18:45:17Z' + active: false + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer description: | - The error title describing the particular error. + 404 HTTP status code. + title: type: string + description: The error title describing the particular error. type: type: string instance: type: string - title: Base Error - - type: object + description: Error payload for the BigCommerce API. + '409': + description: | + `Price List` was in conflict with another Price List. This is the result of duplicate unique values, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: + title: Detailed Errors type: object additionalProperties: type: string - title: Detailed Errors - title: Error Response - '422': - description: | - `Price List` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. - properties: + instance: + type: string status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string - instance: - type: string - title: Base Error - - type: object + '422': + description: | + `Price List` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: + title: Detailed Errors type: object additionalProperties: type: string - title: Detailed Errors - title: Error Response + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: PriceList + delete: tags: - Price Lists - summary: Update a Price List - delete: + summary: Delete a Price List description: |- Deletes a *Price List*. All associated price records are also removed. **Limits** * Limit of 1 concurrent request. operationId: deletePriceList + parameters: + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + - name: store_hash + in: path + required: true + schema: + type: string responses: '204': - description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' - examples: {} - schema: - x-nullable: true - tags: - - Price Lists - summary: Delete a Price List - parameters: [] + description: Action has been enacted and no further information is to be supplied. `null` is returned. '/stores/{store_hash}/v3/pricelists/{price_list_id}/records': - parameters: - - type: integer - name: price_list_id - in: path - description: | - The ID of the `Price List` requested. - required: true - - type: string - name: store_hash - in: path - required: true get: + tags: + - Price Lists Records + summary: Get All Price List Records description: Returns a list of *Price List Records* associated with a *Price List*. operationId: getPriceListRecordCollection parameters: - - $ref: '#/parameters/FilterVariantIdParam' - - $ref: '#/parameters/FilterProductIdParam' + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: 'variant_id:in' + in: query + description: The ID of the `Variant` whose prices were requested. + schema: + type: integer + - name: 'product_id:in' + in: query + description: | + A comma-separated list of ids of `Product`s whose prices were requested. + schema: + type: string - name: currency + in: query description: | Filter items by currency. - required: false - in: query - type: string - format: ISO-4217 + schema: + type: string + format: ISO-4217 - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false in: query - type: integer + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false in: query - type: integer + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer - name: include + in: query description: | Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. - required: false - in: query - type: string - enum: - - bulk_pricing_tiers - - sku + schema: + type: string + enum: + - bulk_pricing_tiers + - sku - name: price + in: query description: | Filter items by price. - required: false - in: query - type: number + schema: + type: number - name: sale_price + in: query description: | Filter items by sale_price. - required: false - in: query - type: number + schema: + type: number - name: retail_price + in: query description: | Filter items by retail_price. - required: false - in: query - type: number + schema: + type: number - name: map_price + in: query description: | Filter items by map_price. - required: false - in: query - type: number + schema: + type: number - name: calculated_price + in: query description: | Filter items by calculated_price. - required: false - in: query - type: number + schema: + type: number - name: date_created + in: query description: | Filter items by date_created. - required: false - in: query - type: string - format: date-time + schema: + type: string + format: date-time - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false in: query - type: string - format: date-time + description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: + type: string + format: date-time - name: sku + in: query description: | Filter items by sku. - required: false - in: query - type: string + schema: + type: string - name: Content-Type in: header - type: string - default: application/json - - in: header - type: string - name: Accept - default: application/json - - type: array - items: + schema: type: string - in: query - name: 'sku:in' - - type: array - items: + default: application/json + - name: Accept + in: header + schema: type: string + default: application/json + - name: 'sku:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: 'currency:in' in: query - name: 'currency:in' - - type: number + style: form + explode: false + schema: + type: array + items: + type: string + - name: 'price:max' in: query - name: 'price:max' - - type: number + schema: + type: number + - name: 'price:min' in: query - name: 'price:min' - - type: number + schema: + type: number + - name: 'sale_price:max' in: query - name: 'sale_price:max' - - type: number + schema: + type: number + - name: 'sale_price:min' in: query - name: 'sale_price:min' - - type: number + schema: + type: number + - name: 'retail_price:max' in: query - name: 'retail_price:max' - - type: number + schema: + type: number + - name: 'retail_price:min' in: query - name: 'retail_price:min' - - type: number + schema: + type: number + - name: 'map_price:max' in: query - name: 'map_price:max' - - type: number + schema: + type: number + - name: 'map_price:min' in: query - name: 'map_price:min' - - type: number + schema: + type: number + - name: 'calculated_price:max' in: query - name: 'calculated_price:max' - - type: number + schema: + type: number + - name: 'calculated_price:min' in: query - name: 'calculated_price:min' - - type: string + schema: + type: number + - name: 'date_created:max' in: query - name: 'date_created:max' - - type: string + schema: + type: string + - name: 'date_created:min' in: query - name: 'date_created:min' - - type: string + schema: + type: string + - name: 'date_modified:max' in: query - name: 'date_modified:max' - - type: string + schema: + type: string + - name: 'date_modified:min' in: query - name: 'date_modified:min' + schema: + type: string responses: '200': description: '' - schema: - description: |- - PriceRecord Collection Response returns for: - * Get All PriceList Records - * Get PriceList Records by Variant Id - type: object - properties: - data: - type: array - items: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. + content: + application/json: + schema: + title: PriceRecord Collection Response + type: object + properties: + data: + type: array + items: + title: Price Record + type: object + description: The Price Record object. allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer + - type: object + properties: + calculated_price: + type: number description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + format: double + example: 24.64 + date_created: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + date_modified: type: string - format: ISO-4217 description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record - type: object - meta: - type: object - description: 'Data about the response, including pagination and collection totals.' - properties: - pagination: + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + product_id: + type: integer + description: | + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + example: 158 + - title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + - title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: + type: integer + description: | + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer + description: | + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: + type: string + description: | + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + meta: + title: Collection Meta type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: + pagination: + title: Pagination type: object - description: | - Pagination links for the previous and next parts of the whole collection. properties: - previous: - type: string + total: + type: integer description: | - Link to the previous page returned in the response. - current: - type: string + Total number of items in the result set. + example: 36 + count: + type: integer description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string + Total number of items in the collection response. + example: 36 + per_page: + type: integer description: | - Link to the next page returned in the response. - title: Collection Meta - title: PriceRecord Collection Response - examples: - application/json: - data: - - price_list_id: 3 - variant_id: 358 - price: 25.48 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 25.48 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 187 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 359 - price: 31.31 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 31.31 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 188 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 360 - price: 18.57 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 18.57 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 189 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 361 - price: 22.54 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 22.54 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 190 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 362 - price: 27.39 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 27.39 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:51:26Z' - currency: usd - product_id: 191 - bulk_pricing_tiers: - - quantity_min: 10 - quantity_max: 19 - type: percent - amount: 1 - - quantity_min: 20 - quantity_max: 29 - type: percent - amount: 3 - - quantity_min: 30 - quantity_max: 2147483647 - type: percent - amount: 5 - - price_list_id: 3 - variant_id: 382 - price: 9.8 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 9.8 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 192 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 383 - price: 24.5 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 24.5 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 192 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 384 - price: 24.5 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 24.5 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 192 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 385 - price: 9.8 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 9.8 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 193 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 386 - price: 10.78 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' - currency: usd - product_id: 194 - bulk_pricing_tiers: [] - - price_list_id: 3 - variant_id: 388 - price: 10.78 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' - currency: usd - product_id: 195 - bulk_pricing_tiers: - - quantity_min: 2 - quantity_max: 9 - type: percent - amount: 1 - - quantity_min: 10 - quantity_max: 19 - type: percent - amount: 2 - - quantity_min: 20 - quantity_max: 2147483647 - type: percent - amount: 3 - - price_list_id: 3 - variant_id: 389 - price: 18.62 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 18.62 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' - currency: usd - product_id: 195 - bulk_pricing_tiers: - - quantity_min: 2 - quantity_max: 9 - type: percent - amount: 1 - - quantity_min: 10 - quantity_max: 19 - type: percent - amount: 2 - - quantity_min: 20 - quantity_max: 2147483647 - type: percent - amount: 3 - - price_list_id: 3 - variant_id: 390 - price: 10.78 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' - currency: usd - product_id: 195 - bulk_pricing_tiers: - - quantity_min: 2 - quantity_max: 9 - type: percent - amount: 1 - - quantity_min: 10 - quantity_max: 19 - type: percent - amount: 2 - - quantity_min: 20 - quantity_max: 2147483647 - type: percent - amount: 3 - - price_list_id: 3 - variant_id: 391 - price: 10.78 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' - currency: usd - product_id: 195 - bulk_pricing_tiers: - - quantity_min: 2 - quantity_max: 9 - type: percent - amount: 1 - - quantity_min: 10 - quantity_max: 19 - type: percent - amount: 2 - - quantity_min: 20 - quantity_max: 2147483647 - type: percent - amount: 3 - meta: - pagination: - total: 14 - count: 14 - per_page: 50 - current_page: 1 - total_pages: 1 - summary: Get All Price List Records + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + description: |- + PriceRecord Collection Response returns for: + * Get All PriceList Records + * Get PriceList Records by Variant Id + example: + data: + - price_list_id: 3 + variant_id: 358 + price: 25.48 + sale_price: 18.57 + retail_price: 25.48 + map_price: 18.57 + calculated_price: 25.48 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 187 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 359 + price: 31.31 + sale_price: 31.31 + retail_price: 31.31 + map_price: 31.31 + calculated_price: 31.31 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 188 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 360 + price: 18.57 + sale_price: 18.57 + retail_price: 18.57 + map_price: 18.57 + calculated_price: 18.57 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 189 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 361 + price: 22.54 + sale_price: 22.54 + retail_price: 22.54 + map_price: 22.54 + calculated_price: 22.54 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 190 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 362 + price: 27.39 + sale_price: 27.39 + retail_price: 27.39 + map_price: 27.39 + calculated_price: 27.39 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:51:26Z' + currency: usd + product_id: 191 + bulk_pricing_tiers: + - quantity_min: 10 + quantity_max: 19 + type: percent + amount: 1 + - quantity_min: 20 + quantity_max: 29 + type: percent + amount: 3 + - quantity_min: 30 + quantity_max: 2147483647 + type: percent + amount: 5 + - price_list_id: 3 + variant_id: 382 + price: 9.8 + sale_price: 9.8 + retail_price: 9.8 + map_price: 9.8 + calculated_price: 9.8 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 192 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 383 + price: 24.5 + sale_price: 24.5 + retail_price: 24.5 + map_price: 24.5 + calculated_price: 24.5 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 192 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 384 + price: 24.5 + sale_price: 24.5 + retail_price: 24.5 + map_price: 24.5 + calculated_price: 24.5 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 192 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 385 + price: 9.8 + sale_price: 9.8 + retail_price: 9.8 + map_price: 9.8 + calculated_price: 9.8 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 193 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 386 + price: 10.78 + sale_price: 10.78 + retail_price: 10.78 + map_price: 10.78 + calculated_price: 10.78 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:33:14Z' + currency: usd + product_id: 194 + bulk_pricing_tiers: [] + - price_list_id: 3 + variant_id: 388 + price: 10.78 + sale_price: 10.78 + retail_price: 10.78 + map_price: 10.78 + calculated_price: 10.78 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:35:42Z' + currency: usd + product_id: 195 + bulk_pricing_tiers: + - quantity_min: 2 + quantity_max: 9 + type: percent + amount: 1 + - quantity_min: 10 + quantity_max: 19 + type: percent + amount: 2 + - quantity_min: 20 + quantity_max: 2147483647 + type: percent + amount: 3 + - price_list_id: 3 + variant_id: 389 + price: 18.62 + sale_price: 18.62 + retail_price: 18.62 + map_price: 18.62 + calculated_price: 18.62 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:35:42Z' + currency: usd + product_id: 195 + bulk_pricing_tiers: + - quantity_min: 2 + quantity_max: 9 + type: percent + amount: 1 + - quantity_min: 10 + quantity_max: 19 + type: percent + amount: 2 + - quantity_min: 20 + quantity_max: 2147483647 + type: percent + amount: 3 + - price_list_id: 3 + variant_id: 390 + price: 10.78 + sale_price: 10.78 + retail_price: 10.78 + map_price: 10.78 + calculated_price: 10.78 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:35:42Z' + currency: usd + product_id: 195 + bulk_pricing_tiers: + - quantity_min: 2 + quantity_max: 9 + type: percent + amount: 1 + - quantity_min: 10 + quantity_max: 19 + type: percent + amount: 2 + - quantity_min: 20 + quantity_max: 2147483647 + type: percent + amount: 3 + - price_list_id: 3 + variant_id: 391 + price: 10.78 + sale_price: 10.78 + retail_price: 10.78 + map_price: 10.78 + calculated_price: 10.78 + date_created: '2018-09-17T20:33:14Z' + date_modified: '2018-09-17T20:35:42Z' + currency: usd + product_id: 195 + bulk_pricing_tiers: + - quantity_min: 2 + quantity_max: 9 + type: percent + amount: 1 + - quantity_min: 10 + quantity_max: 19 + type: percent + amount: 2 + - quantity_min: 20 + quantity_max: 2147483647 + type: percent + amount: 3 + meta: + pagination: + total: 14 + count: 14 + per_page: 50 + current_page: 1 + total_pages: 1 + put: tags: - Price Lists Records - put: + summary: Upsert Price List Records description: |- Creates or updates *Price List Records*. @@ -1401,611 +1474,95 @@ paths: * Up to 2 concurrent batch upsert requests are supported with this API. Running more than the allowed concurrent requests in parallel on the **same store** will cause a 429 error and your additional requests will fail. You are encouraged to run requests sequentially with as many records per request as possible, in order to maximize performance. operationId: setPriceListRecordCollection parameters: + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + - name: store_hash + in: path + required: true + schema: + type: string - name: X-Strict-Mode in: header - type: integer - required: false - default: 0 description: | Header that determines whether the Batch API operates in strict mode or not. Strict mode will reject the entire request if any item in the batch has an error. - - name: PriceRecordBatch - in: body - required: true schema: - type: array - items: - description: Price Record object used in batch create or update. - allOf: - - properties: - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 331 - sku: - type: string - description: | - The sku for the variant with which this price set is associated. Either sku or variant_id is required. - example: SMB-123 - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: PriceRecord Batch Item - type: object - title: Price Record Collection Put - x-examples: - application/json: - - variant_id: 361 - sku: SKU-4484A834 - currency: usd - price: 22.544 - - variant_id: 362 - price: 27.39 - currency: usd - bulk_pricing_tiers: - - quantity_min: 10 - quantity_max: 19 - type: percent - amount: 1 - - quantity_min: 20 - quantity_max: 29 - type: percent - amount: 3 - - quantity_min: 30 - quantity_max: 2147483647 - type: percent - amount: 5 - - in: header - type: string - name: Accept - default: application/json - - name: Content-Type + type: integer + default: 0 + - name: Accept in: header - type: string - default: application/json - responses: - '200': - description: Success response for batch PUT of `Price Records`. schema: - type: object - description: Empty object for Success case for Batch API. - title: Success Batch Response - '422': - description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. + type: string + default: application/json + - name: Content-Type + in: header schema: - description: Errors during batch usage for the BigCommerce API. - type: object - properties: - batch_errors: - type: array - items: - description: Error during Price Record batch PUT. Includes data sent in the request and errors. - type: object - properties: - data: - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: - type: string - description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - field_errors: - type: object - additionalProperties: - type: string - title: Detailed Errors - title: PriceRecord Batch Error Set - title: PriceRecord Batch Error Response - summary: Upsert Price List Records - tags: - - Price Lists Records - delete: - description: Deletes a *Price List Record*. Deleting the records does not delete the Price List. Optional parameters can be passed in. - operationId: deletePriceListRecordsByFilter - parameters: - - $ref: '#/parameters/FilterVariantIdParam' - - in: header - type: string - name: Accept - default: application/json - - name: Content-Type - in: header - type: string - default: application/json - responses: - '204': - description: '' - schema: - description: No-content response for the BigCommerce API. - type: object - properties: - status: - description: | - 204 HTTP status code. - type: integer - title: - description: The error title describing the situation. - type: string - type: - type: string - instance: - type: string - title: No Content - summary: Delete a Price List Record - tags: - - Price Lists Records - '/stores/{store_hash}/v3/pricelists/{price_list_id}/records/{variant_id}': - parameters: - - type: integer - name: price_list_id - in: path - description: | - The ID of the `Price List` requested. - required: true - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - type: integer - - type: string - name: store_hash - in: path - required: true - get: - description: Returns *Price List Records* using the variant ID. Will also contain currency records. - operationId: getPriceListRecordsByVariantId - responses: - '200': - description: '' - schema: - description: |- - PriceRecord Collection Response returns for: - * Get All PriceList Records - * Get PriceList Records by Variant Id - type: object - properties: - data: - type: array - items: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: - type: string - description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record - type: object - meta: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + title: Price Record Collection Put + type: array + items: + title: PriceRecord Batch Item type: object - description: 'Data about the response, including pagination and collection totals.' - properties: - pagination: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination + description: Price Record object used in batch create or update. + allOf: + - type: object properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: + variant_id: type: integer description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - title: Collection Meta - title: PriceRecord Collection Response - examples: - application/json: - data: - - price_list_id: 3 - variant_id: 388 - price: 10.78 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' - currency: usd - product_id: 195 - bulk_pricing_tiers: - - quantity_min: 2 - quantity_max: 9 - type: percent - amount: 1 - - quantity_min: 10 - quantity_max: 19 - type: percent - amount: 2 - - quantity_min: 20 - quantity_max: 2147483647 - type: percent - amount: 3 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - summary: Get Price Records by Variant - parameters: - - in: header - type: string - name: Accept - default: application/json - - name: Content-Type - in: header - type: string - default: application/json - tags: - - Price Lists Records - '/stores/{store_hash}/v3/pricelists/{price_list_id}/records/{variant_id}/{currency_code}': - parameters: - - type: integer - name: price_list_id - in: path - description: | - The ID of the `Price List` requested. - required: true - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - type: integer - - name: currency_code - type: string - in: path - description: | - The currency code associated with the price record being acted upon. - required: true - format: ISO-4217 - - type: string - name: store_hash - in: path - required: true - get: - description: Returns a *Price List Record* using the currency code. Optional parameters can be used. - operationId: getPriceListRecord - parameters: - - name: include - description: | - Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. - required: false - in: query - type: string - enum: - - bulk_pricing_tiers - - sku - - in: header - type: string - name: Accept - default: application/json - - name: Content-Type - in: header - type: string - default: application/json - responses: - '200': - description: '' - schema: - description: Response payload for the BigCommerce API. - type: object - properties: - data: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: + The variant with which this price set is associated. Either variant_id or sku is required. + example: 331 + sku: type: string - format: date-time description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - date_modified: + The sku for the variant with which this price set is associated. Either sku or variant_id is required. + example: SMB-123 + currency: type: string - format: date-time description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: - type: string - description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + - title: PriceRecord Base type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base properties: price: type: number - format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 x-required: - put - example: 3.99 sale_price: type: number - format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double retail_price: type: number - format: double description: | The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double map_price: type: number - format: double description: | The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double bulk_pricing_tiers: type: array items: - type: object title: Bulk Pricing Tier + type: object properties: quantity_min: type: integer @@ -2019,768 +1576,1332 @@ paths: example: 10 type: type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price enum: - fixed - price - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price amount: type: number - format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - title: Price Record - type: object - meta: + description: Common Price Record properties. + required: true + responses: + '200': + description: Success response for batch PUT of Price Records. + content: + application/json: + schema: type: object - description: Empty meta object; may be used later. - title: Meta - title: Price Record Response - examples: + properties: + data: + type: object + properties: {} + meta: + type: object + properties: {} + x-examples: + example-1: + data: {} + meta: {} + examples: {} + '422': + description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. + content: application/json: - data: - - price_list_id: 4 - variant_id: 356 - price: 22.544 - sale_price: {} - retail_price: {} - map_price: {} - calculated_price: 22.544 - date_created: '2018-09-18T13:18:15Z' - date_modified: '2018-09-18T13:18:15Z' - currency: eur - product_id: 185 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - tags: - - Price Lists Records - summary: Get a Price Record by Currency Code - put: - description: Creates or updates a*Price List Record* using the currency code. - operationId: setPriceListRecord + schema: + title: PriceRecord Batch Error Response + type: object + properties: + batch_errors: + type: array + items: + title: PriceRecord Batch Error Set + type: object + properties: + data: + title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + field_errors: + title: Detailed Errors + type: object + additionalProperties: + type: string + description: Error during Price Record batch PUT. Includes data sent in the request and errors. + description: Errors during batch usage for the BigCommerce API. + delete: + tags: + - Price Lists Records + summary: Delete a Price List Record + description: Deletes a *Price List Record*. Deleting the records does not delete the Price List. Optional parameters can be passed in. + operationId: deletePriceListRecordsByFilter parameters: - - name: PriceRecord - in: body + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. required: true schema: - type: object - allOf: - - type: object - description: Common Price Record properties. - title: PriceRecord Base + type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: 'variant_id:in' + in: query + description: The ID of the `Variant` whose prices were requested. + schema: + type: integer + - name: Accept + in: header + schema: + type: string + default: application/json + - name: Content-Type + in: header + schema: + type: string + default: application/json + responses: + '204': + description: '' + content: + application/json: + schema: + title: No Content + type: object properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double + status: + type: integer description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: + 204 HTTP status code. + title: + type: string + description: The error title describing the situation. + type: + type: string + instance: + type: string + description: No-content response for the BigCommerce API. + '/stores/{store_hash}/v3/pricelists/{price_list_id}/records/{variant_id}': + get: + tags: + - Price Lists Records + summary: Get Price Records by Variant + description: Returns *Price List Records* using the variant ID. Will also contain currency records. + operationId: getPriceListRecordsByVariantId + parameters: + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + schema: + type: string + default: application/json + - name: Content-Type + in: header + schema: + type: string + default: application/json + responses: + '200': + description: '' + content: + application/json: + schema: + title: PriceRecord Collection Response + type: object + description: |- + PriceRecord Collection Response returns for: + * Get All PriceList Records + * Get PriceList Records by Variant Id + properties: + data: type: array items: + title: Price Record + description: The Price Record object. + allOf: + - properties: + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + format: double + example: 24.64 + date_created: + type: string + description: | + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + date_modified: + type: string + description: | + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + product_id: + type: integer + description: | + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + example: 158 + - title: Price Record Identifiers + description: Price Record object used in batch create or update. + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + example: usd + - title: PriceRecord Base + description: Common Price Record properties. + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + minimum: 0 + example: 5.99 + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + minimum: 0 + example: 6.99 + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + minimum: 0 + example: 5.99 + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: + type: integer + description: | + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer + description: | + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: + type: string + description: | + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record Put - x-examples: + meta: + title: Collection Meta + type: object + description: 'Data about the response, including pagination and collection totals.' + properties: + pagination: + title: 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: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + description: | + Pagination links for the previous and next parts of the whole collection. + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + examples: {} + '/stores/{store_hash}/v3/pricelists/{price_list_id}/records/{variant_id}/{currency_code}': + get: + tags: + - Price Lists Records + summary: Get a Price Record by Currency Code + description: Returns a *Price List Record* using the currency code. Optional parameters can be used. + operationId: getPriceListRecord + parameters: + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + - name: currency_code + in: path + description: | + The currency code associated with the price record being acted upon. + required: true + schema: + type: string + format: ISO-4217 + - name: store_hash + in: path + required: true + schema: + type: string + - name: include + in: query + description: | + Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. + schema: + type: string + enum: + - bulk_pricing_tiers + - sku + - name: Accept + in: header + schema: + type: string + default: application/json + - name: Content-Type + in: header + schema: + type: string + default: application/json + responses: + '200': + description: '' + content: application/json: - price: 12.99 - sale_price: 10.99 - retail_price: 15.99 - map_price: 17.99 - bulk_pricing_tiers: - - quantity_min: 5 - quantity_max: 10 - type: percent - amount: 1 - - quantity_min: 11 - quantity_max: 20 - type: percent - amount: 2 - - in: header - type: string - name: Accept - default: application/json + schema: + title: Price Record Response + type: object + properties: + data: + title: Price Record + type: object + description: The Price Record object. + allOf: + - type: object + properties: + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + format: double + example: 24.64 + date_created: + type: string + description: | + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + date_modified: + type: string + description: | + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + product_id: + type: integer + description: | + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + example: 158 + - title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + - title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: + type: integer + description: | + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer + description: | + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: + type: string + description: | + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: Response payload for the BigCommerce API. + example: + data: + price_list_id: 4 + variant_id: 356 + price: 22.544 + sale_price: 22.544 + retail_price: 22.544 + map_price: 22.544 + calculated_price: 22.544 + date_created: '2018-09-18T13:18:15Z' + date_modified: '2018-09-18T13:18:15Z' + currency: eur + product_id: 185 + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + put: + tags: + - Price Lists Records + summary: Set Price List Record by Currency Code + description: Creates or updates a*Price List Record* using the currency code. + operationId: setPriceListRecord + parameters: + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + - name: currency_code + in: path + description: | + The currency code associated with the price record being acted upon. + required: true + schema: + type: string + format: ISO-4217 + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + title: Price Record Put + allOf: + - title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: + type: integer + description: | + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer + description: | + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: + type: string + description: | + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + required: true responses: '200': description: '' - schema: - description: Response payload for the BigCommerce API. - type: object - properties: - data: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. + content: + application/json: + schema: + title: Price Record Response + type: object + properties: + data: + title: Price Record + type: object + description: The Price Record object. allOf: - - properties: - price_list_id: - type: integer + - type: object + properties: + calculated_price: + type: number description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + format: double + example: 24.64 + date_created: + type: string description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + date_modified: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + product_id: + type: integer + description: | + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + example: 158 + - title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + - title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: + type: integer + description: | + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer + description: | + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: type: string - format: ISO-4217 description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + meta: + title: Meta type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record - type: object - meta: - type: object - description: Empty meta object; may be used later. - title: Meta - title: Price Record Response - examples: - application/json: - data: - price_list_id: 4 - variant_id: 356 - price: 12.99 - sale_price: 10.99 - retail_price: 15.99 - map_price: 17.99 - calculated_price: 10.99 - date_created: '2018-09-18T13:18:15Z' - date_modified: '2018-09-18T13:30:48Z' - currency: eur - product_id: 185 - bulk_pricing_tiers: - - quantity_min: 5 - quantity_max: 10 - type: percent - amount: 1 - - quantity_min: 11 - quantity_max: 20 - type: percent - amount: 2 - meta: {} + properties: {} + description: Empty meta object; may be used later. + description: Response payload for the BigCommerce API. + example: + data: + price_list_id: 4 + variant_id: 356 + price: 12.99 + sale_price: 10.99 + retail_price: 15.99 + map_price: 17.99 + calculated_price: 10.99 + date_created: '2018-09-18T13:18:15Z' + date_modified: '2018-09-18T13:30:48Z' + currency: eur + product_id: 185 + bulk_pricing_tiers: + - quantity_min: 5 + quantity_max: 10 + type: percent + amount: 1 + - quantity_min: 11 + quantity_max: 20 + type: percent + amount: 2 + meta: {} '404': description: | The resource was not found. - schema: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: Not Found - '409': - description: | - `Price Record` was in conflict with another price record. This is the result of duplicate unique values. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. + content: + application/json: + schema: + title: Not Found + type: object properties: status: - description: | - The HTTP status code. type: integer - title: description: | - The error title describing the particular error. + 404 HTTP status code. + title: type: string + description: The error title describing the particular error. type: type: string instance: type: string - title: Base Error - - type: object + description: Error payload for the BigCommerce API. + '409': + description: | + `Price Record` was in conflict with another price record. This is the result of duplicate unique values. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: + title: Detailed Errors type: object additionalProperties: type: string - title: Detailed Errors - title: Error Response - '422': - description: | - `Price Record` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. - properties: + instance: + type: string status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string - instance: - type: string - title: Base Error - - type: object + '422': + description: | + `Price Record` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: + title: Detailed Errors type: object additionalProperties: type: string - title: Detailed Errors - title: Error Response + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: PriceRecord + delete: tags: - Price Lists Records - summary: Set Price List Record by Currency Code - delete: + summary: Delete a Price Record by Currency Code description: 'Deletes a *Price List Record* using the currency code. ' operationId: deletePriceListRecord - responses: - '204': - description: '' - summary: Delete a Price Record by Currency Code - parameters: - - name: Content-Type - in: header - type: string - default: application/json - - in: header - type: string - name: Accept - default: application/json - tags: - - Price Lists Records - '/stores/{store_hash}/v3/pricelists/assignments': - post: - tags: - - Price Lists Assignments - description: Creates a batch of `Price List Assignments`. - operationId: CreatePriceListAssignments parameters: - - name: PriceListAssignmentBatch - in: body - description: A BigCommerce `Price List Assignments` request. + - name: price_list_id + in: path + description: | + The ID of the `Price List` requested. required: true schema: - $ref: '#/definitions/CreateBatchPriceListAssignmentsRequest' - responses: - '200': - description: Success response for batch POST of `Price List Assignments`. + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + - name: currency_code + in: path + description: | + The currency code associated with the price record being acted upon. + required: true + schema: + type: string + format: ISO-4217 + - name: store_hash + in: path + required: true schema: - $ref: '#/definitions/SuccessBatchResponse' - '422': - description: Error response for batch POST of `Price List Assignments`. Includes the errors for each reference id. + type: string + - name: Content-Type + in: header schema: - $ref: '#/definitions/PriceListAssignmentsBatchErrorResponse' - summary: Create Price List Assignments + type: string + default: application/json + - name: Accept + in: header + schema: + type: string + default: application/json + responses: + '204': + description: '' + content: {} + '/stores/{store_hash}/v3/pricelists/assignments': get: tags: - Price Lists Assignments + summary: Get Price List Assignments description: Fetches an array of `Price List Assignments` matching a particular Customer Group and Price List and Channel. operationId: GetListOfPriceListAssignments parameters: - - $ref: '#/parameters/FilterAssignmentIdParam' - - $ref: '#/parameters/FilterPriceListIdParam' - - $ref: '#/parameters/FilterCustomerGroupIdParam' - - $ref: '#/parameters/FilterChannelIdParam' - - type: array - items: + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: query + description: The ID of the `Price List Assignment`. + schema: type: integer + - name: price_list_id in: query - name: 'id:in' - description: Filter items by a comma-separated list of `id`s. - - type: array - items: + description: The ID of the `Price List`. + schema: type: integer + - name: customer_group_id in: query - name: 'customer_group_id:in' - description: Filter items by a comma-separated list of `customer_group_id`s. - - type: array - items: + description: The ID of the `Customer Group`. + schema: type: integer + - name: channel_id in: query - name: 'price_list_id:in' - description: Filter items by a comma-separated list of `price_list_id`s. - - type: array - items: + description: The ID of the `Channel`. + schema: type: integer + - name: 'id:in' + in: query + description: Filter items by a comma-separated list of `id`s. + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'customer_group_id:in' + in: query + description: Filter items by a comma-separated list of `customer_group_id`s. + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'price_list_id:in' + in: query + description: Filter items by a comma-separated list of `price_list_id`s. + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'channel_id:in' in: query - name: 'channel_id:in' description: Filter items by a comma-separated list of `channel_id`s. - - type: integer + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page in: query - name: page description: Specifies the page number in a limited (paginated) list of products. - - type: integer + schema: + type: integer + - name: limit in: query - name: limit description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer responses: '200': description: An array of price list assignments and metadata. + content: + application/json: + schema: + $ref: '#/components/schemas/AssignmentsForGetResponse' + post: + tags: + - Price Lists Assignments + summary: Create Price List Assignments + description: Creates a batch of Price List Assignments. + operationId: CreatePriceListAssignments + parameters: + - name: store_hash + in: path + required: true schema: - $ref: '#/definitions/AssignmentsForGetResponse' - summary: Get Price List Assignments + type: string + requestBody: + description: A BigCommerce Price List Assignments request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateBatchPriceListAssignmentsRequest' + required: true + responses: + '200': + description: Success response for batch POST of `Price List Assignments`. + '422': + description: Error response for batch POST of Price List Assignments. Includes the errors for each reference ID. + content: + application/json: + schema: + $ref: '#/components/schemas/PriceListAssignmentsBatchErrorResponse' delete: tags: - Price Lists Assignments + summary: Delete Price List Assignments description: Deletes one or more `Price List Assignments` objects from BigCommerce using a filter. operationId: deletePriceListAssignmentsByFilter parameters: - - $ref: '#/parameters/FilterAssignmentIdParam' - - $ref: '#/parameters/FilterPriceListIdParam' - - $ref: '#/parameters/FilterCustomerGroupIdParam' - - $ref: '#/parameters/FilterChannelIdParam' - - type: array - items: + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: query + description: The ID of the `Price List Assignment`. + schema: type: integer + - name: price_list_id in: query - name: 'channel_id:in' - description: Filter results by a comma-separated list of `channel_id`s. - responses: - '204': - description: An empty response. + description: The ID of the `Price List`. schema: - $ref: '#/definitions/NoContent' - summary: Delete Price List Assignments - parameters: - - type: string - name: store_hash - in: path - required: true -parameters: - FilterIdParam: - name: id - description: | - Filter items by id. - required: false - in: query - type: integer - FilterSkuParam: - name: sku - description: | - Filter items by sku. - required: false - in: query - type: string - FilterProductIdParam: - type: string - name: 'product_id:in' - in: query - required: false - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - FilterNameParam: - name: name - description: | - Filter items by name. - required: false - in: query - type: string - FilterPriceParam: - name: price - description: | - Filter items by price. - required: false - in: query - type: number - FilterSalePriceParam: - name: sale_price - description: | - Filter items by sale_price. - required: false - in: query - type: number - FilterRetailPriceParam: - name: retail_price - description: | - Filter items by retail_price. - required: false - in: query - type: number - FilterMapPriceParam: - name: map_price - description: | - Filter items by map_price. - required: false - in: query - type: number - FilterCalculatedPriceParam: - name: calculated_price - description: | - Filter items by calculated_price. - required: false - in: query - type: number - VariantIdParam: - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - type: integer - FilterDateModifiedParam: - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false - in: query - type: string - format: date-time - FilterDateCreatedParam: - name: date_created - description: | - Filter items by date_created. - required: false - in: query - type: string - format: date-time - FilterIncludePriceRecordParam: - name: include - description: | - Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. - required: false - in: query - type: string - enum: - - bulk_pricing_tiers - - sku - FilterCurrencyParam: - name: currency - description: | - Filter items by currency. - required: false - in: query - type: string - format: ISO-4217 - PageParam: - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false - in: query - type: integer - LimitParam: - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false - in: query - type: integer - PriceListIdParam: - type: integer - name: price_list_id - in: path - description: | - The ID of the `Price List` requested. - required: true - PriceRecordCurrencyParam: - name: currency_code - type: string - in: path - description: | - The currency code associated with the price record being acted upon. - required: true - format: ISO-4217 - FilterVariantIdParam: - type: integer - name: 'variant_id:in' - in: query - required: false - description: The ID of the `Variant` whose prices were requested. - Accept: - in: header - type: string - name: Accept - default: application/json - Content-Type: - name: Content-Type - in: header - type: string - default: application/json - FilterAssignmentIdParam: - description: The ID of the `Price List Assignment`. - required: false - in: query - type: integer - name: id - FilterPriceListIdParam: - name: price_list_id - description: The ID of the `Price List`. - required: false - in: query - type: integer - FilterCustomerGroupIdParam: - name: customer_group_id - description: The ID of the `Customer Group`. - required: false - in: query - type: integer - FilterChannelIdParam: - name: channel_id - description: The ID of the `Channel`. - required: false - in: query - type: integer -definitions: - AssignmentsForRequest: - type: object - description: '`Price List Assignments` object used in batch create.' - properties: - customer_group_id: - type: integer - format: int32 - description: Customer group id for assignment. - price_list_id: - type: integer - format: int32 - description: Pricelist id for assignment. - channel_id: - type: integer - format: int32 - description: Channel ID for assignment - required: - - price_list_id - x-internal: false - PriceListAssignmentsBatchErrorResponse: - description: Errors during batch usage for the BigCommerce API. - type: object - properties: - batch_errors: - type: array - items: - $ref: '#/definitions/PriceListAssignmentsBatchErrorSet' - x-internal: false - PriceListAssignmentsBatchErrorSet: - description: Error during `Price List Assignments` batch POST. Includes data sent in the request and errors. - type: object - properties: - data: - $ref: '#/definitions/PriceListAssignmentsIdentifiers' - field_errors: - $ref: '#/definitions/DetailedErrors' - x-internal: false - PriceListAssignmentsIdentifiers: - type: object - description: '`Price List Assignments` object used in GET response.' - allOf: - - type: object - properties: - customer_group_id: type: integer - description: The Customer Group with which this price list assignment is associated. A customer_group_id of 0 indicates default pricing for the channel given in the request. - price_list_id: + - name: customer_group_id + in: query + description: The ID of the `Customer Group`. + schema: type: integer - description: The Price List with which this price set is associated. - channel_id: + - name: channel_id + in: query + description: The ID of the `Channel`. + schema: type: integer - description: The Channel with which this price set is associated. This field is optional or may be null when a price list applies across channels for the customer_group_id in the assignment. - x-internal: false - AssignmentForGetResponse: - type: object - properties: - id: - type: integer - format: int32 - description: Unique identifier for this price list assignment. - customer_group_id: - type: integer - format: int32 - description: Customer group id for assignment. - price_list_id: - type: integer - format: int32 - description: Pricelist id for assignment. - channel_id: - type: integer - format: int32 - description: Channel ID for assignment - x-internal: false - AssignmentsForGetResponse: - description: Array of the price list assignments matching the filter. The response is paginated. - type: object - properties: - data: - type: array - items: - $ref: '#/definitions/AssignmentForGetResponse' - meta: - $ref: '#/definitions/CollectionMeta' - x-internal: false - PriceListCollectionResponse: - description: Get All PriceLists. - type: object - properties: - data: - type: array - items: + - name: 'channel_id:in' + in: query + description: Filter results by a comma-separated list of `channel_id`s. + style: form + explode: false + schema: + type: array + items: + type: integer + responses: + '204': + description: An empty response. + content: + application/json: + schema: + $ref: '#/components/schemas/NoContent' +components: + schemas: + AssignmentsForRequest: + required: + - price_list_id + type: object + properties: + customer_group_id: + type: integer + description: Customer group id for assignment. + format: int32 + price_list_id: + type: integer + description: Pricelist id for assignment. + format: int32 + channel_id: + type: integer + description: Channel ID for assignment + format: int32 + description: '`Price List Assignments` object used in batch create.' + x-internal: false + PriceListAssignmentsBatchErrorResponse: + type: object + properties: + batch_errors: + type: array + items: + $ref: '#/components/schemas/PriceListAssignmentsBatchErrorSet' + description: Errors during batch usage for the BigCommerce API. + x-internal: false + PriceListAssignmentsBatchErrorSet: + type: object + properties: + data: + $ref: '#/components/schemas/PriceListAssignmentsIdentifiers' + field_errors: + $ref: '#/components/schemas/DetailedErrors' + description: Error during `Price List Assignments` batch POST. Includes data sent in the request and errors. + x-internal: false + PriceListAssignmentsIdentifiers: + description: '`Price List Assignments` object used in GET response.' + allOf: + - type: object + properties: + customer_group_id: + type: integer + description: The Customer Group with which this price list assignment is associated. A customer_group_id of 0 indicates default pricing for the channel given in the request. + price_list_id: + type: integer + description: The Price List with which this price set is associated. + channel_id: + type: integer + description: The Channel with which this price set is associated. This field is optional or may be null when a price list applies across channels for the customer_group_id in the assignment. + x-internal: false + AssignmentForGetResponse: + type: object + properties: + id: + type: integer + description: Unique identifier for this price list assignment. + format: int32 + customer_group_id: + type: integer + description: Customer group id for assignment. + format: int32 + price_list_id: + type: integer + description: Pricelist id for assignment. + format: int32 + channel_id: + type: integer + description: Channel ID for assignment + format: int32 + x-internal: false + AssignmentsForGetResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/AssignmentForGetResponse' + meta: + $ref: '#/components/schemas/CollectionMeta' + description: Array of the price list assignments matching the filter. The response is paginated. + x-internal: false + PriceListCollectionResponse: + title: PriceList Collection Response + type: object + properties: + data: + type: array + items: + title: Price List + type: object + allOf: + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the `Price List`; increments sequentially. + example: 3 + date_created: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + date_modified: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + meta: + title: Collection Meta + type: object + properties: + pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + description: Get All PriceLists. + x-internal: false + PriceListResponse: + title: Price List Response + type: object + properties: + data: + title: Price List + type: object allOf: - - properties: + - type: object + properties: id: type: integer description: | @@ -2788,296 +2909,371 @@ definitions: example: 3 date_created: type: string - format: date-time description: | The date on which the `Price List` was created. + format: date-time example: '2018-04-05T16:05:12Z' date_modified: type: string - format: date-time description: | The date on which the `Price List` was created. + format: date-time example: '2018-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base + - title: PriceList Base + required: + - name + type: object properties: name: type: string - description: | - The unique name of the Price List. Required in /POST. + description: The unique name of the Price List. Required in /POST. + example: Wholesale x-required: - post - example: Wholesale active: type: boolean description: | Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true - required: - - name - title: Price List + description: Common Price List properties. + meta: + title: Meta type: object - meta: - type: object - description: 'Data about the response, including pagination and collection totals.' - properties: - pagination: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. + properties: {} + description: Empty meta object; may be used later. + description: |- + PriceList Reponse returns for: + + * Create a PriceList + * Get a PriceList + * Update a PriceList + x-internal: false + PriceListBase: + title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + x-internal: false + PriceList: + title: Price List + allOf: + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the `Price List`; increments sequentially. + example: 3 + date_created: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + date_modified: + type: string + description: | + The date on which the `Price List` was created. + format: date-time + example: '2018-04-05T16:05:12Z' + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + x-internal: false + PriceListPost: + title: PriceList Post + description: 'Creates a Price List. ' + allOf: + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + x-internal: false + PriceListPut: + title: PriceList Put + description: Update a PriceList + allOf: + - title: PriceList Base + required: + - name + type: object + properties: + name: + type: string + description: The unique name of the Price List. Required in /POST. + example: Wholesale + x-required: + - post + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + description: Common Price List properties. + x-internal: false + PriceRecordCollectionResponse: + title: PriceRecord Collection Response + type: object + properties: + data: + type: array + items: + title: Price Record + type: object + description: The Price Record object. + allOf: + - type: object properties: - previous: + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + format: double + example: 24.64 + date_created: type: string description: | - Link to the previous page returned in the response. - current: + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + date_modified: type: string description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + product_id: + type: integer + description: | + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + example: 158 + - title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + - title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: + type: integer + description: | + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer + description: | + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: type: string description: | - Link to the next page returned in the response. - title: Collection Meta - title: PriceList Collection Response - x-internal: false - PriceListResponse: - description: |- - PriceList Reponse returns for: - - * Create a PriceList - * Get a PriceList - * Update a PriceList - type: object - properties: - data: - allOf: - - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - date_modified: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: Price List - type: object - meta: - type: object - description: Empty meta object; may be used later. - title: Meta - title: Price List Response - x-internal: false - PriceListBase: - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - x-internal: false - PriceList: - allOf: - - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - date_modified: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2018-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: Price List - type: object - x-internal: false - PriceListPost: - type: object - allOf: - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - required: - - name - title: PriceList Post - description: 'Creates a Price List. ' - x-internal: false - PriceListPut: - type: object - allOf: - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in /POST. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: PriceList Put - description: Update a PriceList - x-internal: false - PriceRecordCollectionResponse: - description: |- - PriceRecord Collection Response returns for: - * Get All PriceList Records - * Get PriceList Records by Variant Id - type: object - properties: - data: - type: array - items: + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + meta: + title: Collection Meta + type: object + properties: + pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + description: |- + PriceRecord Collection Response returns for: + * Get All PriceList Records + * Get PriceList Records by Variant Id + x-internal: false + PriceRecordResponse: + title: Price Record Response + type: object + properties: + data: + title: Price Record + type: object description: The Price Record object. allOf: - - properties: + - type: object + properties: calculated_price: type: number - format: double description: | The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + format: double example: 24.64 date_created: type: string - format: date-time description: | The date on which the Price entry was created. + format: date-time example: '2018-08-23T19:59:23Z' date_modified: type: string - format: date-time description: | The date on which the Price entry was created. + format: date-time example: '2018-08-23T19:59:23Z' product_id: type: integer description: | The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - - description: Price Record object used in batch create or update. + - title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. allOf: - - properties: + - type: object + properties: price_list_id: type: integer description: | @@ -3094,44 +3290,41 @@ definitions: The variant with which this price set is associated. Either sku or variant_id is required. currency: type: string - format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. + format: ISO-4217 example: usd - title: Price Record Identifiers + - title: PriceRecord Base type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base properties: price: type: number - format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 x-required: - put - example: 3.99 sale_price: type: number - format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double retail_price: type: number - format: double description: | The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double map_price: type: number - format: double description: | The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double bulk_pricing_tiers: type: array items: - type: object title: Bulk Pricing Tier + type: object properties: quantity_min: type: integer @@ -3145,169 +3338,369 @@ definitions: example: 10 type: type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price enum: - fixed - price - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price amount: type: number - format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - title: Price Record + description: Common Price Record properties. + meta: + title: Meta type: object - meta: - type: object - description: 'Data about the response, including pagination and collection totals.' - properties: - pagination: + properties: {} + description: Empty meta object; may be used later. + description: Response payload for the BigCommerce API. + x-internal: false + PriceRecordBase: + title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: + quantity_min: type: integer description: | - Total number of items in the collection response. - example: 36 - per_page: + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: type: integer description: | - The amount of items returned in the collection per page, controlled by the limit parameter. - example: 50 - current_page: - type: integer + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string description: | - The page you are currently on within the collection. - example: 1 - total_pages: - type: integer + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number description: | - The total number of pages in the collection. - example: 1 - links: + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: + type: string + description: | + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + x-internal: false + PriceRecord: + title: Price Record + description: The Price Record object. + allOf: + - type: object + properties: + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + format: double + example: 24.64 + date_created: + type: string + description: | + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + date_modified: + type: string + description: | + The date on which the Price entry was created. + format: date-time + example: '2018-08-23T19:59:23Z' + product_id: + type: integer + description: | + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + example: 158 + - title: Price Record Identifiers + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + - title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier type: object - description: | - Pagination links for the previous and next parts of the whole collection. properties: - previous: - type: string + quantity_min: + type: integer description: | - Link to the previous page returned in the response. - current: - type: string + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: type: string description: | - Link to the next page returned in the response. - title: Collection Meta - title: PriceRecord Collection Response - x-internal: false - PriceRecordResponse: - description: Response payload for the BigCommerce API. - type: object - properties: - data: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: + type: string + description: | + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + x-internal: false + BulkPricingTier: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: + type: integer + description: | + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: + type: integer + description: | + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: + type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number + description: | + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + x-internal: false + PriceRecordPut: + title: Price Record Put + allOf: + - title: PriceRecord Base + type: object + properties: + price: + type: number + description: | + The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 + x-required: + - put + sale_price: + type: number + description: | + The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: | + The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + title: Bulk Pricing Tier + type: object + properties: + quantity_min: type: integer description: | - The Price List with which this price set is associated. - example: 2 - variant_id: + The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + example: 1 + quantity_max: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: + The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + example: 10 + type: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: - type: string - format: ISO-4217 + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price + enum: + - fixed + - price + - percent + amount: + type: number description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object + The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double + example: 3 + sku: + type: string + description: | + The SKU code associated with this `Price Record` if requested and it exists. + example: SMB-123 + description: Common Price Record properties. + x-internal: false + PriceRecordCollectionPut: + title: Price Record Collection Put + type: array + items: + title: PriceRecord Batch Item + type: object + description: Price Record object used in batch create or update. + allOf: - type: object - description: Common Price Record properties. - title: PriceRecord Base + properties: + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 331 + sku: + type: string + description: | + The sku for the variant with which this price set is associated. Either sku or variant_id is required. + example: SMB-123 + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + - title: PriceRecord Base + type: object properties: price: type: number - format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 x-required: - put - example: 3.99 sale_price: type: number - format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double retail_price: type: number - format: double description: | The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double map_price: type: number - format: double description: | The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double bulk_pricing_tiers: type: array items: - type: object title: Bulk Pricing Tier + type: object properties: quantity_min: type: integer @@ -3321,319 +3714,32 @@ definitions: example: 10 type: type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price enum: - fixed - price - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price amount: type: number - format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - title: Price Record - type: object - meta: - type: object - description: Empty meta object; may be used later. - title: Meta - title: Price Record Response - x-internal: false - PriceRecordBase: - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - x-internal: false - PriceRecord: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2018-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: - type: string - description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record - type: object - x-internal: false - BulkPricingTier: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - x-internal: false - PriceRecordPut: - type: object - allOf: - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record Put - x-internal: false - PriceRecordCollectionPut: - type: array - items: + description: Common Price Record properties. + x-internal: false + PriceRecordBatchItem: + title: PriceRecord Batch Item description: Price Record object used in batch create or update. allOf: - - properties: + - type: object + properties: variant_id: type: integer description: | @@ -3646,42 +3752,41 @@ definitions: example: SMB-123 currency: type: string - format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. + format: ISO-4217 example: usd - - type: object - description: Common Price Record properties. - title: PriceRecord Base + - title: PriceRecord Base + type: object properties: price: type: number - format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. + format: double + example: 3.99 x-required: - put - example: 3.99 sale_price: type: number - format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double retail_price: type: number - format: double description: | The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double map_price: type: number - format: double description: | The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + format: double bulk_pricing_tiers: type: array items: - type: object title: Bulk Pricing Tier + type: object properties: quantity_min: type: integer @@ -3695,456 +3800,544 @@ definitions: example: 10 type: type: string + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price enum: - fixed - price - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price amount: type: number - format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. + format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - title: PriceRecord Batch Item + description: Common Price Record properties. + x-internal: false + PriceRecordIdentifiers: + title: Price Record Identifiers + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + x-internal: false + SuccessBatchResponse: + title: Success Batch Response type: object - title: Price Record Collection Put - x-internal: false - PriceRecordBatchItem: - description: Price Record object used in batch create or update. - allOf: - - properties: - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 331 - sku: - type: string - description: | - The sku for the variant with which this price set is associated. Either sku or variant_id is required. - example: SMB-123 - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier + description: Empty object for Success case for Batch API. + x-internal: false + PriceRecordBatchErrorResponse: + title: PriceRecord Batch Error Response + type: object + properties: + batch_errors: + type: array + items: + title: PriceRecord Batch Error Set + type: object + properties: + data: + title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: | + The Price List with which this price set is associated. + example: 2 + variant_id: + type: integer + description: | + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: + type: string + description: | + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string + description: | + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + field_errors: + title: Detailed Errors + type: object + additionalProperties: + type: string + description: Error during Price Record batch PUT. Includes data sent in the request and errors. + description: Errors during batch usage for the BigCommerce API. + x-internal: false + NoContent: + type: object + properties: + status: + type: integer + description: 204 HTTP status code. + title: + type: string + description: The error title describing the situation. + type: + type: string + instance: + type: string + description: No-content response for the BigCommerce API. + x-internal: false + PriceRecordBatchErrorSet: + title: PriceRecord Batch Error Set + type: object + properties: + data: + title: Price Record Identifiers + type: object + description: Price Record object used in batch create or update. + allOf: + - type: object properties: - quantity_min: + price_list_id: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: + The Price List with which this price set is associated. + example: 2 + variant_id: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: + The variant with which this price set is associated. Either variant_id or sku is required. + example: 325 + sku: type: string - enum: - - fixed - - price - - percent description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double + The variant with which this price set is associated. Either sku or variant_id is required. + currency: + type: string description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: PriceRecord Batch Item - type: object - x-internal: false - PriceRecordIdentifiers: - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: - type: string - description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: + The 3-letter currency code with which this price set is associated. + format: ISO-4217 + example: usd + field_errors: + title: Detailed Errors + type: object + additionalProperties: type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - x-internal: false - SuccessBatchResponse: - type: object - description: Empty object for Success case for Batch API. - title: Success Batch Response - x-internal: false - PriceRecordBatchErrorResponse: - description: Errors during batch usage for the BigCommerce API. - type: object - properties: - batch_errors: - type: array - items: - description: Error during Price Record batch PUT. Includes data sent in the request and errors. + description: Error during Price Record batch PUT. Includes data sent in the request and errors. + x-internal: false + CollectionMeta: + title: Collection Meta + type: object + properties: + pagination: + title: Pagination type: object properties: - data: - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: - type: string - description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: type: object - field_errors: + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + Pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + Meta: + title: Meta + type: object + description: Empty meta object; may be used later. + x-internal: false + ErrorResponse: + title: Error Response + allOf: + - title: Base Error + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + - type: object + properties: + errors: + title: Detailed Errors type: object additionalProperties: type: string - title: Detailed Errors - title: PriceRecord Batch Error Set - title: PriceRecord Batch Error Response - x-internal: false - NoContent: - description: No-content response for the BigCommerce API. - type: object - properties: - status: - description: 204 HTTP status code. + x-internal: false + BaseError: + title: Base Error + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + DetailedErrors: + title: Detailed Errors + type: object + additionalProperties: + type: string + x-internal: false + NotFound: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-internal: false + CreateBatchPriceListAssignmentsRequest: + type: array + description: Batch of price list assignments. + items: + $ref: '#/components/schemas/AssignmentsForRequest' + x-internal: false + parameters: + FilterIdParam: + name: id + in: query + description: | + Filter items by id. + schema: type: integer - title: - description: The error title describing the situation. + FilterSkuParam: + name: sku + in: query + description: | + Filter items by sku. + schema: type: string - type: + FilterProductIdParam: + name: 'product_id:in' + in: query + description: | + A comma-separated list of ids of `Product`s whose prices were requested. + schema: type: string - instance: + FilterNameParam: + name: name + in: query + description: | + Filter items by name. + schema: type: string - x-internal: false - PriceRecordBatchErrorSet: - description: Error during Price Record batch PUT. Includes data sent in the request and errors. - type: object - properties: - data: - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant with which this price set is associated. Either variant_id or sku is required. - example: 325 - sku: - type: string - description: | - The variant with which this price set is associated. Either sku or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - field_errors: - type: object - additionalProperties: - type: string - title: Detailed Errors - title: PriceRecord Batch Error Set - x-internal: false - CollectionMeta: - type: object - description: 'Data about the response, including pagination and collection totals.' - properties: - pagination: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - title: Collection Meta - x-internal: false - Pagination: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - x-internal: false - Meta: - type: object - description: Empty meta object; may be used later. - title: Meta - x-internal: false - ErrorResponse: - allOf: - - 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 - title: Base Error - - type: object - properties: - errors: - type: object - additionalProperties: - type: string - title: Detailed Errors - title: Error Response - x-internal: false - BaseError: - type: object - description: | - Error payload for the BigCommerce API. - properties: - status: - description: | - The HTTP status code. + FilterPriceParam: + name: price + in: query + description: | + Filter items by price. + schema: + type: number + FilterSalePriceParam: + name: sale_price + in: query + description: | + Filter items by sale_price. + schema: + type: number + FilterRetailPriceParam: + name: retail_price + in: query + description: | + Filter items by retail_price. + schema: + type: number + FilterMapPriceParam: + name: map_price + in: query + description: | + Filter items by map_price. + schema: + type: number + FilterCalculatedPriceParam: + name: calculated_price + in: query + description: | + Filter items by calculated_price. + schema: + type: number + VariantIdParam: + name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: type: integer - title: - description: | - The error title describing the particular error. + FilterDateModifiedParam: + name: date_modified + in: query + description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: type: string - type: + format: date-time + FilterDateCreatedParam: + name: date_created + in: query + description: | + Filter items by date_created. + schema: type: string - instance: + format: date-time + FilterIncludePriceRecordParam: + name: include + in: query + description: | + Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. + schema: + type: string + enum: + - bulk_pricing_tiers + - sku + FilterCurrencyParam: + name: currency + in: query + description: | + Filter items by currency. + schema: type: string - title: Base Error - x-internal: false - DetailedErrors: - type: object - additionalProperties: - type: string - title: Detailed Errors - x-internal: false - NotFound: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. + format: ISO-4217 + PageParam: + name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + LimitParam: + name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: type: integer - title: - description: The error title describing the particular error. + PriceListIdParam: + name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + schema: + type: integer + PriceRecordCurrencyParam: + name: currency_code + in: path + description: | + The currency code associated with the price record being acted upon. + required: true + schema: type: string - type: + format: ISO-4217 + FilterVariantIdParam: + name: 'variant_id:in' + in: query + description: The ID of the `Variant` whose prices were requested. + schema: + type: integer + Accept: + name: Accept + in: header + schema: type: string - instance: + default: application/json + Content-Type: + name: Content-Type + in: header + schema: type: string - title: Not Found - x-internal: false - CreateBatchPriceListAssignmentsRequest: - type: array - description: Batch of price list assignments. - items: - $ref: '#/definitions/AssignmentsForRequest' - x-internal: false -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | + default: application/json + FilterAssignmentIdParam: + name: id + in: query + description: The ID of the `Price List Assignment`. + schema: + type: integer + FilterPriceListIdParam: + name: price_list_id + in: query + description: The ID of the `Price List`. + schema: + type: integer + FilterCustomerGroupIdParam: + name: customer_group_id + in: query + description: The ID of the `Customer Group`. + schema: + type: integer + FilterChannelIdParam: + name: channel_id + in: query + description: The ID of the `Channel`. + schema: + type: integer + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index caa7c6699..eb032d11f 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -1,5 +1,4 @@ -swagger: '2.0' -basePath: / +openapi: 3.0.1 info: title: Pricing description: |- @@ -21,856 +20,846 @@ info: |----------|------------|-------------------------------| | Products | read-only | `store_v2_products_read_only` | version: '' +servers: + - url: 'https://api.bigcommerce.com' +security: + - X-Auth-Token: [] +tags: + - name: Products paths: '/stores/{store_hash}/v3/pricing/products': post: + tags: + - Products summary: Get Prices (Batch) + description: |- + Calculate batch pricing for products for a specific channel, currency, and customer group. + + **Limits** + * Limit of 50 concurrent requests. operationId: get-prices parameters: - - name: store_hash - type: string + - name: store_hash in: path required: true - - name: body - in: body - required: true schema: - type: object - properties: - channel_id: - type: integer - description: The channel context that pricing should be evaluated within. The default BC storefront is channel 1 - example: 1 - currency_code: - type: string - description: The currency of prices to be returned for this request - example: USD - customer_group_id: - type: integer - description: 'The customer group relevant for any customer group pricing, tax values, etc.' - items: - type: array - description: The items to fetch prices for + type: string + requestBody: + content: + application/json: + schema: + required: + - channel_id + - currency_code + - customer_group_id + - items + type: object + properties: + channel_id: + type: integer + description: The channel context that pricing should be evaluated within. The default BC storefront is channel 1 + example: 1 + currency_code: + type: string + description: The currency of prices to be returned for this request + example: USD + customer_group_id: + type: integer + description: 'The customer group relevant for any customer group pricing, tax values, etc.' items: - type: object - description: Details/configuration for the product to request a price for. - properties: - product_id: - type: integer - description: The (required) product ID of the item - variant_id: - type: number - description: The (optional) variant ID of the item - options: - type: array - description: The (optional) option configuration of the product. May be "partially" configured for estimates. - items: - type: object - properties: - option_id: - type: integer - description: The ID of the variant option or modifier option being configured for this product - value_id: - type: integer - description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' - required: - - channel_id - - currency_code - - customer_group_id - - items - x-examples: - example-1: - channel_id: 1 - currency_code: USD - customer_group_id: 0 - items: - - product_id: 0 - variant_id: 0 - options: - - option_id: 0 - value_id: 0 + type: array + description: The items to fetch prices for + items: + type: object + properties: + product_id: + type: integer + description: The (required) product ID of the item + variant_id: + type: number + description: The (optional) variant ID of the item + options: + type: array + description: The (optional) option configuration of the product. May be "partially" configured for estimates. + items: + type: object + properties: + option_id: + type: integer + description: The ID of the variant option or modifier option being configured for this product + value_id: + type: integer + description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' + description: Details/configuration for the product to request a price for. + required: true responses: '200': description: OK - schema: - type: object - properties: - data: - type: array - items: - type: object - properties: - product_id: - type: integer - description: The product ID this price was generated for - variant_id: - type: integer - description: The (optional) variant ID this price was generated for - options: - type: array - description: The optional product option configuration this price was generated for - items: - type: object - properties: - option_id: - description: The ID of the variant option or modifier option configured for this price - type: integer - value_id: - description: The selected value ID for the configured option. - type: integer - retail_price: - description: The (optional) RRP/retail price configured for this product. Used for price comparison and storefront display purposes. - type: object - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - sale_price: - type: object - description: The merchant-entered sale price for a product overwrites the default price. The sale_price is optional. - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - minimum_advertised_price: - type: object - description: The minimum advertised price (MAP) allowed to be shown on a storefront. A value supplied by the merchant and used for display purposes. - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - price: - type: object - description: The merchant-entered price for a product could be including or excluding tax. Price must be defined when creating a product and serves as the default price. - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - calculated_price: - type: object - description: 'The shopper price for a product including modifier, option, and option set rules. Calculated_price may include or exclude estimates for tax.' - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - price_range: + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: type: object - description: The minimum and maximum price that will typically apply to this product. Only used for complex products (products with variants). properties: - minimum: + product_id: + type: integer + description: The product ID this price was generated for + variant_id: + type: integer + description: The (optional) variant ID this price was generated for + options: + type: array + description: The optional product option configuration this price was generated for + items: + type: object + properties: + option_id: + type: integer + description: The ID of the variant option or modifier option configured for this price + value_id: + type: integer + description: The selected value ID for the configured option. + retail_price: type: object - description: The price for a product including estimates for tax properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - maximum: + description: The estimated tax inclusive price for this product based on the provided customer group + description: The (optional) RRP/retail price configured for this product. Used for price comparison and storefront display purposes. + sale_price: type: object - description: The price for a product including estimates for tax properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - retail_price_range: - type: object - description: The product's variants that will typically apply to this product. - properties: - minimum: + description: The estimated tax inclusive price for this product based on the provided customer group + description: The merchant-entered sale price for a product overwrites the default price. The sale_price is optional. + minimum_advertised_price: type: object - description: The price for a product including estimates for tax properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - maximum: + description: The estimated tax inclusive price for this product based on the provided customer group + description: The minimum advertised price (MAP) allowed to be shown on a storefront. A value supplied by the merchant and used for display purposes. + price: type: object - description: The price for a product including estimates for tax properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: + type: number description: The estimated tax inclusive price for this product based on the provided customer group + description: The merchant-entered price for a product could be including or excluding tax. Price must be defined when creating a product and serves as the default price. + calculated_price: + type: object + properties: + as_entered: type: number - bulk_pricing: - type: array - items: - $ref: '#/definitions/BulkPricingTier' - meta: - type: object - examples: - application/json: - data: - - product_id: 1 - variant_id: 1 - options: - - option_id: 1 - value_id: 1 - retail_price: - as_entered: 1.5 - entered_inclusive: true - tax_exclusive: 1.1 - tax_inclusive: 1.5 - sale_price: - as_entered: 1.5 - entered_inclusive: true - tax_exclusive: 1.1 - tax_inclusive: 1.5 - minimum_advertised_price: - as_entered: 1.5 - entered_inclusive: true - tax_exclusive: 1.1 - tax_inclusive: 1.5 - price: - as_entered: 1.5 - entered_inclusive: true - tax_exclusive: 1.1 - tax_inclusive: 1.5 - calculated_price: - as_entered: 1.5 - entered_inclusive: true - tax_exclusive: 1.1 - tax_inclusive: 1.5 - price_range: - minimum: + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: 'The shopper price for a product including modifier, option, and option set rules. Calculated_price may include or exclude estimates for tax.' + price_range: + type: object + properties: + minimum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + maximum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + description: The minimum and maximum price that will typically apply to this product. Only used for complex products (products with variants). + retail_price_range: + type: object + properties: + minimum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + maximum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + description: The product's variants that will typically apply to this product. + bulk_pricing: + type: array + items: + $ref: '#/components/schemas/BulkPricingTier' + meta: + type: object + properties: {} + example: + data: + - product_id: 1 + variant_id: 1 + options: + - option_id: 1 + value_id: 1 + retail_price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 - maximum: + sale_price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 - retail_price_range: - minimum: + minimum_advertised_price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 - maximum: + price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 - bulk_pricing: - - minimum: 1 - maximum: 1 - discount_amount: 1 - discount_type: PERCENT - meta: {} - tags: - - Products - description: |- - Calculate batch pricing for products for a specific channel, currency, and customer group. - - **Limits** - * Limit of 50 concurrent requests. -definitions: - BulkPricingTier: - type: object - properties: - minimum: - type: integer - description: The minumum quantity required to trigger this bulk pricing discount - maximum: - type: integer - description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount - discount_amount: - type: number - discount_type: - enum: - - price - - percent - - fixed - type: string - x-internal: false - PricingResponse: - type: object - properties: - data: - type: array - items: - type: object - properties: - product_id: - type: integer - description: The product ID this price was generated for - variant_id: - type: integer - description: The (optional) variant ID this price was generated for - options: - type: array - description: The optional product option configuration this price was generated for - items: + calculated_price: + as_entered: 1.5 + entered_inclusive: true + tax_exclusive: 1.1 + tax_inclusive: 1.5 + price_range: + minimum: + as_entered: 1.5 + entered_inclusive: true + tax_exclusive: 1.1 + tax_inclusive: 1.5 + maximum: + as_entered: 1.5 + entered_inclusive: true + tax_exclusive: 1.1 + tax_inclusive: 1.5 + retail_price_range: + minimum: + as_entered: 1.5 + entered_inclusive: true + tax_exclusive: 1.1 + tax_inclusive: 1.5 + maximum: + as_entered: 1.5 + entered_inclusive: true + tax_exclusive: 1.1 + tax_inclusive: 1.5 + bulk_pricing: + - minimum: 1 + maximum: 1 + discount_amount: 1 + discount_type: percent + meta: {} +components: + schemas: + BulkPricingTier: + type: object + properties: + minimum: + type: integer + description: The minumum quantity required to trigger this bulk pricing discount + maximum: + type: integer + description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount + discount_amount: + type: number + discount_type: + type: string + enum: + - price + - percent + - fixed + x-internal: false + PricingResponse: + type: object + properties: + data: + type: array + items: + type: object + properties: + product_id: + type: integer + description: The product ID this price was generated for + variant_id: + type: integer + description: The (optional) variant ID this price was generated for + options: + type: array + description: The optional product option configuration this price was generated for + items: + type: object + properties: + option_id: + type: integer + description: The ID of the variant option or modifier option configured for this price + value_id: + type: integer + description: The selected value ID for the configured option. + retail_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The (optional) RRP/retail price configured for this product + sale_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + minimum_advertised_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + calculated_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + price_range: type: object properties: - option_id: - description: The ID of the variant option or modifier option configured for this price - type: integer - value_id: - description: The selected value ID for the configured option. - type: integer - retail_price: - description: The (optional) RRP/retail price configured for this product + minimum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + maximum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + retail_price_range: + type: object + properties: + minimum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + maximum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + bulk_pricing: + type: array + items: + type: object + properties: + minimum: + type: integer + description: The minumum quantity required to trigger this bulk pricing discount + maximum: + type: integer + description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount + discount_amount: + type: number + discount_type: + type: string + enum: + - price + - percent + - fixed + meta: + type: object + properties: {} + x-internal: false + PriceRange: + type: object + properties: + minimum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + maximum: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + x-internal: false + TaxPrice: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + x-internal: false + ItemPricing: + type: object + properties: + product_id: + type: integer + description: The product ID this price was generated for + variant_id: + type: integer + description: The (optional) variant ID this price was generated for + options: + type: array + description: The optional product option configuration this price was generated for + items: + type: object + properties: + option_id: + type: integer + description: The ID of the variant option or modifier option configured for this price + value_id: + type: integer + description: The selected value ID for the configured option. + retail_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The (optional) RRP/retail price configured for this product + sale_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + minimum_advertised_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + calculated_price: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + entered_inclusive: + type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + price_range: + type: object + properties: + minimum: type: object properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - sale_price: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - minimum_advertised_price: - type: object + description: The estimated tax inclusive price for this product based on the provided customer group description: The price for a product including estimates for tax + maximum: + type: object properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - price: - type: object + description: The estimated tax inclusive price for this product based on the provided customer group description: The price for a product including estimates for tax + description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + retail_price_range: + type: object + properties: + minimum: + type: object properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - calculated_price: - type: object + description: The estimated tax inclusive price for this product based on the provided customer group description: The price for a product including estimates for tax + maximum: + type: object properties: as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) type: number + description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' type: boolean + description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group type: number + description: The estimated tax exclusive price for this product based on the provided customer group tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group type: number - price_range: - type: object - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' - properties: - minimum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - maximum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - retail_price_range: - type: object - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' - properties: - minimum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - maximum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - bulk_pricing: - type: array - items: - type: object - properties: - minimum: - type: integer - description: The minumum quantity required to trigger this bulk pricing discount - maximum: - type: integer - description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount - discount_amount: - type: number - discount_type: - enum: - - price - - percent - - fixed - type: string - meta: - type: object - x-internal: false - PriceRange: - type: object - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' - properties: - minimum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - maximum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - x-internal: false - TaxPrice: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - x-internal: false - ItemPricing: - type: object - properties: - product_id: - type: integer - description: The product ID this price was generated for - variant_id: - type: integer - description: The (optional) variant ID this price was generated for - options: - type: array - description: The optional product option configuration this price was generated for - items: - type: object - properties: - option_id: - description: The ID of the variant option or modifier option configured for this price - type: integer - value_id: - description: The selected value ID for the configured option. - type: integer - retail_price: - description: The (optional) RRP/retail price configured for this product - type: object - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - sale_price: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - minimum_advertised_price: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - price: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - calculated_price: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - price_range: - type: object - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' - properties: - minimum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - maximum: - type: object - description: The price for a product including estimates for tax - properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - retail_price_range: - type: object - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' - properties: - minimum: + description: The estimated tax inclusive price for this product based on the provided customer group + description: The price for a product including estimates for tax + description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + bulk_pricing: + type: array + items: + $ref: '#/components/schemas/BulkPricingTier' + x-internal: false + Item: + type: object + properties: + product_id: + type: integer + description: The (required) product ID of the item + variant_id: + type: number + description: The (optional) variant ID of the item + options: + type: array + description: The (optional) option configuration of the product. May be "partially" configured for estimates. + items: type: object - description: The price for a product including estimates for tax properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group - type: number - maximum: + option_id: + type: integer + description: The ID of the variant option or modifier option being configured for this product + value_id: + type: integer + description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' + description: Details/configuration for the product to request a price for. + x-internal: false + PricingRequest: + type: object + properties: + channel_id: + type: integer + description: The channel context that pricing should be evaluated within. The default BC storefront is channel 1 + example: 1 + currency_code: + type: string + description: The currency of prices to be returned for this request + example: USD + customer_group_id: + type: integer + description: 'The customer group relevant for any customer group pricing, tax values, etc.' + items: + type: array + description: The items to fetch prices for + items: type: object - description: The price for a product including estimates for tax properties: - as_entered: - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) - type: number - entered_inclusive: - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' - type: boolean - tax_exclusive: - description: The estimated tax exclusive price for this product based on the provided customer group - type: number - tax_inclusive: - description: The estimated tax inclusive price for this product based on the provided customer group + product_id: + type: integer + description: The (required) product ID of the item + variant_id: type: number - bulk_pricing: - type: array - items: - $ref: '#/definitions/BulkPricingTier' - x-internal: false - Item: - type: object - description: Details/configuration for the product to request a price for. - properties: - product_id: - type: integer - description: The (required) product ID of the item - variant_id: - type: number - description: The (optional) variant ID of the item - options: - type: array - description: The (optional) option configuration of the product. May be "partially" configured for estimates. - items: - type: object - properties: - option_id: - type: integer - description: The ID of the variant option or modifier option being configured for this product - value_id: - type: integer - description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' - x-internal: false - PricingRequest: - type: object - properties: - channel_id: - type: integer - description: The channel context that pricing should be evaluated within. The default BC storefront is channel 1 - example: 1 - currency_code: - type: string - description: The currency of prices to be returned for this request - example: USD - customer_group_id: - type: integer - description: 'The customer group relevant for any customer group pricing, tax values, etc.' - items: - type: array - description: The items to fetch prices for - items: - type: object - description: Details/configuration for the product to request a price for. - properties: - product_id: - type: integer - description: The (required) product ID of the item - variant_id: - type: number - description: The (optional) variant ID of the item - options: - type: array - description: The (optional) option configuration of the product. May be "partially" configured for estimates. - items: - type: object - properties: - option_id: - type: integer - description: The ID of the variant option or modifier option being configured for this product - value_id: - type: integer - description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' - x-internal: false -host: api.bigcommerce.com -schemes: - - https -consumes: - - application/json -produces: - - application/json -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header -security: - - X-Auth-Token: [] -tags: - - name: Products + description: The (optional) variant ID of the item + options: + type: array + description: The (optional) option configuration of the product. May be "partially" configured for estimates. + items: + type: object + properties: + option_id: + type: integer + description: The ID of the variant option or modifier option being configured for this product + value_id: + type: integer + description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' + description: Details/configuration for the product to request a price for. + x-internal: false + securitySchemes: + X-Auth-Token: + type: apiKey + name: X-Auth-Token + in: header diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index 8cb3c9552..f708fb4bb 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -1,7 +1,6 @@ -swagger: '2.0' +openapi: 3.0.1 info: title: Redirects - version: '' description: |- Manage 301 redirects for one or more storefronts powered by a single BigCommerce back-end. @@ -21,330 +20,343 @@ info: |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -securityDefinitions: - X-Auth-Token: - type: apiKey - in: header - name: X-Auth-Token - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Content | modify | `store_v2_content` | - | Content | read-only | `store_v2_content_read_only` | - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + version: '' +servers: + - url: 'https://api.bigcommerce.com' security: - X-Auth-Token: [] +tags: + - name: Redirects paths: '/stores/{store_hash}/v3/storefront/redirects': get: - summary: Get Redirects tags: - Redirects - responses: - '200': - description: '' - schema: - type: object - properties: - data: - $ref: '#/definitions/301RedirectRead' - meta: - $ref: '#/definitions/MetaPaginationObject' + summary: Get Redirects + description: Returns a collection of the store's 301 redirects across all sites. + operationId: GetRedirects parameters: - - type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: site_id in: query - name: site_id description: Filters items by `site_id`. - - type: array + schema: + type: integer + - name: 'id:in' in: query - name: 'id:in' description: Filters items by redirect `id`. Also accepts comma-separated values to filter for multiple redirects. - items: - type: string - - type: integer + style: form + explode: false + schema: + type: array + items: + type: string + - name: limit in: query - name: limit description: Controls the number of items to return per page. - - type: integer + schema: + type: integer + - name: page in: query - name: page description: Specifies the page number in a limited (paginated) list of items. Used to paginate large collections. - - type: string - enum: - - from_path - - type - - site_id + schema: + type: integer + - name: sort in: query - name: sort description: | Field name to sort by. Note: Since redirect `id` increments when new redirects are added, you can use that field to sort by redirect create date. - - type: string - enum: - - asc - - desc + schema: + type: string + enum: + - from_path + - type + - site_id + - name: direction in: query - name: direction description: 'Sort direction. Acceptable values are `asc`, `desc`.' - - type: string - enum: - - to_url + schema: + type: string + enum: + - asc + - desc + - name: include in: query - name: include description: Indicates whether to include redirect sub-resources. Only `to_url` is supported. - - type: string + schema: + type: string + enum: + - to_url + - name: keyword in: query - name: keyword description: 'Filters redirects by the specified keyword. Will only search from the beginning of a URL path. For example, `blue` will match `/blue` and `/blue-shirt` , **not** `/royal-blue-shirt`.' - description: Returns a collection of the store's 301 redirects across all sites. - operationId: GetRedirects + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/301RedirectRead' + meta: + $ref: '#/components/schemas/MetaPaginationObject' put: - summary: Upsert Redirects tags: - Redirects + summary: Upsert Redirects description: Upserts new redirect data across all storefronts. + operationId: UpsertRedirects + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/301RedirectUpsert' + required: false responses: '201': description: Created - schema: - type: object - properties: - data: - type: array - description: Empty array - items: {} - meta: + content: + application/json: + schema: type: object - description: Empty object - examples: - example-1: - data: [] - meta: {} - operationId: UpsertRedirects - parameters: - - in: body - name: body - schema: - type: array - items: - $ref: '#/definitions/301RedirectUpsert' - x-examples: - example-1: - - from_path: /old-url/ - site_id: 0 - to: - type: product - entity_id: 0 - url: /new-url/ + properties: + data: + type: array + items: + $ref: '#/components/schemas/301RedirectRead' + meta: + $ref: '#/components/schemas/MetaPaginationObject' delete: - summary: Delete Redirects tags: - Redirects - responses: - '204': - description: No Content + summary: Delete Redirects + description: Deletes redirects. + operationId: DeleteRedirects parameters: - - in: query - name: 'id:in' + - name: store_hash + in: path required: true + schema: + type: string + - name: 'id:in' + in: query description: List of Redirect IDs to delete explicitly - type: array - items: - type: integer - - in: query - name: site_id + required: true + style: form + explode: false + schema: + type: array + items: + type: integer + - name: site_id + in: query description: Site ID provided to delete all redirects for a given Site - type: integer - description: Deletes redirects. - operationId: DeleteRedirects - parameters: - - type: string - name: store_hash - in: path - required: true -definitions: - Error: - type: object - properties: - status: - type: integer - message: - type: string - x-internal: false - ErrorResponse400: - type: object - properties: - schema: - $ref: '#/definitions/Error' - x-internal: false - ErrorResponse404: - type: object - properties: - schema: - $ref: '#/definitions/Error' - x-internal: false - ErrorResponse409: - type: object - properties: - schema: - $ref: '#/definitions/Error' - x-internal: false - ErrorResponse422: - type: object - properties: - schema: - $ref: '#/definitions/Error' - x-internal: false - 301RedirectUpsert: - type: object - description: 'Data necessary to create or update a redirect. If there’s a conflict on the from_path and site_id, the redirect will be overwritten with new data.' - x-internal: false - properties: - from_path: - type: string - example: /old-url/ - site_id: - type: integer - to: - $ref: '#/definitions/RedirectTo' - required: - - from_path - - site_id - 301RedirectRead: - type: object - description: 'Full detail of a Redirect, optionally including the full destination URL.' - properties: - from_path: - type: string - example: /old-url - site_id: - type: integer - to: - $ref: '#/definitions/RedirectTo' - id: - type: integer - to_url: - type: string - format: uri - description: Full destination URL for the redirect. Must be explicitly included via URL parameter. - example: 'https://store-domain.com/new-url' - required: - - from_path - - site_id - x-internal: false - MetaPaginationObject: - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - example: 246 - minimum: 0 - count: - type: integer - example: 5 - minimum: 0 - per_page: - type: integer - example: 5 - minimum: 0 - current_page: - type: integer - example: 1 - minimum: 1 - total_pages: + schema: type: integer - example: 50 - minimum: 0 - links: - type: object - properties: - next: - type: string - example: '?limit=5&page=2' - current: - type: string - example: '?limit=5&page=1' - x-internal: false - RedirectTo: - title: RedirectTo - type: object - x-internal: false - properties: - type: - type: string - enum: - - product - - brand - - category - - page - - post - - url - entity_id: - type: integer - url: - type: string - example: /new-url/ - maxLength: 2048 - DetailedErrors: - type: object - additionalProperties: - type: string - x-internal: false - 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: + responses: + '204': + description: No Content + content: {} +components: + schemas: + Error: + type: object + properties: + status: + type: integer + message: + type: string + x-internal: false + ErrorResponse400: + type: object + properties: + schema: + $ref: '#/components/schemas/Error' + x-internal: false + ErrorResponse404: + type: object + properties: + schema: + $ref: '#/components/schemas/Error' + x-internal: false + ErrorResponse409: + type: object + properties: + schema: + $ref: '#/components/schemas/Error' + x-internal: false + ErrorResponse422: + type: object + properties: + schema: + $ref: '#/components/schemas/Error' + x-internal: false + 301RedirectUpsert: + required: + - from_path + - site_id + type: object + properties: + from_path: + type: string + example: /old-url/ + site_id: + type: integer + to: + $ref: '#/components/schemas/RedirectTo' + description: 'Data necessary to create or update a redirect. If there’s a conflict on the from_path and site_id, the redirect will be overwritten with new data.' + x-internal: false + 301RedirectRead: + type: object + description: 'Full detail of a Redirect, optionally including the full destination URL.' + x-internal: false + properties: + id: + type: integer + site_id: + type: integer + from_path: + type: string + example: /old-url + to: + $ref: '#/components/schemas/RedirectTo' + to_url: + type: string + description: Full destination URL for the redirect. Must be explicitly included via URL parameter. + format: uri + example: 'https://store-domain.com/new-url' + MetaPaginationObject: + type: object + properties: + pagination: + type: object + properties: + total: + minimum: 0 + type: integer + example: 246 + count: + minimum: 0 + type: integer + example: 5 + per_page: + minimum: 0 + type: integer + example: 5 + current_page: + minimum: 1 + type: integer + example: 1 + total_pages: + minimum: 0 + type: integer + example: 50 + links: + type: object + properties: + next: + type: string + example: '?limit=5&page=2' + current: + type: string + example: '?limit=5&page=1' + x-internal: false + RedirectTo: + title: RedirectTo + type: object + properties: + type: + type: string + enum: + - product + - brand + - category + - page + - post + - url + entity_id: + type: integer + url: + maxLength: 2048 + type: string + example: /new-url/ + x-internal: false + DetailedErrors: + type: object + additionalProperties: type: string - x-internal: false - ErrorResponse: - allOf: - - $ref: '#/definitions/BaseError' - - type: object - properties: - errors: - $ref: '#/definitions/DetailedErrors' - x-internal: false -host: api.bigcommerce.com -basePath: '' -tags: - - name: Redirects -schemes: - - https -consumes: - - application/json -produces: - - application/json + x-internal: false + BaseError: + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/DetailedErrors' + x-internal: false + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Content | modify | `store_v2_content` | + | Content | read-only | `store_v2_content_read_only` | + + ### Headers + + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + + ### Example + + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` + + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index 2d932e7b7..5f8807ad0 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -1,26 +1,24 @@ -swagger: '2.0' +openapi: 3.0.0 info: version: '' title: Shipping V2 description: |- Manage shipping zones, shipping methods, and shipping carrier connections. + ### Shipping Zones + The Shipping Zone object and endpoints manage shipping zones within countries. + ### Shipping Methods + The Shipping Methods object and endpoints manage shipping rules within Shipping Zones. These rules determine the shipping rates displayed at checkout, and related parts of the control panel, such as the shipping of manual orders. + ### Shipping Carrier Connections + Carrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier. -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json paths: '/stores/{store_hash}/v2/shipping/zones': get: @@ -28,52 +26,192 @@ paths: summary: Get All Shipping Zones tags: - Shipping Zones - produces: - - application/json parameters: - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json responses: '200': + description: '' + content: + application/json: + schema: + type: array + items: + title: Shipping Zone + type: object + properties: + id: + type: integer + description: Zone ID + example: 1 + name: + type: string + description: Zone name. Required for /PUT + example: United States + type: + type: string + enum: + - zip + - country + - state + - global + locations: + description: Array of zone locations. + type: array + items: + title: Shipping Zone Locations + type: object + properties: + id: + description: Location’s ID. + example: 3 + type: integer + zip: + description: Location’s ZIP/postal code. + example: '12345' + type: string + country_iso2: + description: 2-letter ISO Alpha-2 code for the country. + example: US + type: string + state_iso2: + description: ISO Alpha-2 code for the state. + example: TX + type: string + free_shipping: + type: object + properties: + enabled: + type: boolean + minimum_sub_total: + type: string + example: '0.0000' + description: '(Float, Float-As-String, Integer)' + exclude_fixed_shipping_products: + type: boolean + handling_fees: + title: Shipping Zone Handling Fees + type: object + properties: + fixed_surcharge: + description: '' + example: '0' + type: string + percentage_surcharge: + description: '' + type: string + display_separately: + description: '' + example: true + type: boolean + enabled: + description: Whether this shipping zone is enabled. + example: true + type: boolean + examples: + response: + value: + - id: 1 + name: United States + type: country + locations: + - id: 5 + country_iso2: US + free_shipping: + enabled: false + minimum_sub_total: '0.0000' + exclude_fixed_shipping_products: false + handling_fees: + display_separately: true + fixed_surcharge: '0.0000' + enabled: true + - id: 2 + name: Australia + type: country + locations: + - id: 6 + country_iso2: AU + free_shipping: + enabled: false + minimum_sub_total: '0.0000' + exclude_fixed_shipping_products: false + handling_fees: + display_separately: true + fixed_surcharge: '0.0000' + enabled: true + Response Schema: + examples: + response: + value: + - name: esse veniam deserunt nisi + id: -6648057 + type: state + locations: + - id: -27962554 + zip: sed commodo + country_iso2: laborum Ut + state_iso2: sunt officia laboris tempor cupidatat + - id: -90778339 + zip: amet anim deserunt cillum aute + country_iso2: cupidatat + state_iso2: dolor nisi + - id: -48379114 + zip: dolore fugiat + country_iso2: sit in officia ea + state_iso2: qui ad + free_shipping: + enabled: false + minimum_sub_total: exercitation pariatur Lorem enim + exclude_fixed_shipping_products: true + handling_fees: + fixed_surcharge: in + percentage_surcharge: consequat + display_separately: false + enabled: false + x-unitTests: [] + x-operation-settings: + CollectParameters: false + AllowDynamicQueryParameters: false + AllowDynamicFormParameters: false + IsMultiContentStreaming: false + operationId: getAllShippingZones + post: + description: Creates a *Shipping Zone*. + summary: Create a Shipping Zone + tags: + - Shipping Zones + parameters: + - name: Accept + in: header + required: true + description: '' + schema: + type: string + - name: Content-Type + in: header + required: true description: '' schema: - type: array - items: + type: string + requestBody: + content: + application/json: + schema: title: Shipping Zone - example: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true type: object properties: - id: - type: integer - description: Zone Id. READ-ONLY - example: 1 name: type: string description: Zone name. Required for /PUT @@ -98,7 +236,7 @@ paths: type: integer zip: description: Location’s ZIP/postal code. - example: 12345 + example: '12345' type: string country_iso2: description: 2-letter ISO Alpha-2 code for the country. @@ -125,7 +263,7 @@ paths: properties: fixed_surcharge: description: '' - example: 0 + example: '0' type: string percentage_surcharge: description: '' @@ -140,339 +278,117 @@ paths: type: boolean required: - name - examples: - application/json: - - id: 1 - name: United States - type: country - locations: - - id: 5 - country_iso2: US - free_shipping: - enabled: false - minimum_sub_total: '0.0000' - exclude_fixed_shipping_products: false - handling_fees: - display_separately: true - fixed_surcharge: '0.0000' - enabled: true - - id: 2 - name: Australia - type: country - locations: - - id: 6 - country_iso2: AU - free_shipping: - enabled: false - minimum_sub_total: '0.0000' - exclude_fixed_shipping_products: false - handling_fees: - display_separately: true - fixed_surcharge: '0.0000' - enabled: true - Response Schema: - - name: esse veniam deserunt nisi - id: -6648057 - type: state - locations: - - id: -27962554 - zip: sed commodo - country_iso2: laborum Ut - state_iso2: sunt officia laboris tempor cupidatat - - id: -90778339 - zip: amet anim deserunt cillum aute - country_iso2: cupidatat - state_iso2: dolor nisi - - id: -48379114 - zip: dolore fugiat - country_iso2: sit in officia ea - state_iso2: qui ad - free_shipping: - enabled: false - minimum_sub_total: exercitation pariatur Lorem enim - exclude_fixed_shipping_products: true - handling_fees: - fixed_surcharge: in - percentage_surcharge: consequat - display_separately: false - enabled: false - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false - operationId: getAllShippingZones - post: - description: |- - Creates a *Shipping Zone*. - - **Required Fields** - * name - summary: Create a Shipping Zone - tags: - - Shipping Zones - produces: - - application/json - parameters: - - name: Accept - in: header - required: true - type: string - description: '' - - name: Content-Type - in: header - required: true - type: string - description: '' - - name: body - in: body - required: true - description: '' - schema: - title: Shipping Zone - example: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - type: object - properties: - id: - type: integer - description: Zone Id. READ-ONLY - example: 1 - name: - type: string - description: Zone name. Required for /PUT - example: United States - type: - type: string - enum: - - zip - - country - - state - - global - locations: - description: Array of zone locations. - type: array - items: - title: Shipping Zone Locations - type: object - properties: - id: - description: Location’s ID. - example: 3 - type: integer - zip: - description: Location’s ZIP/postal code. - example: 12345 - type: string - country_iso2: - description: 2-letter ISO Alpha-2 code for the country. - example: US - type: string - state_iso2: - description: ISO Alpha-2 code for the state. - example: TX - type: string - free_shipping: - type: object - properties: - enabled: - type: boolean - minimum_sub_total: - type: string - example: '0.0000' - description: '(Float, Float-As-String, Integer)' - exclude_fixed_shipping_products: - type: boolean - handling_fees: - title: Shipping Zone Handling Fees - type: object - properties: - fixed_surcharge: - description: '' - example: 0 - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean - enabled: - description: Whether this shipping zone is enabled. - example: true - type: boolean - required: - - name - x-examples: - application/json: - name: UnitedStates-NM - type: state - locations: - - country_iso2: US - state_iso2: NM - handling_fees: - fixed_surcharge: 12 - display_separately: true + - type + examples: + 'Type: ZIP': + value: + name: United States + type: zip + locations: + - zip: '11103' + country_iso2: US + 'Type: Country': + value: + name: Mexico + type: country + locations: + - country_iso2: MX + 'Type: State': + value: + name: South Carolina + type: state + locations: + - country_iso2: US + state_iso2: SC + 'Type: Global': + value: + name: Global + type: global responses: '200': description: '' - schema: - title: Shipping Zone - example: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - type: object - properties: - id: - type: integer - description: Zone Id. READ-ONLY - example: 1 - name: - type: string - description: Zone name. Required for /PUT - example: United States - type: - type: string - enum: - - zip - - country - - state - - global - locations: - description: Array of zone locations. - type: array - items: - title: Shipping Zone Locations - type: object - properties: - id: - description: Location’s ID. - example: 3 - type: integer - zip: - description: Location’s ZIP/postal code. - example: 12345 - type: string - country_iso2: - description: 2-letter ISO Alpha-2 code for the country. - example: US - type: string - state_iso2: - description: ISO Alpha-2 code for the state. - example: TX - type: string - free_shipping: - type: object - properties: - enabled: - type: boolean - minimum_sub_total: - type: string - example: '0.0000' - description: '(Float, Float-As-String, Integer)' - exclude_fixed_shipping_products: - type: boolean - handling_fees: - title: Shipping Zone Handling Fees + content: + application/json: + schema: + title: Shipping Zone type: object properties: - fixed_surcharge: - description: '' - example: 0 + id: + type: integer + description: Zone ID. + example: 1 + name: type: string - percentage_surcharge: - description: '' + description: Zone name. + example: United States + type: type: string - display_separately: - description: '' + enum: + - zip + - country + - state + - global + locations: + description: Array of zone locations. + type: array + items: + title: Shipping Zone Locations + type: object + properties: + id: + description: Location ID. + example: 3 + type: integer + zip: + description: Location’s ZIP/postal code. + example: '12345' + type: string + country_iso2: + description: 2-letter ISO Alpha-2 code for the country. + example: US + type: string + state_iso2: + description: ISO Alpha-2 code for the state. + example: TX + type: string + free_shipping: + type: object + properties: + enabled: + type: boolean + minimum_sub_total: + type: string + example: '0.0000' + description: '(Float, Float-As-String, Integer)' + exclude_fixed_shipping_products: + type: boolean + handling_fees: + title: Shipping Zone Handling Fees + type: object + properties: + fixed_surcharge: + description: '' + example: '0' + type: string + percentage_surcharge: + description: '' + type: string + display_separately: + description: '' + example: true + type: boolean + enabled: + description: Whether this shipping zone is enabled. example: true type: boolean - enabled: - description: Whether this shipping zone is enabled. - example: true - type: boolean - required: - - name - examples: - application/json: - id: 2 - name: UnitedStates-NM - type: state - locations: - - id: 2 - country_iso2: US - state_iso2: NM - free_shipping: - enabled: false - minimum_subtotal: '0.0000' - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: '12.0000' - display_separately: true - enabled: true - Response Schema: - name: dolore Excepteur Lorem ullamco dolore - id: 8555397 - type: state - locations: - - id: -91548356 - zip: 'do sint ' - country_iso2: officia fugiat ad anim - state_iso2: ipsum ullamco Ut in - free_shipping: - enabled: true - minimum_sub_total: magna commodo reprehenderit Excepteur - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: cupidatat - percentage_surcharge: ullamco nisi - display_separately: false - enabled: false - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false + examples: {} operationId: createAShippingZones parameters: - - type: string - name: store_hash + - name: store_hash in: path required: true + schema: + type: string '/stores/{store_hash}/v2/shipping/zones/{id}': get: description: Returns a single *Shipping Zone*. @@ -483,143 +399,102 @@ paths: - name: id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false - description: Id of the shipping zone. + description: ID of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json responses: '200': description: '' - schema: - title: Shipping Zone - example: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - type: object - properties: - id: - type: integer - description: Zone Id. READ-ONLY - example: 1 - name: - type: string - description: Zone name. Required for /PUT - example: United States - type: - type: string - enum: - - zip - - country - - state - - global - locations: - description: Array of zone locations. - type: array - items: - title: Shipping Zone Locations - type: object - properties: - id: - description: Location’s ID. - example: 3 - type: integer - zip: - description: Location’s ZIP/postal code. - example: 12345 - type: string - country_iso2: - description: 2-letter ISO Alpha-2 code for the country. - example: US - type: string - state_iso2: - description: ISO Alpha-2 code for the state. - example: TX - type: string - free_shipping: - type: object - properties: - enabled: - type: boolean - minimum_sub_total: - type: string - example: '0.0000' - description: '(Float, Float-As-String, Integer)' - exclude_fixed_shipping_products: - type: boolean - handling_fees: - title: Shipping Zone Handling Fees + content: + application/json: + schema: + title: Shipping Zone type: object properties: - fixed_surcharge: - description: '' - example: 0 + id: + type: integer + description: Zone ID + example: 1 + name: type: string - percentage_surcharge: - description: '' + description: Zone name. + example: United States + type: type: string - display_separately: - description: '' + enum: + - zip + - country + - state + - global + locations: + description: Array of zone locations. + type: array + items: + title: Shipping Zone Locations + type: object + properties: + id: + description: Location’s ID. + example: 3 + type: integer + zip: + description: Location’s ZIP/postal code. + example: '12345' + type: string + country_iso2: + description: 2-letter ISO Alpha-2 code for the country. + example: US + type: string + state_iso2: + description: ISO Alpha-2 code for the state. + example: TX + type: string + free_shipping: + type: object + properties: + enabled: + type: boolean + minimum_sub_total: + type: string + example: '0.0000' + description: '(Float, Float-As-String, Integer)' + exclude_fixed_shipping_products: + type: boolean + handling_fees: + title: Shipping Zone Handling Fees + type: object + properties: + fixed_surcharge: + description: '' + example: '0' + type: string + percentage_surcharge: + description: '' + type: string + display_separately: + description: '' + example: true + type: boolean + enabled: + description: Whether this shipping zone is enabled. example: true type: boolean - enabled: - description: Whether this shipping zone is enabled. - example: true - type: boolean - required: - - name - examples: - application/json: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - Response Schema: {} - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false operationId: getAShippingZone put: description: |- @@ -633,314 +508,215 @@ paths: summary: Update a Shipping Zone tags: - Shipping Zones - produces: - - application/json parameters: - name: id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true description: '' schema: - title: Shipping Zone - example: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - type: object - properties: - id: - type: integer - description: Zone Id. READ-ONLY - example: 1 - name: - type: string - description: Zone name. Required for /PUT - example: United States - type: - type: string - enum: - - zip - - country - - state - - global - locations: - description: Array of zone locations. - type: array - items: - title: Shipping Zone Locations + type: string + default: application/json + requestBody: + content: + application/json: + schema: + title: Shipping Zone + type: object + properties: + id: + type: integer + description: Zone Id. READ-ONLY + example: 1 + name: + type: string + description: Zone name. Required for /PUT + example: United States + type: + type: string + enum: + - zip + - country + - state + - global + locations: + description: Array of zone locations. + type: array + items: + title: Shipping Zone Locations + type: object + properties: + id: + description: Location’s ID. + example: 3 + type: integer + zip: + description: Location’s ZIP/postal code. + example: '12345' + type: string + country_iso2: + description: 2-letter ISO Alpha-2 code for the country. + example: US + type: string + state_iso2: + description: ISO Alpha-2 code for the state. + example: TX + type: string + free_shipping: type: object properties: - id: - description: Location’s ID. - example: 3 - type: integer - zip: - description: Location’s ZIP/postal code. - example: 12345 + enabled: + type: boolean + minimum_sub_total: type: string - country_iso2: - description: 2-letter ISO Alpha-2 code for the country. - example: US + example: '0.0000' + description: '(Float, Float-As-String, Integer)' + exclude_fixed_shipping_products: + type: boolean + handling_fees: + title: Shipping Zone Handling Fees + type: object + properties: + fixed_surcharge: + description: '' + example: '0' type: string - state_iso2: - description: ISO Alpha-2 code for the state. - example: TX + percentage_surcharge: + description: '' type: string - free_shipping: - type: object - properties: - enabled: - type: boolean - minimum_sub_total: - type: string - example: '0.0000' - description: '(Float, Float-As-String, Integer)' - exclude_fixed_shipping_products: - type: boolean - handling_fees: - title: Shipping Zone Handling Fees - type: object - properties: - fixed_surcharge: - description: '' - example: 0 - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean - enabled: - description: Whether this shipping zone is enabled. - example: true - type: boolean - required: - - name - x-examples: - application/json: - name: UnitedStates-Samoa - type: state - locations: - - id: 5 - country_iso2: US - state_iso2: AS - free_shipping: - enabled: false - minimum_subtotal: '0.0000' - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: '6.0000' - display_separately: true - enabled: true + display_separately: + description: '' + example: true + type: boolean + enabled: + description: Whether this shipping zone is enabled. + example: true + type: boolean + required: + - name + required: true responses: '200': description: '' - schema: - title: Shipping Zone - example: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - type: object - properties: - id: - type: integer - description: Zone Id. READ-ONLY - example: 1 - name: - type: string - description: Zone name. Required for /PUT - example: United States - type: - type: string - enum: - - zip - - country - - state - - global - locations: - description: Array of zone locations. - type: array - items: - title: Shipping Zone Locations - type: object - properties: - id: - description: Location’s ID. - example: 3 - type: integer - zip: - description: Location’s ZIP/postal code. - example: 12345 - type: string - country_iso2: - description: 2-letter ISO Alpha-2 code for the country. - example: US - type: string - state_iso2: - description: ISO Alpha-2 code for the state. - example: TX - type: string - free_shipping: - type: object - properties: - enabled: - type: boolean - minimum_sub_total: - type: string - example: '0.0000' - description: '(Float, Float-As-String, Integer)' - exclude_fixed_shipping_products: - type: boolean - handling_fees: - title: Shipping Zone Handling Fees + content: + application/json: + schema: + title: Shipping Zone type: object properties: - fixed_surcharge: - description: '' - example: 0 + id: + type: integer + description: Zone Id. READ-ONLY + example: 1 + name: type: string - percentage_surcharge: - description: '' + description: Zone name. Required for /PUT + example: United States + type: type: string - display_separately: - description: '' + enum: + - zip + - country + - state + - global + locations: + description: Array of zone locations. + type: array + items: + title: Shipping Zone Locations + type: object + properties: + id: + description: Location’s ID. + example: 3 + type: integer + zip: + description: Location’s ZIP/postal code. + example: '12345' + type: string + country_iso2: + description: 2-letter ISO Alpha-2 code for the country. + example: US + type: string + state_iso2: + description: ISO Alpha-2 code for the state. + example: TX + type: string + free_shipping: + type: object + properties: + enabled: + type: boolean + minimum_sub_total: + type: string + example: '0.0000' + description: '(Float, Float-As-String, Integer)' + exclude_fixed_shipping_products: + type: boolean + handling_fees: + title: Shipping Zone Handling Fees + type: object + properties: + fixed_surcharge: + description: '' + example: '0' + type: string + percentage_surcharge: + description: '' + type: string + display_separately: + description: '' + example: true + type: boolean + enabled: + description: Whether this shipping zone is enabled. example: true type: boolean - enabled: - description: Whether this shipping zone is enabled. - example: true - type: boolean - required: - - name - examples: - application/json: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - Request Schema: - name: dolore Ut qui - id: -44321070 - type: zip - locations: - - id: 65307977 - zip: sint cillum - country_iso2: ullamco incididunt veniam voluptate - state_iso2: ad - - id: -93132011 - zip: cillum quis - country_iso2: ad qui sunt - state_iso2: magna u - - id: -29601790 - zip: ut - country_iso2: sunt - state_iso2: esse ex in ut - free_shipping: - enabled: false - minimum_sub_total: cillum proident reprehenderit sed enim - exclude_fixed_shipping_products: true - handling_fees: - fixed_surcharge: dolore fugiat - percentage_surcharge: eu anim - display_separately: true - enabled: false - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false + required: + - name operationId: updateAShippingZone delete: description: Deletes a *Shipping Zone*. summary: Delete a Shipping Zone tags: - Shipping Zones - produces: - - application/json parameters: - name: id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json responses: '204': description: '' @@ -952,14 +728,16 @@ paths: IsMultiContentStreaming: false operationId: deleteAShippingZone parameters: - - type: string - name: store_hash + - name: store_hash in: path required: true - - type: string - name: id + schema: + type: string + - name: id in: path required: true + schema: + type: string '/stores/{store_hash}/v2/shipping/zones/{zone_id}/methods': get: description: 'Returns a list of *Shipping Methods* in a zone. Default sorting is by shipping-method id, from lowest to highest.' @@ -970,107 +748,116 @@ paths: - name: zone_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json responses: '200': description: '' - schema: - type: array - items: - $ref: '#/definitions/shippingMethod_Full' - examples: + content: application/json: - - id: 1 - name: Flat Rate - type: perorder - settings: - rate: 12 - enabled: true - handling_fees: - fixed_surcharge: 0 - is_fallback: false - - id: 2 - name: Pickup In Store - type: pickupinstore - settings: [] - enabled: false - handling_fees: - fixed_surcharge: 0 - is_fallback: false - - id: 3 - name: Ship by Weight - type: weight - settings: - default_cost: 0 - default_cost_type: fixed_amount - range: - - lower_limit: 0 - upper_limit: 20 - shipping_cost: 8 - - lower_limit: 20 - upper_limit: 40 - shipping_cost: 8 - - lower_limit: 40 - upper_limit: 60 - shipping_cost: 8 - - lower_limit: 60 - upper_limit: 80 - shipping_cost: 8 - enabled: true - handling_fees: - fixed_surcharge: 0 - is_fallback: false - - id: 4 - name: UPS® - type: upsready - settings: - carrier_options: - include_package_value: '1' - show_transit_time: '1' - destination_type: residential - packing_method: combined - packaging_type: 2c - delivery_services: - - Express - - Ground - - Next_Day_Air - - Saver - - Standard - packaging: [] - enabled: true - handling_fees: - fixed_surcharge: 0 - is_fallback: false + schema: + type: array + items: + $ref: '#/components/schemas/shippingMethod_Full' + x-examples: + response: + value: + - id: 1 + name: Flat Rate + type: perorder + settings: + rate: 12 + enabled: true + handling_fees: + fixed_surcharge: 0 + is_fallback: false + - id: 2 + name: Pickup In Store + type: pickupinstore + settings: [] + enabled: false + handling_fees: + fixed_surcharge: 0 + is_fallback: false + - id: 3 + name: Ship by Weight + type: weight + settings: + default_cost: 0 + default_cost_type: fixed_amount + range: + - lower_limit: 0 + upper_limit: 20 + shipping_cost: 8 + - lower_limit: 20 + upper_limit: 40 + shipping_cost: 8 + - lower_limit: 40 + upper_limit: 60 + shipping_cost: 8 + - lower_limit: 60 + upper_limit: 80 + shipping_cost: 8 + enabled: true + handling_fees: + fixed_surcharge: 0 + is_fallback: false + - id: 4 + name: UPS® + type: upsready + settings: + carrier_options: + include_package_value: '1' + show_transit_time: '1' + destination_type: residential + packing_method: combined + packaging_type: 2c + delivery_services: + - Express + - Ground + - Next_Day_Air + - Saver + - Standard + packaging: [] + enabled: true + handling_fees: + fixed_surcharge: 0 + is_fallback: false Response Schema: - - id: -23225205 - name: tempo - type: royalmail - settings: {} - enabled: true - handling_fees: fixed_surcharge - is_fallback: false - - id: -35889344 - name: Lorem Excepteur esse - type: canadapost - settings: {} - enabled: true - handling_fees: percentage_surcharge - is_fallback: false + examples: + response: + value: + - id: -23225205 + name: tempo + type: royalmail + settings: {} + enabled: true + handling_fees: fixed_surcharge + is_fallback: false + - id: -35889344 + name: Lorem Excepteur esse + type: canadapost + settings: {} + enabled: true + handling_fees: percentage_surcharge + is_fallback: false x-unitTests: [] x-operation-settings: CollectParameters: false @@ -1079,86 +866,89 @@ paths: IsMultiContentStreaming: false operationId: getShippingMethodsZone post: - description: "Creates a *Shipping Method* within a shipping zone. Real Time Carrier Connections are also supported by this endpoint. \n\n## Carrier Configurations – Current\n\nThis section provides a sample request and a carrier-specific object/property model, for each supported carrier.\n \n### USPS by Endicia\n\n#### Sample Request\n\n\n```json\n{\n \"name\": \"USPS by Endicia\",\n \"type\": \"endicia\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\" : [\"PriorityExpress\",\"Priority\", \"PriorityMailExpressInternational\"],\n\t\t\t\"packaging_type\" : \"LargeFlatRateBox\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n```\n\n### USPS by Endicia Object Properties\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PriorityExpress <br> PriorityMailExpressInternational <br> FirstClassPackageInternationalService <br> Priority <br> PriorityMailInternational <br> First <br> ParcelSelect <br> MediaMail |\n| packaging_type | array | FlatRateLegalEnvelope <br> FlatRatePaddedEnvelope <br> Parcel <br> SmallFlatRateBox <br> MediumFlatRateBox <br> LargeFlatRateBox <br> FlatRateEnvelope <br> RegionalRateBoxA <br> RegionalRateBoxB |\n|show_transit_time | boolean | true <br> false |\n\n\n### FedEx\n\n#### Sample Request\n\n```json\n{\n \"name\": \"FEDEX\",\n \"type\": \"fedex\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"PRIORITY_OVERNIGHT\",\n\t\t\t\t\"FEDEX_2_DAY\"\n ],\n \"dropoff_type\": \"REGULAR_PICKUP\",\n \"packaging_type\": \"FEDEX_ENVELOPE\",\n \"packing_method\": \"SEPARATE\",\n \"rate_type\": \"NONE\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\"\n }\n },\n \"enabled\": true\n}\n```\n\n#### FedEx Object Properties\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PRIORITY_OVERNIGHT <br> STANDARD_OVERNIGHT <br> FIRST_OVERNIGHT <br> FEDEX_2_DAY <br> FEDEX_EXPRESS_SAVER <br> INTERNATIONAL_PRIORITY <br> INTERNATIONAL_ECONOMY <br> INTERNATIONAL_FIRST <br> FEDEX_1_DAY_FREIGHT <br> FEDEX_2_DAY_FREIGHT <br> FEDEX_3_DAY_FREIGHT <br> FEDEX_GROUND <br> GROUND_HOME_DELIVERY <br> INTERNATIONAL_PRIORITY_FREIGHT <br> INTERNATIONAL_ECONOMY_FREIGHT <br> EUROPE_FIRST_INTERNATIONAL_PRIORITY |\n| dropoff_type | string | REGULAR_PICKUP <br> REQUEST_COURIER <br> DROP_BOX <br> BUSINESS_SERVICE_CENTER <br> STATION |\n| packaging_type | string | FEDEX_ENVELOPE <br> FEDEX_PAK <br> FEDEX_BOX <br> FEDEX_TUBE <br> FEDEX_10KG_BOX <br> FEDEX_25KG_BOX <br> YOUR_PACKAGING |\n| packing_method | string | SEPARATE <br> COMBINED |\n| rate_type | string | NONE <br> LIST |\n| include_package_value | boolean | true <br> false |\n| destination_type | string | residential <br> business |\n\n### UPS Ready\n\n#### Sample Request\n\n```json\n{\n \"name\": \"UPS ready\",\n \"type\": \"upsready\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"2nd_Day_Air\",\"Standard\"\n ],\n \"packaging_type\": \"21\",\n \"packing_method\": \"separate\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n```\n\n#### UPS Ready Object Properties\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 2nd_Day_Air <br> 2nd_Day_Air_AM <br> 3_Day_Select <br> Expedited <br> Express <br> Express_Plus <br> Express_Saver <br> Express_Early_AM <br> Ground <br> Next_Day_Air <br> Next_Day_Air_Early_AM <br> Next_Day_Air_Saver <br> Saver <br> Standard <br> Today_Dedicated_Courier <br> Today_Express <br> Today_Express_Saver <br> Today_Intercity <br> Today_Standard <br> Worldwide_Expedited <br> Worldwide_Express <br> Worldwide_Express_Plus <br> Worldwide_Express_Saver <br> Worldwide_Saver |\n| destination_type | string | residential <br> business |\n| packing_method | string | separate <br> combined |\n| packaging_type | string (only codes allowed) | 21: UPS® Express Box <br> 24: UPS® 25 KG Box <br> 25: UPS® 10 KG Box <br> 30: Pallet <br> 01: UPS® Letter <br> 02: Customer Supplied Package <br> 03: Tube <br> 04: PAK <br> 2a: Small Express Box <br> 2b: Medium Express Box <br> 2c: Large Express Box |\n| include_package_value | boolean | true <br> false |\n| show_transit_time | boolean | true <br> false |\n\n### Canada Post\n\n#### Sample Request\n\n```json\n{\n \"name\": \"Canada Post\",\n \"type\": \"canadapost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"DOM.RP\",\"DOM.EP\"\n ]\n }\n },\n \"enabled\": true\n}\n```\n\n#### Canada Post Object Properties\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | DOM.RP <br> DOM.EP <br> DOM.XP <br> DOM.XP.CERT <br> DOM.PC DOM.LIB <br> USA.EP <br> USA.PW.ENV <br> USA.PW.PAK <br> USA.PW.PARCEL <br> USA.SP.AIR <br> USA.TP <br> USA.TP.LVM <br> USA.XP <br> INT.XP <br> INT.IP.AIR <br> INT.IP.SURF <br> INT.PW.ENV <br> INT.PW.PAK <br> INT.PW.PARCEL <br> INT.SP.AIR <br> INT.SP.SURF <br> INT.TP |\n\n### Australia Post\n\n```json\n{\n \"name\": \"Australia Post\",\n \"type\": \"auspost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"AUS_PARCEL_REGULAR\",\n\t\t\t\t\"AUS_PARCEL_EXPRESS\"\n ]\n }\n },\n \"enabled\": true\n}\n```\n\n#### Australia Post Object Properties\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | AUS_LETTER_REGULAR_SMALL <br> AUS_LETTER_REGULAR_Large <br> AUS_LETTER_EXPRESS_SMALL <br> AUS_LETTER_EXPRESS_MEDIUM <br> AUS_LETTER_EXPRESS_LARGE <br> AUS_PARCEL_REGULAR <br> AUS_PARCEL_REGULAR_SATCHEL_500G <br> AUS_PARCEL_REGULAR_SATCHEL_3KG <br> AUS_PARCEL_REGULAR_SATCHEL_5KG <br> AUS_PARCEL_EXPRESS <br> AUS_PARCEL_EXPRESS_SATCHEL_500G <br> AUS_PARCEL_EXPRESS_SATCHEL_3KG <br> AUS_PARCEL_EXPRESS_SATCHEL_5KG <br> AUS_PARCEL_COURIER <br> AUS_PARCEL_COURIER_SATCHEL_MEDIUM <br> INT_PARCEL_COR_OWN_PACKAGING <br> INT_PARCEL_EXP_OWN_PACKAGING <br> INT_PARCEL_STD_OWN_PACKAGING <br> INT_PARCEL_AIR_OWN_PACKAGING <br> INT_PARCEL_SEA_OWN_PACKAGING |\n\n### Royal Mail\n\n#### Sample Request\n\n```json\n{\n \"name\": \"Royal Mail\",\n \"type\": \"royalmail\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"StandardFirstClass\",\n\t\t\t\t\"StandardSecondClass\"\n ]\n }\n },\n \"enabled\": true\n}\n```\n\n#### Royal Mail Object Properties\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | SpecialDelivery1pm <br> SpecialDelivery9am <br> SpecialDelivery1pmSaturday <br> SpecialDelivery9amSaturday <br> SignedForFirstClass <br> SignedForSecondClass <br> Express9 <br> Express10 <br> ExpressAM <br> Express24 <br> Express48 <br> StandardFirstClass <br> StandardSecondClass <br> InternationalStandard <br> InternationalTracked <br> InternationalEconomy |\n\n### Zoom2U\n\n#### Sample Request\n\n```json\n{\n \"name\": \"Zoom2U\",\n \"type\": \"zoom2u\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"3_hour\",\n\t\t\t\t\"Same_day\",\n\t\t\t\t\"VIP\"\n ]\n }\n },\n \"enabled\": true\n}\n```\n\n#### Zoom2U Object Properties\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 3_hour <br> Same_day <br> VIP|\n\n\n### Settings Objects \n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n### perorder Object – Properties \n\nObject model for flat-rate shipping quotes per order.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n```\n\n### peritem Object – Properties \n\nObject model for flat-rate shipping quotes per item ordered.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n```\n\n### weight Object – Properties \n\nObject model for shipping quotes by weight.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n#### JSON Example \n \n```json\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n```\n\n### total Object – Properties \n\nObject model for shipping quotes by order's total value.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping-cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n#### JSON Example \n\nThis example sets free shipping above a certain order total:\n\n```json\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n```\n\n### Range Object – Properties \n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n#### JSON Example \n\n```json\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n```" + description: "Creates a *Shipping Method* within a shipping zone. Real Time Carrier\nConnections are also supported by this endpoint. \n\n\n## Carrier Configurations – Current\n\n\nThis section provides a sample request and a carrier-specific object/property model, for each supported carrier.\n \n### USPS by Endicia\n\n\n#### Sample Request\n\n\n\n```json\n\n{\n \"name\": \"USPS by Endicia\",\n \"type\": \"endicia\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\" : [\"PriorityExpress\",\"Priority\", \"PriorityMailExpressInternational\"],\n\t\t\t\"packaging_type\" : \"LargeFlatRateBox\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n### USPS by Endicia Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PriorityExpress <br> PriorityMailExpressInternational <br> FirstClassPackageInternationalService <br> Priority <br> PriorityMailInternational <br> First <br> ParcelSelect <br> MediaMail |\n| packaging_type | array | FlatRateLegalEnvelope <br> FlatRatePaddedEnvelope <br> Parcel <br> SmallFlatRateBox <br> MediumFlatRateBox <br> LargeFlatRateBox <br> FlatRateEnvelope <br> RegionalRateBoxA <br> RegionalRateBoxB |\n|show_transit_time | boolean | true <br> false |\n\n\n\n### FedEx\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"FEDEX\",\n \"type\": \"fedex\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"PRIORITY_OVERNIGHT\",\n\t\t\t\t\"FEDEX_2_DAY\"\n ],\n \"dropoff_type\": \"REGULAR_PICKUP\",\n \"packaging_type\": \"FEDEX_ENVELOPE\",\n \"packing_method\": \"SEPARATE\",\n \"rate_type\": \"NONE\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\"\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### FedEx Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PRIORITY_OVERNIGHT <br> STANDARD_OVERNIGHT <br> FIRST_OVERNIGHT <br> FEDEX_2_DAY <br> FEDEX_EXPRESS_SAVER <br> INTERNATIONAL_PRIORITY <br> INTERNATIONAL_ECONOMY <br> INTERNATIONAL_FIRST <br> FEDEX_1_DAY_FREIGHT <br> FEDEX_2_DAY_FREIGHT <br> FEDEX_3_DAY_FREIGHT <br> FEDEX_GROUND <br> GROUND_HOME_DELIVERY <br> INTERNATIONAL_PRIORITY_FREIGHT <br> INTERNATIONAL_ECONOMY_FREIGHT <br> EUROPE_FIRST_INTERNATIONAL_PRIORITY |\n| dropoff_type | string | REGULAR_PICKUP <br> REQUEST_COURIER <br> DROP_BOX <br> BUSINESS_SERVICE_CENTER <br> STATION |\n| packaging_type | string | FEDEX_ENVELOPE <br> FEDEX_PAK <br> FEDEX_BOX <br> FEDEX_TUBE <br> FEDEX_10KG_BOX <br> FEDEX_25KG_BOX <br> YOUR_PACKAGING |\n| packing_method | string | SEPARATE <br> COMBINED |\n| rate_type | string | NONE <br> LIST |\n| include_package_value | boolean | true <br> false |\n| destination_type | string | residential <br> business |\n\n\n### UPS Ready\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"UPS ready\",\n \"type\": \"upsready\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"2nd_Day_Air\",\"Standard\"\n ],\n \"packaging_type\": \"21\",\n \"packing_method\": \"separate\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### UPS Ready Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 2nd_Day_Air <br> 2nd_Day_Air_AM <br> 3_Day_Select <br> Expedited <br> Express <br> Express_Plus <br> Express_Saver <br> Express_Early_AM <br> Ground <br> Next_Day_Air <br> Next_Day_Air_Early_AM <br> Next_Day_Air_Saver <br> Saver <br> Standard <br> Today_Dedicated_Courier <br> Today_Express <br> Today_Express_Saver <br> Today_Intercity <br> Today_Standard <br> Worldwide_Expedited <br> Worldwide_Express <br> Worldwide_Express_Plus <br> Worldwide_Express_Saver <br> Worldwide_Saver |\n| destination_type | string | residential <br> business |\n| packing_method | string | separate <br> combined |\n| packaging_type | string (only codes allowed) | 21: UPS® Express Box <br> 24: UPS® 25 KG Box <br> 25: UPS® 10 KG Box <br> 30: Pallet <br> 01: UPS® Letter <br> 02: Customer Supplied Package <br> 03: Tube <br> 04: PAK <br> 2a: Small Express Box <br> 2b: Medium Express Box <br> 2c: Large Express Box |\n| include_package_value | boolean | true <br> false |\n| show_transit_time | boolean | true <br> false |\n\n\n### Canada Post\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Canada Post\",\n \"type\": \"canadapost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"DOM.RP\",\"DOM.EP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Canada Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | DOM.RP <br> DOM.EP <br> DOM.XP <br> DOM.XP.CERT <br> DOM.PC DOM.LIB <br> USA.EP <br> USA.PW.ENV <br> USA.PW.PAK <br> USA.PW.PARCEL <br> USA.SP.AIR <br> USA.TP <br> USA.TP.LVM <br> USA.XP <br> INT.XP <br> INT.IP.AIR <br> INT.IP.SURF <br> INT.PW.ENV <br> INT.PW.PAK <br> INT.PW.PARCEL <br> INT.SP.AIR <br> INT.SP.SURF <br> INT.TP |\n\n\n### Australia Post\n\n\n```json\n\n{\n \"name\": \"Australia Post\",\n \"type\": \"auspost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"AUS_PARCEL_REGULAR\",\n\t\t\t\t\"AUS_PARCEL_EXPRESS\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Australia Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | AUS_LETTER_REGULAR_SMALL <br> AUS_LETTER_REGULAR_Large <br> AUS_LETTER_EXPRESS_SMALL <br> AUS_LETTER_EXPRESS_MEDIUM <br> AUS_LETTER_EXPRESS_LARGE <br> AUS_PARCEL_REGULAR <br> AUS_PARCEL_REGULAR_SATCHEL_500G <br> AUS_PARCEL_REGULAR_SATCHEL_3KG <br> AUS_PARCEL_REGULAR_SATCHEL_5KG <br> AUS_PARCEL_EXPRESS <br> AUS_PARCEL_EXPRESS_SATCHEL_500G <br> AUS_PARCEL_EXPRESS_SATCHEL_3KG <br> AUS_PARCEL_EXPRESS_SATCHEL_5KG <br> AUS_PARCEL_COURIER <br> AUS_PARCEL_COURIER_SATCHEL_MEDIUM <br> INT_PARCEL_COR_OWN_PACKAGING <br> INT_PARCEL_EXP_OWN_PACKAGING <br> INT_PARCEL_STD_OWN_PACKAGING <br> INT_PARCEL_AIR_OWN_PACKAGING <br> INT_PARCEL_SEA_OWN_PACKAGING |\n\n\n### Royal Mail\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Royal Mail\",\n \"type\": \"royalmail\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"StandardFirstClass\",\n\t\t\t\t\"StandardSecondClass\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Royal Mail Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | SpecialDelivery1pm <br> SpecialDelivery9am <br> SpecialDelivery1pmSaturday <br> SpecialDelivery9amSaturday <br> SignedForFirstClass <br> SignedForSecondClass <br> Express9 <br> Express10 <br> ExpressAM <br> Express24 <br> Express48 <br> StandardFirstClass <br> StandardSecondClass <br> InternationalStandard <br> InternationalTracked <br> InternationalEconomy |\n\n\n### Zoom2U\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Zoom2U\",\n \"type\": \"zoom2u\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"3_hour\",\n\t\t\t\t\"Same_day\",\n\t\t\t\t\"VIP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Zoom2U Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 3_hour <br> Same_day <br> VIP|\n\n\n\n### Settings Objects \n\n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n\n### perorder Object – Properties \n\n\nObject model for flat-rate shipping quotes per order.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n\n```\n\n\n### peritem Object – Properties \n\n\nObject model for flat-rate shipping quotes per item ordered.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n\n```\n\n\n### weight Object – Properties \n\n\nObject model for shipping quotes by weight.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n\n#### JSON Example \n \n```json\n\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n\n```\n\n\n### total Object – Properties \n\n\nObject model for shipping quotes by order's total value.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping-cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n\n#### JSON Example \n\n\nThis example sets free shipping above a certain order total:\n\n\n```json\n\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n\n```\n\n\n### Range Object – Properties \n\n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n\n```" summary: Create a Shipping Method tags: - Shipping Method - produces: - - application/json parameters: - name: zone_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true description: '' schema: - $ref: '#/definitions/shippingMethod_Base' - x-examples: - application/json: - name: Per Order - type: perorder - settings: - rate: 8 - enabled: true - handling_fees: - fixed_surcharge: 3 + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/shippingMethod_Base' + required: true + x-examples: + application/json: + name: Per Order + type: perorder + settings: + rate: 8 + enabled: true + handling_fees: + fixed_surcharge: 3 responses: '200': description: '' - schema: - $ref: '#/definitions/shippingMethod_Full' - examples: + content: application/json: - id: 5 - name: Per Order - type: perorder - settings: - rate: 8 - enabled: true - handling_fees: - fixed_surcharge: 3 + schema: + $ref: '#/components/schemas/shippingMethod_Full' + x-examples: + response: + value: + id: 5 + name: Per Order + type: perorder + settings: + rate: 8 + enabled: true + handling_fees: + fixed_surcharge: 3 Response Schema: - id: -19609616 - name: ad sed - type: auspost - settings: {} - enabled: false - handling_fees: fixed_surcharge - is_fallback: false - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false + examples: + response: + value: + id: -19609616 + name: ad sed + type: auspost + settings: {} + enabled: false + handling_fees: fixed_surcharge + is_fallback: false operationId: createAShippingMethod parameters: - - type: string - name: store_hash + - name: store_hash in: path required: true - - type: string - name: zone_id + schema: + type: string + - name: zone_id in: path required: true + schema: + type: string '/stores/{store_hash}/v2/shipping/zones/{zone_id}/methods/{method_id}': get: description: |- @@ -1321,123 +1111,136 @@ paths: - name: zone_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: method_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping method within the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json responses: '200': description: '' - schema: - title: Shipping Method - type: object - properties: - id: - description: Shipping-method ID. READ-ONLY - example: 1 - type: integer - name: - description: Display name for shipping method. - example: Flat Rate - type: string - type: - title: Shipping Method Type - example: perorder - x-enum-elements: - - name: perorder - description: '' - - name: peritem - description: '' - - name: weight - description: '' - - name: total - description: '' - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: upsready - description: '' - type: string - enum: - - perorder - - peritem - - weight - - total - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - upsready - settings: - description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' - type: object - enabled: - description: Whether or not this shipping-zone method is enabled. - example: true - type: boolean - handling_fees: - type: object - enum: - - fixed_surcharge - - percentage_surcharge - example: percentage_surcharge - description: |- - `fixed_surcharge`: flat-rate handling fee applied to shipping cost. - - `percentage_surcharge`: percentage handling fee applied to shipping cost - is_fallback: - description: Whether or not this shipping zone is the fallback if all others are not valid for the order. - example: false - type: boolean - examples: + content: application/json: - id: 1 - name: Flat Rate - type: perorder - settings: - rate: 12 - enabled: true - handling_fees: - fixed_surcharge: 0 - is_fallback: false + schema: + title: Shipping Method + type: object + properties: + id: + description: Shipping-method ID. READ-ONLY + example: 1 + type: integer + name: + description: Display name for shipping method. + example: Flat Rate + type: string + type: + title: Shipping Method Type + example: perorder + x-enum-elements: + - name: perorder + description: '' + - name: peritem + description: '' + - name: weight + description: '' + - name: total + description: '' + - name: auspost + description: '' + - name: canadapost + description: '' + - name: endicia + description: '' + - name: usps + description: '' + - name: fedex + description: '' + - name: royalmail + description: '' + - name: upsready + description: '' + type: string + enum: + - perorder + - peritem + - weight + - total + - auspost + - canadapost + - endicia + - usps + - fedex + - royalmail + - upsready + settings: + description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' + type: object + enabled: + description: Whether or not this shipping-zone method is enabled. + example: true + type: boolean + handling_fees: + oneOf: + - properties: + fixed_surcharge: + type: number + description: Flat-rate handling fee applied to shipping cost + example: 0 + - properties: + percentage_surcharge: + type: number + description: Percentage handling fee applied to shipping cost + example: 0 + type: object + is_fallback: + description: Whether or not this shipping zone is the fallback if all others are not valid for the order. + example: false + type: boolean + x-examples: + response: + value: + id: 1 + name: Flat Rate + type: perorder + settings: + rate: 12 + enabled: true + handling_fees: + fixed_surcharge: 0 + is_fallback: false Response Schema: - id: -71711609 - name: nisi - type: weight - settings: {} - enabled: false - handling_fees: percentage_surcharge - is_fallback: false + examples: + response: + value: + id: -71711609 + name: nisi + type: weight + settings: {} + enabled: false + handling_fees: percentage_surcharge + is_fallback: false x-unitTests: [] x-operation-settings: CollectParameters: false @@ -1454,64 +1257,74 @@ paths: - name: zone_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: method_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping method within the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true description: '' schema: - $ref: '#/definitions/shippingMethod_Base' - x-examples: - application/json: - settings: - rate: 11 - handling_fees: - fixed_surcharge: 0 + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/shippingMethod_Base' + required: true + x-examples: + application/json: + settings: + rate: 11 + handling_fees: + fixed_surcharge: 0 responses: '200': description: '' - schema: - $ref: '#/definitions/shippingMethod_Full' - examples: + content: application/json: - id: 5 - name: Per Order - type: perorder - settings: - rate: 11 - enabled: true - handling_fees: - fixed_surcharge: 0 + schema: + $ref: '#/components/schemas/shippingMethod_Full' + x-examples: + response: + value: + id: 5 + name: Per Order + type: perorder + settings: + rate: 11 + enabled: true + handling_fees: + fixed_surcharge: 0 Response Schema: - id: 8176684 - name: in incididunt amet adipisicing - type: endicia - settings: {} - enabled: false - handling_fees: fixed_surcharge - is_fallback: false + examples: + response: + value: + id: 8176684 + name: in incididunt amet adipisicing + type: endicia + settings: {} + enabled: false + handling_fees: fixed_surcharge + is_fallback: false x-unitTests: [] x-operation-settings: CollectParameters: false @@ -1524,35 +1337,37 @@ paths: summary: Delete a Shipping Method tags: - Shipping Method - produces: - - application/json parameters: - name: zone_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: method_id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Id of the shipping method within the shipping zone. + schema: + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json responses: '204': description: '' @@ -1564,18 +1379,21 @@ paths: IsMultiContentStreaming: false operationId: deleteAShippingMethod parameters: - - type: string - name: store_hash + - name: store_hash in: path required: true - - type: string - name: zone_id + schema: + type: string + - name: zone_id in: path required: true - - type: string - name: method_id + schema: + type: string + - name: method_id in: path required: true + schema: + type: string '/stores/{store_hash}/v2/shipping/carrier/connection': put: description: |- @@ -1589,26 +1407,29 @@ paths: - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json - - in: body - name: body schema: - $ref: '#/definitions/carrierConnection' - x-examples: - application/json: - carrier_id: endicia - connection: - account_id: yourEndiciaAccountId - pass_phrase: yourEndiciaPassphrase - description: 'The request body will vary by carrier. See [Create a Carrier Connection](/api-reference/store-management/shipping-api/shipping-carrier/postshippingcarrierconnection).' + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/carrierConnection' + description: 'The request body will vary by carrier. See [Create a Carrier Connection](/api-reference/store-management/shipping-api/shipping-carrier/postshippingcarrierconnection).' + x-examples: + application/json: + carrier_id: endicia + connection: + account_id: yourEndiciaAccountId + pass_phrase: yourEndiciaPassphrase responses: '204': description: Returns if request was succesful @@ -1622,36 +1443,39 @@ paths: "message": "Required fields missing [key]" } ] - schema: {} + content: + application/json: + schema: {} operationId: updateACarrierConnection post: - description: "Creates a *Carrier Connection*. \n\nCarrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier.\n\n*Notes:*\n\n- There is no `GET` with this resource. It has `PUT`, `POST` and `DELETE`.\n * `PUT` is used to update. The connection can be updated via API.\n \n- Connections created here do not enable the shipping method. To enable the carrier for a shipping zone, use the Shipping Methods API. \n\n- The Carrier Connection resource returns a 204 for both succesful and unsuccesful attempts to connect. If a field is missing, it will return a 400.\n\n### Australia Post\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"auspost\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourAusPostAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"auspost\"\n}\n```\n\n#### Australia Post Connection Object – Properties\n\nAustralia Post `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description\n| - | - | - |\n| auth_key | string | Australia Post authorization key. |\n| test_mode | boolean | Whether or not to use Australia Post test-mode settings. Acceptable values are `true` or `false`. |\n\n\n### Endicia\nUSPS is connected through Endicia.\n\n#### Sample Request – PUT or POST\n\n```json\n{\t\"carrier_id\" : \"endicia\",\n\t\"connection\": {\n\t\t\"account_id\" : \"yourEndiciaAccountId\",\n\t\t\"pass_phrase\" : \"yourEndiciaPassphrase\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"endicia\"\n}\n```\n\n#### Endicia Connection Object – Properties\n\nEndicia `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description |\n| - | - | - |\n| account_id | string | Endicia account ID. |\n| passphrase | string | Endicia passphrase. |\n\n\n### FedEx\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"fedex\",\n\t\"connection\" : {\n\t\t\"key\" : \"yourFedexKey\",\n\t\t\"password\" : \"yourFedexPassword\",\n\t\t\"account_number\" : \"yourFedexAccountNumber\",\n\t\t\"meter_number\" : \"yourFedexMeterNumber\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"fedex\"\n}\n```\n\n#### FedEx Connection Object – Properties\n\nFedEx `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| key | string | FedEx account ID. | \n| password | string | FedEx passphrase. |\n| account_number | string | FedEx account number. |\n| meter_number | string | FedEx meter number. |\n\n### Royal Mail\n\nSample Request - PUT or POST\n\n```json\n{\n \"carrier_id\" : \"royalmail\",\n \"connection\" : {\n \n }\n}\n```\n\nSample Request - DELETE\n\n```json\n{\n \"carrier_id\" : \"royalmail\"\n}\n```\n\n#### Royal Mail Connection Object - Properties\n\nRoyal Mail has no connection object properties.\n\n\n### Zoom2U\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourZoom2uAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\"\n}\n```\n\n#### Zoom2U Connection Object – Properties\n\nZoom2U `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| auth_key | string | Zoom2U authorization key. |\n| test_mode | boolean | Whether or not to use Zoom2U test-mode settings. Acceptable values are `true` or `false`. |" + description: "Creates a *Carrier Connection*. \n\nCarrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier.\n\n*Notes:*\n\n- There is no `GET` with this resource. It has `PUT`, `POST` and `DELETE`.\n * `PUT` is used to update. The connection can be updated via API.\n\n \n- Connections created here do not enable the shipping method. To enable the carrier for a shipping zone, use the Shipping Methods API. \n\n- The Carrier Connection resource returns a 204 for both succesful and unsuccesful attempts to connect. If a field is missing, it will return a 400.\n\n### Australia Post\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"auspost\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourAusPostAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"auspost\"\n}\n```\n\n#### Australia Post Connection Object – Properties\n\nAustralia Post `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description\n| - | - | - |\n| auth_key | string | Australia Post authorization key. |\n| test_mode | boolean | Whether or not to use Australia Post test-mode settings. Acceptable values are `true` or `false`. |\n\n\n### Endicia\nUSPS is connected through Endicia.\n\n#### Sample Request – PUT or POST\n\n```json\n{\t\"carrier_id\" : \"endicia\",\n\t\"connection\": {\n\t\t\"account_id\" : \"yourEndiciaAccountId\",\n\t\t\"pass_phrase\" : \"yourEndiciaPassphrase\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"endicia\"\n}\n```\n\n#### Endicia Connection Object – Properties\n\nEndicia `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description |\n| - | - | - |\n| account_id | string | Endicia account ID. |\n| passphrase | string | Endicia passphrase. |\n\n\n### FedEx\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"fedex\",\n\t\"connection\" : {\n\t\t\"key\" : \"yourFedexKey\",\n\t\t\"password\" : \"yourFedexPassword\",\n\t\t\"account_number\" : \"yourFedexAccountNumber\",\n\t\t\"meter_number\" : \"yourFedexMeterNumber\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"fedex\"\n}\n```\n\n#### FedEx Connection Object – Properties\n\nFedEx `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| key | string | FedEx account ID. | \n| password | string | FedEx passphrase. |\n| account_number | string | FedEx account number. |\n| meter_number | string | FedEx meter number. |\n\n### Royal Mail\n\nSample Request - PUT or POST\n\n```json\n{\n \"carrier_id\" : \"royalmail\",\n \"connection\" : {\n \n }\n}\n```\n\nSample Request - DELETE\n\n```json\n{\n \"carrier_id\" : \"royalmail\"\n}\n```\n\n#### Royal Mail Connection Object - Properties\n\nRoyal Mail has no connection object properties.\n\n\n### Zoom2U\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourZoom2uAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\"\n}\n```\n\n#### Zoom2U Connection Object – Properties\n\nZoom2U `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| auth_key | string | Zoom2U authorization key. |\n| test_mode | boolean | Whether or not to use Zoom2U test-mode settings. Acceptable values are `true` or `false`. |" summary: Create a Carrier Connection - produces: - - application/json parameters: - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string description: '' - default: application/json - - in: body - name: body schema: - $ref: '#/definitions/carrierConnection' - x-examples: - application/json: - carrier_id: auspost - connection: - auth_key: yourAusPostAuthKey - test_mode: false + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/carrierConnection' + x-examples: + application/json: + carrier_id: auspost + connection: + auth_key: yourAusPostAuthKey + test_mode: false responses: '204': description: Returns if request was succesful @@ -1674,7 +1498,9 @@ paths: "message": "Required fields missing [key]" } ] - schema: {} + content: + application/json: + schema: {} x-unitTests: [] x-operation-settings: CollectParameters: false @@ -1683,8 +1509,6 @@ paths: IsMultiContentStreaming: false tags: - Shipping Carrier - consumes: - - application/json delete: description: |- Deletes a *Carrier Connection*. @@ -1698,30 +1522,32 @@ paths: - name: Accept in: header required: true - type: string description: '' - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true description: '' schema: - type: object - properties: - carrier_id: - type: string - example: fedex - x-examples: - application/json: - carrier_id: fedex - new: - carrier_id: fedex + type: string + default: application/json + requestBody: + content: + application/json: + schema: + type: object + properties: + carrier_id: + type: string + example: fedex + required: true + x-examples: + application/json: + carrier_id: fedex + new: + carrier_id: fedex responses: '204': description: Returns if request was succesful @@ -1735,7 +1561,9 @@ paths: "message": "Required fields missing [key]" } ] - schema: {} + content: + application/json: + schema: {} x-unitTests: [] x-operation-settings: CollectParameters: false @@ -1744,435 +1572,425 @@ paths: IsMultiContentStreaming: false operationId: deleteCarrierConnection parameters: - - type: string - name: store_hash + - name: store_hash in: path required: true -definitions: - TrackingCarrier: - title: Tracking Carrier - example: auspost - x-enum-elements: - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: ups - description: '' - - name: upsready - description: '' - - name: shipperhq - description: '' - type: string - enum: - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - ups - - upsready - - shipperhq - x-internal: false - ShippingProvider: - title: Shipping Provider - x-enum-elements: - - name: Enum_0 - description: empty string - - name: Enum_1 - description: '' - - name: Enum_2 - description: '' - - name: Enum_3 - description: '' - - name: Enum_4 - description: '' - - name: Enum_5 - description: '' - - name: Enum_6 - description: '' - - name: Enum_7 - description: '' - - name: Enum_8 - description: '' - - name: Enum_9 - description: '' - - name: Enum_10 - description: '' - type: string - enum: - - '``' - - fedex - - auspost - - canadapost - - endicia - - usps - - royalmail - - ups - - upsready - - upsonline - - shipperhq - example: endicia - x-internal: false - ShippingZone: - title: Shipping Zone - example: - id: 1 - name: United States - type: zip - locations: - - id: 3 - zip: 12345 - country_iso2: US - state_iso2: TX - free_shipping: - enabled: false - minimum_subtotal: 0 - exclude_fixed_shipping_products: false - handling_fees: - fixed_surcharge: 0 - percentage_surcharge: '' - display_separately: true - enabled: true - type: object - properties: - id: - type: integer - description: Zone Id. READ-ONLY - example: 1 - name: - type: string - description: Zone name. Required for /PUT - example: United States - type: - type: string - enum: - - zip - - country - - state - - global - locations: - description: Array of zone locations. - type: array - items: - title: Shipping Zone Locations - type: object - properties: - id: - description: Location’s ID. - example: 3 - type: integer - zip: - description: Location’s ZIP/postal code. - example: 12345 - type: string - country_iso2: - description: 2-letter ISO Alpha-2 code for the country. - example: US - type: string - state_iso2: - description: ISO Alpha-2 code for the state. - example: TX - type: string - free_shipping: - type: object - properties: - enabled: - type: boolean - minimum_sub_total: - type: string - example: '0.0000' - description: '(Float, Float-As-String, Integer)' - exclude_fixed_shipping_products: - type: boolean - handling_fees: - title: Shipping Zone Handling Fees - type: object - properties: - fixed_surcharge: - description: '' - example: 0 - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean - enabled: - description: Whether this shipping zone is enabled. - example: true - type: boolean - required: - - name - x-internal: false - ShippingZoneLocations: - title: Shipping Zone Locations - type: object - properties: - id: - description: Location’s ID. - example: 3 - type: integer - zip: - description: Location’s ZIP/postal code. - example: 12345 - type: string - country_iso2: - description: 2-letter ISO Alpha-2 code for the country. - example: US - type: string - state_iso2: - description: ISO Alpha-2 code for the state. - example: TX - type: string - x-internal: false - HandlingFees: - title: Shipping Zone Handling Fees - type: object - properties: - fixed_surcharge: - description: '' - example: 0 - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean - x-internal: false - shippingMethod_Full: - title: shippingMethod_Full - allOf: - - type: object - properties: - id: - description: Shipping-method ID. READ-ONLY - example: 1 - type: integer - - $ref: '#/definitions/shippingMethod_Base' - x-internal: false - ShippingMethodType: - title: Shipping Method Type - example: perorder - x-enum-elements: - - name: perorder - description: '' - - name: peritem - description: '' - - name: weight - description: '' - - name: total - description: '' - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: upsready - description: '' - type: string - enum: - - perorder - - peritem - - weight - - total - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - upsready - x-internal: false - shippingMethod_Base: - title: shippingMethod_Base - type: object - properties: - name: - description: Display name for shipping method. - example: Flat Rate - type: string - type: - title: Shipping Method Type - example: perorder - x-enum-elements: - - name: perorder - description: '' - - name: peritem - description: '' - - name: weight - description: '' - - name: total - description: '' - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: upsready - description: '' - type: string - enum: - - perorder - - peritem - - weight - - total - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - upsready - settings: - description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' - type: object - properties: - rate: - type: number - description: 'Flat rate per order. ' - example: 7 - enabled: - description: Whether or not this shipping-zone method is enabled. - example: true - type: boolean - handling_fees: - type: object - enum: - - fixed_surcharge - - percentage_surcharge - example: percentage_surcharge - description: |- - `fixed_surcharge`: flat-rate handling fee applied to shipping cost. - - `percentage_surcharge`: percentage handling fee applied to shipping cost - is_fallback: - description: Whether or not this shipping zone is the fallback if all others are not valid for the order. - example: false - type: boolean - x-internal: false - ShippingResponse: - type: object - properties: {} - title: ShippingResponse - x-internal: false - carrierConnection: - type: object - title: Carrier Connection - properties: - carrier_id: - type: string - connection: - type: object - description: '`connection` object varies by carrier' - x-internal: false - metaCollection: - title: metaCollection - description: Meta data relating to pagination - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - description: Total number of items returned. - example: 3 - count: - type: integer - description: Number of items returned on per page. - example: 1 - per_page: - type: integer - description: Number of items to be displayed per page. - example: 1 - current_page: - type: integer - description: Current page number. - example: 2 - total_page: - type: integer - description: Total number of pages. - example: 3 - links: - type: object - properties: - previous: - type: string - description: Query string appended to the resource to return to the previous page. - example: '?limit=1&page=1' - next: - type: string - description: Query string appended to the resource to proceed to the next page. - example: '?limit=1&page=3' - current: - type: string - description: Query string appended to the resource to show the current page. - example: '?limit=1&page=2' - x-internal: false + schema: + type: string tags: - name: Shipping Method - name: Shipping Carrier - name: Shipping Zones - name: Shipping Products Custom Information -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | modify | `store_v2_information` | - | Information & Settings | read-only | `store_v2_information_read_only` | - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). security: - X-Auth-Token: [] x-stoplight: docs: includeDownloadLink: true showModels: false +servers: + - url: 'https://api.bigcommerce.com' +components: + securitySchemes: + X-Auth-Token: + type: apiKey + name: X-Auth-Token + in: header + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Information & Settings | modify | `store_v2_information` | + | Information & Settings | read-only | `store_v2_information_read_only` | + + ### Headers + + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + + ### Example + + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` + + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + schemas: + TrackingCarrier: + title: Tracking Carrier + example: auspost + x-enum-elements: + - name: auspost + description: '' + - name: canadapost + description: '' + - name: endicia + description: '' + - name: usps + description: '' + - name: fedex + description: '' + - name: royalmail + description: '' + - name: ups + description: '' + - name: upsready + description: '' + - name: shipperhq + description: '' + type: string + enum: + - auspost + - canadapost + - endicia + - usps + - fedex + - royalmail + - ups + - upsready + - shipperhq + x-internal: false + ShippingProvider: + title: Shipping Provider + x-enum-elements: + - name: Enum_0 + description: empty string + - name: Enum_1 + description: '' + - name: Enum_2 + description: '' + - name: Enum_3 + description: '' + - name: Enum_4 + description: '' + - name: Enum_5 + description: '' + - name: Enum_6 + description: '' + - name: Enum_7 + description: '' + - name: Enum_8 + description: '' + - name: Enum_9 + description: '' + - name: Enum_10 + description: '' + type: string + enum: + - '``' + - fedex + - auspost + - canadapost + - endicia + - usps + - royalmail + - ups + - upsready + - upsonline + - shipperhq + example: endicia + x-internal: false + ShippingZone: + title: Shipping Zone + type: object + properties: + id: + type: integer + description: Zone Id. READ-ONLY + example: 1 + name: + type: string + description: Zone name. Required for /PUT + example: United States + type: + type: string + enum: + - zip + - country + - state + - global + locations: + description: Array of zone locations. + type: array + items: + title: Shipping Zone Locations + type: object + properties: + id: + description: Location’s ID. + example: 3 + type: integer + zip: + description: Location’s ZIP/postal code. + example: '12345' + type: string + country_iso2: + description: 2-letter ISO Alpha-2 code for the country. + example: US + type: string + state_iso2: + description: ISO Alpha-2 code for the state. + example: TX + type: string + free_shipping: + type: object + properties: + enabled: + type: boolean + minimum_sub_total: + type: string + example: '0.0000' + description: '(Float, Float-As-String, Integer)' + exclude_fixed_shipping_products: + type: boolean + handling_fees: + title: Shipping Zone Handling Fees + type: object + properties: + fixed_surcharge: + description: '' + example: '0' + type: string + percentage_surcharge: + description: '' + type: string + display_separately: + description: '' + example: true + type: boolean + enabled: + description: Whether this shipping zone is enabled. + example: true + type: boolean + required: + - name + x-internal: false + ShippingZoneLocations: + title: Shipping Zone Locations + type: object + properties: + id: + description: Location’s ID. + example: 3 + type: integer + zip: + description: Location’s ZIP/postal code. + example: '12345' + type: string + country_iso2: + description: 2-letter ISO Alpha-2 code for the country. + example: US + type: string + state_iso2: + description: ISO Alpha-2 code for the state. + example: TX + type: string + x-internal: false + HandlingFees: + title: Shipping Zone Handling Fees + type: object + properties: + fixed_surcharge: + description: '' + example: '0' + type: string + percentage_surcharge: + description: '' + type: string + display_separately: + description: '' + example: true + type: boolean + x-internal: false + shippingMethod_Full: + title: shippingMethod_Full + allOf: + - type: object + properties: + id: + description: Shipping-method ID. READ-ONLY + example: 1 + type: integer + - $ref: '#/components/schemas/shippingMethod_Base' + x-internal: false + ShippingMethodType: + title: Shipping Method Type + example: perorder + x-enum-elements: + - name: perorder + description: '' + - name: peritem + description: '' + - name: weight + description: '' + - name: total + description: '' + - name: auspost + description: '' + - name: canadapost + description: '' + - name: endicia + description: '' + - name: usps + description: '' + - name: fedex + description: '' + - name: royalmail + description: '' + - name: upsready + description: '' + type: string + enum: + - perorder + - peritem + - weight + - total + - auspost + - canadapost + - endicia + - usps + - fedex + - royalmail + - upsready + x-internal: false + shippingMethod_Base: + title: shippingMethod_Base + type: object + x-internal: false + properties: + name: + description: Display name for shipping method. + example: Flat Rate + type: string + type: + title: Shipping Method Type + example: perorder + x-enum-elements: + - name: perorder + description: '' + - name: peritem + description: '' + - name: weight + description: '' + - name: total + description: '' + - name: auspost + description: '' + - name: canadapost + description: '' + - name: endicia + description: '' + - name: usps + description: '' + - name: fedex + description: '' + - name: royalmail + description: '' + - name: upsready + description: '' + type: string + enum: + - perorder + - peritem + - weight + - total + - auspost + - canadapost + - endicia + - usps + - fedex + - royalmail + - upsready + settings: + description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' + type: object + properties: + rate: + type: number + description: 'Flat rate per order. ' + example: 7 + enabled: + description: Whether or not this shipping-zone method is enabled. + example: true + type: boolean + handling_fees: + oneOf: + - properties: + fixed_surcharge: + type: number + description: Flat-rate handling fee applied to shipping cost + example: 0 + - properties: + percentage_surcharge: + type: number + description: | + Percentage handling fee applied to shipping cost + example: 0 + type: object + is_fallback: + description: Whether or not this shipping zone is the fallback if all others are not valid for the order. + example: false + type: boolean + ShippingResponse: + type: object + properties: {} + title: ShippingResponse + x-internal: false + carrierConnection: + type: object + title: Carrier Connection + properties: + carrier_id: + type: string + connection: + type: object + description: '`connection` object varies by carrier' + x-internal: false + metaCollection: + title: metaCollection + description: Meta data relating to pagination + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + description: Total number of items returned. + example: 3 + count: + type: integer + description: Number of items returned on per page. + example: 1 + per_page: + type: integer + description: Number of items to be displayed per page. + example: 1 + current_page: + type: integer + description: Current page number. + example: 2 + total_page: + type: integer + description: Total number of pages. + example: 3 + links: + type: object + properties: + previous: + type: string + description: Query string appended to the resource to return to the previous page. + example: '?limit=1&page=1' + next: + type: string + description: Query string appended to the resource to proceed to the next page. + example: '?limit=1&page=3' + current: + type: string + description: Query string appended to the resource to show the current page. + example: '?limit=1&page=2' + x-internal: false diff --git a/reference/shipping.v3.yml b/reference/shipping.v3.yml index df26d3e82..4d229ead6 100644 --- a/reference/shipping.v3.yml +++ b/reference/shipping.v3.yml @@ -1,458 +1,473 @@ -swagger: '2.0' +openapi: 3.0.0 info: version: '' title: Shipping V3 description: V3 REST API shipping endpoints. -host: api.bigcommerce.com -schemes: - - https -consumes: - - application/json -produces: - - application/json paths: '/stores/{store_hash}/v3/shipping/products/customs-information': get: + operationId: getCustomsInformation responses: '200': description: '' - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/definitions/customsInformation' - meta: - $ref: '#/definitions/metaCollection' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/customsInformation' + meta: + $ref: '#/components/schemas/metaCollection' description: |- Get customs information for products. - ## Examples - - This list can be filtered to return customs information objects specific to a list of requested product_ids. This is achieved by appending the query string **?product_id:in=4,5,6** to the resource **/shipping/products/customs-information**. + This list can be filtered to return customs information objects specific to a list of requested product_ids. This is achieved by appending the query string `?product_id:in=4,5,6` to the resource `/shipping/products/customs-information`. ```http GET /shipping/products/customs-information?product_id:in=4,5,6 ``` tags: - - Products + - Customs Information summary: Get Customs Information parameters: - in: header name: Accept - type: string - default: application/json + schema: + type: string + default: application/json - in: header name: Content-Type - type: string - default: application/json + schema: + type: string + default: application/json - in: query name: 'product_id:in' - type: array - items: - type: integer description: 'A comma-separated list of product IDs. For more information, see [Filtering](/api-docs/getting-started/filtering).' + schema: + type: array + items: + type: integer - in: query name: page - type: integer + schema: + type: integer - in: query name: limit - type: integer + schema: + type: integer delete: + operationId: deleteCustomsInformation responses: '204': - description: '' + description: No Content summary: Delete Customs Information description: |- Deletes customs information objects for a product. ## Example - This is a batch operation. The `product_id` query parameter is required. + This is a batch operation. The `product_id:in` query parameter is required. ```http DELETE /shipping/products/customs-information?product_id:in=4,5,6 ``` tags: - - Products + - Customs Information parameters: - in: header name: Accept - type: string - default: application/json + schema: + type: string + default: application/json - in: header name: Content-Type - type: string - default: application/json + schema: + type: string + default: application/json - in: query name: 'product_id:in' - type: array - items: - type: integer required: true + schema: + type: string + items: + type: integer put: + operationId: putCustomsInformation responses: '200': - description: '' - schema: - type: array - items: - $ref: '#/definitions/customsInformation' + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/customsInformation' + examples: {} summary: Upsert Customs Information description: |- Creates and updates product customs information. This is a batch operation where the creation of multiple customs information objects can be done with one `PUT` request. - ## Limits + **Limits** * Limit of 50 customs information objects per `PUT` request. tags: - - Products - parameters: - - in: body - name: body - schema: - type: array - items: - $ref: '#/definitions/customsInformation' - x-examples: - Example: - - product_id: 77 - country_of_origin: US - commodity_description: Baseball caps - international_shipping: true - hs_codes: - CA: '508313' - AU: '817355' - ALL: '501000' + - Customs Information + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/customsInformation' + examples: {} + x-examples: + Example: + - product_id: 77 + country_of_origin: US + commodity_description: Baseball caps + international_shipping: true + hs_codes: + CA: '508313' + AU: '817355' + ALL: '501000' parameters: - - type: string - name: store_hash + - name: store_hash in: path required: true -definitions: - shippingMethod_Full: - title: shippingMethod_Full - allOf: - - type: object - properties: - id: - description: Shipping-method ID. READ-ONLY - example: 1 - type: integer - - $ref: '#/definitions/shippingMethod_Base' - x-internal: false - shippingMethod_Base: - title: shippingMethod_Base - type: object - properties: - name: - description: Display name for shipping method. - example: Flat Rate - type: string - type: - title: Shipping Method Type - example: perorder - x-enum-elements: - - name: perorder - description: '' - - name: peritem - description: '' - - name: weight - description: '' - - name: total - description: '' - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: upsready - description: '' - type: string - enum: - - perorder - - peritem - - weight - - total - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - upsready - settings: - description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' - type: object - properties: - rate: - type: number - description: 'Flat rate per order. ' - example: 7 - enabled: - description: Whether or not this shipping-zone method is enabled. - example: true - type: boolean - handling_fees: - type: object - enum: - - fixed_surcharge - - percentage_surcharge - example: percentage_surcharge - description: |- - `fixed_surcharge`: flat-rate handling fee applied to shipping cost. - - `percentage_surcharge`: percentage handling fee applied to shipping cost - is_fallback: - description: Whether or not this shipping zone is the fallback if all others are not valid for the order. - example: false - type: boolean - x-internal: false - customsInformation: - title: customsInformation - description: Data about the customs information object. - type: object - minProperties: 5 - maxProperties: 5 - properties: - product_id: - description: The id of the product which the customs information data will apply to. - type: integer + schema: + type: string +tags: + - name: Customs Information +security: + - X-Auth-Token: [] +servers: + - url: 'https://api.bigcommerce.com' +components: + parameters: + product_id: + in: query + name: product_id + schema: + type: array + items: + type: integer format: int32 - example: 77 - country_of_origin: - description: 'The country of manufacture, production, or growth represented in ISO 3166-1 alpha-2 format.' - type: string - pattern: '^[A-Z]{2}$' - minLength: 2 - maxLength: 2 - example: US - commodity_description: - description: Description that provides information for customs to identify and verify shapes physical characteristics and packaging of each shipment. - type: string - minLength: 0 - maxLength: 100 - example: Baseball caps - international_shipping: - description: Flag to determine whether this product will be shipped internationally - type: boolean - enum: - - true - - false - example: true - hs_codes: - $ref: '#/definitions/harmonizedSystemCodes' - x-internal: false - harmonizedSystemCodes: - title: harmonizedSystemCodes - description: |- - Key value pair commonly used in the form of **countryISO2:'/^[0-9A-Za-z]{6,14}$/'**. This is to represent a country and the associated hs code that applies to that country. Eg {"US":"508313","AU":"850610"}. + responses: + 502_GatewayError: + description: 'If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + examples: + response: + value: + status: 502 + title: A login URL could not be generated. Please try another request. + type: /api-docs/getting-started/api-status-codes + errors: {} + 504_GatewayTimeout: + description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + examples: + response: + value: + status: 504 + title: Gateway Timeout + type: /api-docs/getting-started/api-status-codes + errors: {} + 403_Unauthorized: + description: Returned when permissions do not allow the operation. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + examples: + response: + value: + status: 403 + title: Unauthorized Access. You do not have permission to make this request. + type: /api-docs/getting-started/api-status-codes + errors: {} + 400_BadRequest: + description: 'Invalid syntax, required data missing, `content-type` header missing; Double-check request body for syntax errors and missing data; check `content-type` header.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + examples: + response: + value: + status: 400 + title: Input is invalid. + type: /api-docs/getting-started/api-status-codes + errors: {} + 404_NotFound: + description: 'If the requested account resource is not found for the franchise, return a 404 Not Found.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + examples: + response: + value: + status: 404 + title: 'Account with {id} not found' + type: /api-docs/getting-started/api-status-codes + errors: {} + 422_UnprocessableEntity: + description: This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values for the fields listed in the errors object. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + examples: + response: + value: + status: 422 + title: JSON data is missing or invalid + type: /api-docs/getting-started/api-status-codes + errors: {} + 503_ServiceUnavailable: + description: |- + If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually) - There is a special value of **'ALL'** which can be used in place of the countryISO2 to represent that the hs code applies to all countries. Eg {"ALL":"634000"}. This can be combined with other countries in the hs codes object. For Eg {"All":"640000", "US":"641000"} - type: object - example: - CA: '508313' - AU: '817355' - ALL: '501000' - x-internal: false - metaCollection: - title: metaCollection - description: Meta data relating to pagination - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - description: Total number of items returned. - example: 3 - count: - type: integer - description: Number of items returned on per page. - example: 1 - per_page: - type: integer - description: Number of items to be displayed per page. - example: 1 - current_page: - type: integer - description: Current page number. - example: 2 - total_page: - type: integer - description: Total number of pages. - example: 3 - links: - type: object - properties: - previous: - type: string - description: Query string appended to the resource to return to the previous page. - example: '?limit=1&page=1' - next: - type: string - description: Query string appended to the resource to proceed to the next page. - example: '?limit=1&page=3' - current: - type: string - description: Query string appended to the resource to show the current page. - example: '?limit=1&page=2' - x-internal: false - error_Full: - title: Error - description: Meta data relating to pagination - type: object - x-internal: false -tags: - - name: Shipping Method - - name: Shipping Carrier - - name: Shipping Zones - - name: Shipping Products Custom Information - - name: Products -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | + Occurs hen the store is down for maintenance, being upgraded to a new version, or is suspended due to administrative action or a billing issue. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + examples: + response: + value: + status: 503 + title: Service Unavailable + type: /api-docs/getting-started/api-status-codes + errors: {} + 401_Unauthorized: + description: API credentials are missing or invalid; Double-check the `access_token` and `client_id`. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + 415_Unsupported: + description: Request headers specify an unsupported `content-type` (or header is missing). Double-check `content-type` request header. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + 429_Too_Many_Requests: + description: 'When an OAuth client exceeds the [rate limit](/api-docs/getting-started/best-practices#api-rate-limits) for API requests to a store..' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + 405_Method_Not_Allowed: + description: 'The resource was found, but doesn''t support the request method. Issued when either a specific method isn''t yet implemented on a resource, or the resource doesn''t support the method at all. For example, a `PUT` on `/orders` is invalid, but a PUT on `/orders/{order_id}` is valid.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + 500_Internal_Server_Error: + description: 'Expensive API calls or an internal server error in BigCommerce; Re-attempt the request three to five times, with increasing delays of at least a minute between attempts.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Full' + securitySchemes: + X-Auth-Token: + type: apiKey + name: X-Auth-Token + in: header + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -parameters: - product_id: - in: query - type: array - name: product_id - items: - type: integer - format: int32 -responses: - 502_GatewayError: - description: 'If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail.' - schema: - $ref: '#/definitions/error_Full' - examples: - application/json: - status: 502 - title: A login URL could not be generated. Please try another request. - type: /api-docs/getting-started/api-status-codes - errors: {} - 504_GatewayTimeout: - description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)' - schema: - $ref: '#/definitions/error_Full' - examples: - application/json: - status: 504 - title: Gateway Timeout - type: /api-docs/getting-started/api-status-codes - errors: {} - 403_Unauthorized: - description: Returned when permissions do not allow the operation. - schema: - $ref: '#/definitions/error_Full' - examples: - application/json: - status: 403 - title: Unauthorized Access. You do not have permission to make this request. - type: /api-docs/getting-started/api-status-codes - errors: {} - 400_BadRequest: - description: 'Invalid syntax, required data missing, `content-type` header missing; Double-check request body for syntax errors and missing data; check `content-type` header.' - schema: - $ref: '#/definitions/error_Full' - examples: - application/json: - status: 400 - title: Input is invalid. - type: /api-docs/getting-started/api-status-codes - errors: {} - 404_NotFound: - description: 'If the requested account resource is not found for the franchise, return a 404 Not Found.' - schema: - $ref: '#/definitions/error_Full' - examples: - application/json: - status: 404 - title: 'Account with {id} not found' - type: /api-docs/getting-started/api-status-codes - errors: {} - 422_UnprocessableEntity: - description: This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values for the fields listed in the errors object. - schema: - $ref: '#/definitions/error_Full' - examples: - application/json: - status: 422 - title: JSON data is missing or invalid - type: /api-docs/getting-started/api-status-codes - errors: {} - 503_ServiceUnavailable: - description: |- - If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually) + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + schemas: + shippingMethod_Full: + title: shippingMethod_Full + allOf: + - type: object + properties: + id: + description: Shipping-method ID. READ-ONLY + example: 1 + type: integer + - $ref: '#/components/schemas/shippingMethod_Base' + x-internal: false + shippingMethod_Base: + title: shippingMethod_Base + type: object + properties: + name: + description: Display name for shipping method. + example: Flat Rate + type: string + type: + title: Shipping Method Type + example: perorder + type: string + enum: + - perorder + - peritem + - weight + - total + - auspost + - canadapost + - endicia + - usps + - fedex + - royalmail + - upsready + settings: + description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' + type: object + properties: + rate: + type: number + description: 'Flat rate per order. ' + example: 7 + enabled: + description: Whether or not this shipping-zone method is enabled. + example: true + type: boolean + handling_fees: + type: object + oneOf: + - properties: + fixed_surcharge: + type: number + description: Flat-rate handling fee applied to shipping cost + example: 0 + - properties: + percentage_surcharge: + type: number + description: Percentage handling fee applied to shipping cost + example: 0 + is_fallback: + description: Whether or not this shipping zone is the fallback if all others are not valid for the order. + example: false + type: boolean + x-internal: false + customsInformation: + title: customsInformation + description: Data about the customs information object. + type: object + minProperties: 5 + maxProperties: 5 + x-internal: false + properties: + product_id: + description: The id of the product which the customs information data will apply to. + type: integer + format: int32 + example: 77 + country_of_origin: + type: string + description: 'The country of manufacture, production, or growth represented in ISO 3166-1 alpha-2 format.' + example: US + commodity_description: + description: Description that provides information for customs to identify and verify shapes physical characteristics and packaging of each shipment. + type: string + minLength: 0 + maxLength: 100 + example: Baseball caps + international_shipping: + description: Flag to determine whether this product will be shipped internationally + type: boolean + enum: + - true + - false + example: true + hs_codes: + $ref: '#/components/schemas/harmonizedSystemCodes' + harmonizedSystemCodes: + title: harmonizedSystemCodes + description: |- + Key value pair commonly used in the form of **countryISO2:'/^[0-9A-Za-z]{6,14}$/'**. This is to represent a country and the associated hs code that applies to that country. Eg {"US":"508313","AU":"850610"}. - Occurs hen the store is down for maintenance, being upgraded to a new version, or is suspended due to administrative action or a billing issue. - schema: - $ref: '#/definitions/error_Full' - examples: - application/json: - status: 503 - title: Service Unavailable - type: /api-docs/getting-started/api-status-codes - errors: {} - 401_Unauthorized: - description: API credentials are missing or invalid; Double-check the `access_token` and `client_id`. - schema: - $ref: '#/definitions/error_Full' - 415_Unsupported: - description: Request headers specify an unsupported `content-type` (or header is missing). Double-check `content-type` request header. - schema: - $ref: '#/definitions/error_Full' - 429_Too_Many_Requests: - description: 'When an OAuth client exceeds the [rate limit](/api-docs/getting-started/best-practices#api-rate-limits) for API requests to a store..' - schema: - $ref: '#/definitions/error_Full' - 405_Method_Not_Allowed: - description: 'The resource was found, but doesn''t support the request method. Issued when either a specific method isn''t yet implemented on a resource, or the resource doesn''t support the method at all. For example, a `PUT` on `/orders` is invalid, but a PUT on `/orders/{order_id}` is valid.' - schema: - $ref: '#/definitions/error_Full' - examples: {} - 500_Internal_Server_Error: - description: 'Expensive API calls or an internal server error in BigCommerce; Re-attempt the request three to five times, with increasing delays of at least a minute between attempts.' - schema: - $ref: '#/definitions/error_Full' + There is a special value of **'ALL'** which can be used in place of the countryISO2 to represent that the hs code applies to all countries. Eg {"ALL":"634000"}. This can be combined with other countries in the hs codes object. For Eg {"All":"640000", "US":"641000"} + type: object + example: + CA: '508313' + AU: '817355' + ALL: '501000' + x-internal: false + metaCollection: + title: metaCollection + description: Meta data relating to pagination + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + description: Total number of items returned. + example: 3 + count: + type: integer + description: Number of items returned on per page. + example: 1 + per_page: + type: integer + description: Number of items to be displayed per page. + example: 1 + current_page: + type: integer + description: Current page number. + example: 2 + total_page: + type: integer + description: Total number of pages. + example: 3 + links: + type: object + properties: + previous: + type: string + description: Query string appended to the resource to return to the previous page. + example: '?limit=1&page=1' + next: + type: string + description: Query string appended to the resource to proceed to the next page. + example: '?limit=1&page=3' + current: + type: string + description: Query string appended to the resource to show the current page. + example: '?limit=1&page=2' + x-internal: false + error_Full: + title: Error + description: Meta data relating to pagination + type: object + x-internal: false diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index 27d1160a8..d734e4a28 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -1,383 +1,413 @@ -swagger: '2.0' +openapi: 3.0.0 info: - version: '' + version: "" title: Shipping Providers - description: |- - Implement endpoints consumed by BigCommerce for custom shipping integrations. To learn more, see [Shipping Provider API Overview](/api-docs/store-management/shipping/shipping-provider-api). + description: >- + Implement endpoints consumed by BigCommerce for custom shipping + integrations. To learn more, see [Shipping Provider API + Overview](/api-docs/store-management/shipping/shipping-provider-api). + ## Authentication + This specification file describes API requests BigCommerce will make to a registered shipping carrier's server to check connection options and retrieve rates. As such, the method of authentication is determined by the carrier's server. + ## Subresources + ### Check Connection Options + The Check Connection Options request is made by BigCommerce when checking for available shipping options. Each Shipping Provider will have different configurations for the payload. + ### Rate + The Rate request is made by BigCommerce to get shipping quotes from the provider. + ## Additional Information + **Webhooks** + - [Shipment](/api-docs/store-management/webhooks/webhook-events#shipment) + **Related API Resources** + - [Shipping Provider](/api-reference/store-management/shipping-provider-api) + - [Shipping V2 API](/api-reference/shipping/shipping-api) - termsOfService: '' -host: your_app.example.com -schemes: - - https -consumes: - - application/json -produces: - - application/json + termsOfService: "" paths: - '/rate': + /rate: post: - description: |- - Request shipping rates. BigCommerce sends a request for shipping quotes to the shipping provider's URL. The shipping provider responds with shipping quotes. + description: >- + Request shipping rates. BigCommerce sends a request for shipping quotes + to the shipping provider's URL. The shipping provider responds with + shipping quotes. + + + - <!-- theme:info --> > #### Note + > * The `your_app.example.com` and `rate` are the host and path specific to the shipping provider. + > * The Send a Test Request feature is not currently supported for this endpoint. - parameters: - - in: body - name: body - description: Rate request object - required: true - schema: - $ref: '#/definitions/RateRequestPayload' + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RateRequestPayload" + description: Rate request object + required: true responses: - '200': + "200": description: Quote response - schema: - $ref: '#/definitions/RateResponsePayload' - examples: + content: application/json: - quote_id: Lor - messages: - - text: ni - type: INFO - carrier_quotes: - - quotes: - - code: GND - display_name: cillum - cost: - currency: BEH - amount: 53116961.83460022 - messages: - - text: deserunt - type: INFO - - text: ut - type: ERROR - - text: c - type: WARNING - - text: veniam - type: ERROR - description: el - rate_id: 'n' - discounted_cost: - currency: VQD - amount: 16810732.187082157 - dispatch_date: '1947-07-10' - transit_time: - units: DAYS - duration: 74 - - code: GND - display_name: '' - cost: - currency: PRZ - amount: 85659359.530116 - messages: - - text: consequat - type: ERROR - - text: eu e - type: WARNING - - text: adip - type: ERROR - - text: enim no - type: ERROR - - text: eu - type: ERROR - description: cillum ve - rate_id: ea ad - discounted_cost: - currency: XRQ - amount: 69218406.22440869 - dispatch_date: '1954-03-05' - transit_time: - units: HOURS - duration: 21 - - code: GND - display_name: dolor rep - cost: - currency: VOF - amount: 29865288.150019586 - messages: - - text: in id - type: INFO - - text: et occa - type: ERROR - - text: esse dolo - type: INFO - - text: dolor - type: ERROR - - text: 'ex ' - type: ERROR - description: 'ullamco ' - rate_id: '' - discounted_cost: - currency: CKD - amount: 18401337.766514115 - dispatch_date: '1993-06-23' - transit_time: - units: HOURS - duration: 54 - carrier_info: - code: '' - display_name: c - - quotes: - - code: GND - display_name: 'labore ' - cost: - currency: OHQ - amount: 63679444.026082255 - messages: - - text: offici - type: INFO - - text: dolore - type: ERROR - - text: nis - type: WARNING - - text: ma - type: WARNING - description: in r - rate_id: l - discounted_cost: - currency: UBE - amount: 40327578.11995282 - dispatch_date: '1943-09-25' - transit_time: - units: DAYS - duration: 10 - - code: GND - display_name: irure - cost: - currency: PEJ - amount: 56049316.6584908 - messages: - - text: cillum a - type: INFO - description: nisi - rate_id: '' - discounted_cost: - currency: VFS - amount: 86177946.62739782 - dispatch_date: '1999-01-13' - transit_time: - units: DAYS - duration: 11 - carrier_info: - code: consect - display_name: 'eiusmod ' - - quotes: - - code: GND - display_name: ullamc - cost: - currency: NRB - amount: 75971681.09105605 - messages: - - text: laborum - type: INFO - - text: proident i - type: WARNING - - text: sin - type: ERROR - - text: volup - type: ERROR - - text: deser - type: WARNING - description: am - rate_id: mo - discounted_cost: - currency: NPA - amount: 72743924.13626081 - dispatch_date: '2006-01-17' - transit_time: - units: BUSINESS_DAYS - duration: 52 - - code: GND - display_name: dolor - cost: - currency: RDZ - amount: 46371179.641438134 - messages: - - text: ex - type: WARNING - - text: 'ipsum ' - type: WARNING - description: '' - rate_id: aute c - discounted_cost: - currency: SJL - amount: 60745150.4084129 - dispatch_date: '1976-06-19' - transit_time: - units: DAYS - duration: 69 - - code: GND - display_name: minim a - cost: - currency: SUR - amount: 97146769.48560241 - messages: - - text: 'Lorem ' - type: INFO - description: de - rate_id: fu - discounted_cost: - currency: PCP - amount: 99728805.8108871 - dispatch_date: '1962-05-18' - transit_time: - units: DAYS - duration: 10 - - code: GND - display_name: ea occaeca - cost: - currency: YOG - amount: 51938381.743391246 - messages: - - text: in irure - type: INFO - - text: c - type: INFO - - text: deserun - type: ERROR - - text: dolo - type: ERROR - description: dol - rate_id: U - discounted_cost: - currency: HMF - amount: 98693839.53819382 - dispatch_date: '2010-08-15' - transit_time: - units: HOURS - duration: 31 - - code: GND - display_name: sint - cost: - currency: TTO - amount: 65094224.57995142 - messages: - - text: 'ut ' - type: INFO - description: labo - rate_id: anim ma - discounted_cost: - currency: ZMA - amount: 57479313.52475042 - dispatch_date: '2008-10-24' - transit_time: - units: DAYS - duration: 55 - carrier_info: - code: dol - display_name: 'commodo ' - - quotes: - - code: GND - display_name: sed - cost: - currency: BOE - amount: 9130506.016241236 - messages: - - text: i - type: ERROR - - text: 'dolore ' - type: WARNING - - text: ut - type: INFO - - text: nos - type: ERROR - description: '' - rate_id: c - discounted_cost: - currency: QGD - amount: 81757709.40827666 - dispatch_date: '1999-11-11' - transit_time: - units: HOURS - duration: 6 - - code: GND - display_name: do aute - cost: - currency: IQW - amount: 83709032.8238562 - messages: - - text: ess - type: ERROR - - text: an - type: WARNING - - text: 'Duis ' - type: ERROR - - text: ipsum - type: WARNING - - text: do - type: WARNING - description: amet - rate_id: veniam - discounted_cost: - currency: YYL - amount: 11005656.662449125 - dispatch_date: '1980-05-16' - transit_time: - units: HOURS - duration: 32 - carrier_info: - code: vel - display_name: laborum e + schema: + $ref: "#/components/schemas/RateResponsePayload" + examples: + response: + value: + quote_id: Lor + messages: + - text: ni + type: INFO + carrier_quotes: + - quotes: + - code: GND + display_name: cillum + cost: + currency: BEH + amount: 53116961.83460022 + messages: + - text: deserunt + type: INFO + - text: ut + type: ERROR + - text: c + type: WARNING + - text: veniam + type: ERROR + description: el + rate_id: n + discounted_cost: + currency: VQD + amount: 16810732.187082157 + dispatch_date: 1947-07-10 + transit_time: + units: DAYS + duration: 74 + - code: GND + display_name: "" + cost: + currency: PRZ + amount: 85659359.530116 + messages: + - text: consequat + type: ERROR + - text: eu e + type: WARNING + - text: adip + type: ERROR + - text: enim no + type: ERROR + - text: eu + type: ERROR + description: cillum ve + rate_id: ea ad + discounted_cost: + currency: XRQ + amount: 69218406.22440869 + dispatch_date: 1954-03-05 + transit_time: + units: HOURS + duration: 21 + - code: GND + display_name: dolor rep + cost: + currency: VOF + amount: 29865288.150019586 + messages: + - text: in id + type: INFO + - text: et occa + type: ERROR + - text: esse dolo + type: INFO + - text: dolor + type: ERROR + - text: "ex " + type: ERROR + description: "ullamco " + rate_id: "" + discounted_cost: + currency: CKD + amount: 18401337.766514115 + dispatch_date: 1993-06-23 + transit_time: + units: HOURS + duration: 54 + carrier_info: + code: "" + display_name: c + - quotes: + - code: GND + display_name: "labore " + cost: + currency: OHQ + amount: 63679444.026082255 + messages: + - text: offici + type: INFO + - text: dolore + type: ERROR + - text: nis + type: WARNING + - text: ma + type: WARNING + description: in r + rate_id: l + discounted_cost: + currency: UBE + amount: 40327578.11995282 + dispatch_date: 1943-09-25 + transit_time: + units: DAYS + duration: 10 + - code: GND + display_name: irure + cost: + currency: PEJ + amount: 56049316.6584908 + messages: + - text: cillum a + type: INFO + description: nisi + rate_id: "" + discounted_cost: + currency: VFS + amount: 86177946.62739782 + dispatch_date: 1999-01-13 + transit_time: + units: DAYS + duration: 11 + carrier_info: + code: consect + display_name: "eiusmod " + - quotes: + - code: GND + display_name: ullamc + cost: + currency: NRB + amount: 75971681.09105605 + messages: + - text: laborum + type: INFO + - text: proident i + type: WARNING + - text: sin + type: ERROR + - text: volup + type: ERROR + - text: deser + type: WARNING + description: am + rate_id: mo + discounted_cost: + currency: NPA + amount: 72743924.13626081 + dispatch_date: 2006-01-17 + transit_time: + units: BUSINESS_DAYS + duration: 52 + - code: GND + display_name: dolor + cost: + currency: RDZ + amount: 46371179.641438134 + messages: + - text: ex + type: WARNING + - text: "ipsum " + type: WARNING + description: "" + rate_id: aute c + discounted_cost: + currency: SJL + amount: 60745150.4084129 + dispatch_date: 1976-06-19 + transit_time: + units: DAYS + duration: 69 + - code: GND + display_name: minim a + cost: + currency: SUR + amount: 97146769.48560241 + messages: + - text: "Lorem " + type: INFO + description: de + rate_id: fu + discounted_cost: + currency: PCP + amount: 99728805.8108871 + dispatch_date: 1962-05-18 + transit_time: + units: DAYS + duration: 10 + - code: GND + display_name: ea occaeca + cost: + currency: YOG + amount: 51938381.743391246 + messages: + - text: in irure + type: INFO + - text: c + type: INFO + - text: deserun + type: ERROR + - text: dolo + type: ERROR + description: dol + rate_id: U + discounted_cost: + currency: HMF + amount: 98693839.53819382 + dispatch_date: 2010-08-15 + transit_time: + units: HOURS + duration: 31 + - code: GND + display_name: sint + cost: + currency: TTO + amount: 65094224.57995142 + messages: + - text: "ut " + type: INFO + description: labo + rate_id: anim ma + discounted_cost: + currency: ZMA + amount: 57479313.52475042 + dispatch_date: 2008-10-24 + transit_time: + units: DAYS + duration: 55 + carrier_info: + code: dol + display_name: "commodo " + - quotes: + - code: GND + display_name: sed + cost: + currency: BOE + amount: 9130506.016241236 + messages: + - text: i + type: ERROR + - text: "dolore " + type: WARNING + - text: ut + type: INFO + - text: nos + type: ERROR + description: "" + rate_id: c + discounted_cost: + currency: QGD + amount: 81757709.40827666 + dispatch_date: 1999-11-11 + transit_time: + units: HOURS + duration: 6 + - code: GND + display_name: do aute + cost: + currency: IQW + amount: 83709032.8238562 + messages: + - text: ess + type: ERROR + - text: an + type: WARNING + - text: "Duis " + type: ERROR + - text: ipsum + type: WARNING + - text: do + type: WARNING + description: amet + rate_id: veniam + discounted_cost: + currency: YYL + amount: 11005656.662449125 + dispatch_date: 1980-05-16 + transit_time: + units: HOURS + duration: 32 + carrier_info: + code: vel + display_name: laborum e No Shipping Rates: - quote_id: example_quote - messages: [] - carrier_quotes: [] + examples: + response: + value: + quote_id: example_quote + messages: [] + carrier_quotes: [] summary: Request shipping rates tags: - Shipping Provider operationId: requestShippingRates - '/check_connection_options': + /check_connection_options: post: - description: |- - Validate connection options. BigCommerce sends a request to the shipping provider's URL in order to check a merchant's connection credentials. The shipping provider sends a response indicating whether a merchant has valid credentials. + description: >- + Validate connection options. BigCommerce sends a request to the shipping + provider's URL in order to check a merchant's connection credentials. + The shipping provider sends a response indicating whether a merchant has + valid credentials. + + + - <!-- theme:info --> > #### Note + > * The `your_app.example.com` and `check_connection_options` are the host and path specific to the shipping provider. + > * The Send a Test Request feature is not currently supported for this endpoint. - parameters: - - in: body - name: body - description: Check connection options request - required: true - schema: - $ref: '#/definitions/CheckConnectionOptionsRequestPayload' + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CheckConnectionOptionsRequestPayload" + description: Check connection options request + required: true responses: - '200': + "200": description: Check connection options response - schema: - $ref: '#/definitions/CheckConnectionOptionsResponsePayload' - examples: + content: application/json: - valid: true - messages: - - text: adipi - type: WARNING - - text: nu - type: WARNING - - text: an - type: INFO + schema: + $ref: "#/components/schemas/CheckConnectionOptionsResponsePayload" + examples: + response: + value: + valid: true + messages: + - text: adipi + type: WARNING + - text: nu + type: WARNING + - text: an + type: INFO summary: Validate connection options tags: - Shipping Provider @@ -388,1006 +418,1128 @@ x-stoplight: docs: includeDownloadLink: true showModels: false -definitions: - RateRequestPayload: - type: object - title: Rate Request Payload - description: Payload sent off to a Shipping Provider in order to get quotes. - properties: - base_options: - $ref: '#/definitions/BaseOptions' - zone_options: - type: object - description: 'Optional, any zone specific request options declared by the carrier and configued by the merchant to retrieve rates' - title: Zone Options Instance - connection_options: - type: object - description: 'Optional, any global request options declared by the carrier and configued by the merchant to retrieve rates' - title: Connection Options Instance - required: - - base_options - x-internal: false - BaseOptionsSchema: - type: object - title: Base Options - description: Payload sent off to a Shipping Provider in order to get quotes. - properties: - base_options: - description: The minimum required payload that is sent to retrieve rates - type: object - title: Base Rate Request - required: - - origin - - destination - - items - - store_id - properties: - origin: - type: object - title: Shipping Address - description: Object representing a destination or origin address for items. - required: - - zip - - country_iso2 - properties: - street_1: - type: string - maxLength: 255 - street_2: - type: string - maxLength: 255 - zip: - type: string - maxLength: 20 - example: '94105' - city: - type: string - maxLength: 50 - example: San Francisco - state_iso2: - type: string - description: State in ISO_3166 2 format - maxLength: 2 - country_iso2: - type: string - description: Country in ISO_3166 2 format - maxLength: 2 - example: US - address_type: - description: 'Optional, defaults to residential' - type: string - enum: - - RESIDENTIAL - - COMMERCIAL - destination: - type: object - title: Shipping Address - description: Object representing a destination or origin address for items. - required: - - zip - - country_iso2 - properties: - street_1: - type: string - maxLength: 255 - street_2: - type: string - maxLength: 255 - zip: - type: string - maxLength: 20 - example: '94105' - city: - type: string - maxLength: 50 - example: San Francisco - state_iso2: - type: string - description: State in ISO_3166 2 format - maxLength: 2 - country_iso2: - type: string - description: Country in ISO_3166 2 format - maxLength: 2 - example: US - address_type: - description: 'Optional, defaults to residential' - type: string - enum: - - RESIDENTIAL - - COMMERCIAL - items: - type: array - items: - type: object - description: A cart item along with it's shipping specific attributes - title: Rate Request Item - properties: - sku: - type: string - description: The variant SKU - variant_id: - type: string - product_id: - type: string - name: - type: string - length: - description: Value object for a length measurement - type: object - title: Dimension Value - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - width: - description: Value object for a length measurement - type: object - title: Dimension Value - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - height: - description: Value object for a length measurement - type: object - title: Dimension Value - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - weight: - description: Value object for a weight measurement - type: object - title: Weight Value - properties: - units: - type: string - enum: - - oz - - g - value: - type: number - minimum: 0 - required: - - units - - value - discounted_price: - description: Value object for a money amount - type: object - title: Money Value - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - declared_value: - description: Value object for a money amount - type: object - title: Money Value - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - quantity: - type: number - format: int32 - attributes: - description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of public fields specific to the carrier integration. - type: array - items: - type: object - title: Attribute Value - properties: - key: - type: string - description: The key associated with the meta field - value: - type: string - description: The value associated with the meta field - namespace: - type: string - description: 'The namespace associated with product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or product variant (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved under this format `shipping_carrier_{yourCarrierId}` otherwise it will not be recognized as an attribute.' - resource_type: - type: string - enum: - - product - - variant - description: Resource type associated with the meta field. Currently the only values available are 'product' or 'variant' - resource_id: - type: string - description: The resource id of the meta field - attribute_type: - type: string - enum: - - metafield - description: Attribute type associated with the product or product variant meta field. Currently the only value for this is 'metafield' - customer: - type: object - title: Customer Details - description: The details of the Customer that has made the purchase. - properties: - customer_groups: - type: array - items: - type: object - title: Customer Group - description: The Group (if any) that this customer is in. This will be default to zero if the customer is not in a group or is a guest. - properties: - customer_group_id: - type: integer - customer_group_name: - type: string - customer_id: - type: integer - cart_id: - type: string - store_id: - type: string - request_context: - type: object - title: Request Context - description: A collection of Reference Value objects. - properties: - reference_values: - type: array - items: - type: object - title: Reference Value - description: Value objects contained within the request context - properties: - name: - type: string - value: - type: string - zone_options: - type: object - description: 'Optional, any zone specific request options declared by the carrier and configued by the merchant to retrieve rates' - title: Zone Options Instance - connection_options: - type: object - description: 'Optional, any global request options declared by the carrier and configued by the merchant to retrieve rates' - title: Connection Options Instance - required: - - base_options - x-internal: false - CustomerDetails: - type: object - properties: - customer_groups: - type: array - items: - type: object - properties: - customer_group_id: - type: integer - customer_group_name: - type: string - title: Customer Group - description: The Group (if any) that this customer is in. This will be default to zero if the customer is not in a group or is a guest. - customer_id: - type: integer - title: Customer Details - description: The details of the Customer that has made the purchase. - x-internal: false - ZoneOptionsInstance: - type: object - description: 'Optional, any zone specific request options declared by the carrier and configued by the merchant to retrieve rates' - title: Zone Options Instance - x-internal: false - ConnectionOptionsInstance: - type: object - description: 'Optional, any global request options declared by the carrier and configued by the merchant to retrieve rates' - title: Connection Options Instance - x-internal: false - RateOptionsInstance: - description: 'Optional, any checkout specific request options to retrieve rates' - type: array - items: +servers: + - url: https://your_app.example.com +components: + schemas: + RateRequestPayload: type: object + title: Rate Request Payload + description: Payload sent off to a Shipping Provider in order to get quotes. properties: - key: - type: string - value: - type: string + base_options: + $ref: "#/components/schemas/BaseOptions" + zone_options: + type: object + description: Optional, any zone specific request options declared by the carrier + and configued by the merchant to retrieve rates + title: Zone Options Instance + connection_options: + type: object + description: Optional, any global request options declared by the carrier and + configued by the merchant to retrieve rates + title: Connection Options Instance required: - - key - - value - title: Key Value Pair - title: Rate Options Instance - x-internal: false - CustomerGroup: - type: object - properties: - customer_group_id: - type: integer - customer_group_name: - type: string - title: Customer Group - description: The Group (if any) that this customer is in. This will be default to zero if the customer is not in a group or is a guest. - x-internal: false - KeyValuePair: - type: object - properties: - key: - type: string - value: - type: string - required: - - key - - value - title: Key Value Pair - x-internal: false - RateResponsePayload: - type: object - properties: - quote_id: - type: string - maxLength: 50 - messages: - type: array - items: + - base_options + x-internal: false + BaseOptionsSchema: + type: object + title: Base Options + description: Payload sent off to a Shipping Provider in order to get quotes. + properties: + base_options: + description: The minimum required payload that is sent to retrieve rates type: object - properties: - text: - type: string - minLength: 1 - maxLength: 500 - type: - type: string - enum: - - INFO - - WARNING - - ERROR + title: Base Rate Request required: - - text - - type - title: Message - description: A simple string/type response for returning information. - carrier_quotes: - type: array - items: - type: object - description: A grouping of carrier rates and optionally info about that carrier + - origin + - destination + - items + - store_id properties: - carrier_info: + origin: type: object + title: Shipping Address + description: Object representing a destination or origin address for items. + required: + - zip + - country_iso2 properties: - code: + street_1: + type: string + maxLength: 255 + street_2: + type: string + maxLength: 255 + zip: + type: string + maxLength: 20 + example: "94105" + city: type: string maxLength: 50 - display_name: + example: San Francisco + state_iso2: + type: string + description: State in ISO_3166 2 format + maxLength: 2 + country_iso2: + type: string + description: Country in ISO_3166 2 format + maxLength: 2 + example: US + address_type: + description: Optional, defaults to residential type: string - minLength: 1 - maxLength: 100 + enum: + - RESIDENTIAL + - COMMERCIAL + destination: + type: object + title: Shipping Address + description: Object representing a destination or origin address for items. required: - - code - - display_name - quotes: + - zip + - country_iso2 + properties: + street_1: + type: string + maxLength: 255 + street_2: + type: string + maxLength: 255 + zip: + type: string + maxLength: 20 + example: "94105" + city: + type: string + maxLength: 50 + example: San Francisco + state_iso2: + type: string + description: State in ISO_3166 2 format + maxLength: 2 + country_iso2: + type: string + description: Country in ISO_3166 2 format + maxLength: 2 + example: US + address_type: + description: Optional, defaults to residential + type: string + enum: + - RESIDENTIAL + - COMMERCIAL + items: type: array items: type: object + description: A cart item along with it's shipping specific attributes + title: Rate Request Item properties: - code: - description: A code describing the service + sku: type: string - maxLength: 50 - example: GND - display_name: - description: A display name for the service + description: The variant SKU + variant_id: type: string - maxLength: 100 - cost: + product_id: + type: string + name: + type: string + length: + description: Value object for a length measurement + type: object + title: Dimension Value + properties: + units: + type: string + enum: + - cm + - in + value: + type: number + minimum: 0 + required: + - units + - value + width: + description: Value object for a length measurement + type: object + title: Dimension Value + properties: + units: + type: string + enum: + - cm + - in + value: + type: number + minimum: 0 + required: + - units + - value + height: + description: Value object for a length measurement + type: object + title: Dimension Value + properties: + units: + type: string + enum: + - cm + - in + value: + type: number + minimum: 0 + required: + - units + - value + weight: + description: Value object for a weight measurement + type: object + title: Weight Value + properties: + units: + type: string + enum: + - oz + - g + value: + type: number + minimum: 0 + required: + - units + - value + discounted_price: description: Value object for a money amount type: object + title: Money Value properties: currency: type: string - pattern: '^[A-Z]{3,3}$' + pattern: ^[A-Z]{3,3}$ amount: type: number minimum: 0 required: - currency - amount - title: Money Value - messages: - type: array - items: - type: object - properties: - text: - type: string - minLength: 1 - maxLength: 500 - type: - type: string - enum: - - INFO - - WARNING - - ERROR - required: - - text - - type - title: Message - description: A simple string/type response for returning information. - description: - type: string - maxLength: 500 - rate_id: - type: string - maxLength: 50 - discounted_cost: + declared_value: description: Value object for a money amount type: object + title: Money Value properties: currency: type: string - pattern: '^[A-Z]{3,3}$' + pattern: ^[A-Z]{3,3}$ amount: type: number minimum: 0 required: - currency - amount - title: Money Value - dispatch_date: - type: string - format: date - transit_time: + quantity: + type: number + format: int32 + attributes: + description: A list of arbitrary properties stored as part of the + product or product variant meta fields. These consist of + public fields specific to the carrier integration. + type: array + items: + type: object + title: Attribute Value + properties: + key: + type: string + description: The key associated with the meta field + value: + type: string + description: The value associated with the meta field + namespace: + type: string + description: The namespace associated with + product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) + or product variant + (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) + meta fields. The meta field namespace should be + saved under this format + `shipping_carrier_{yourCarrierId}` otherwise it will + not be recognized as an attribute. + resource_type: + type: string + enum: + - product + - variant + description: Resource type associated with the meta field. + Currently the only values available are 'product' or + 'variant' + resource_id: + type: string + description: The resource id of the meta field + attribute_type: + type: string + enum: + - metafield + description: Attribute type associated with the product or + product variant meta field. Currently the only value + for this is 'metafield' + customer: + type: object + title: Customer Details + description: The details of the Customer that has made the purchase. + properties: + customer_groups: + type: array + items: type: object + title: Customer Group + description: The Group (if any) that this customer is in. This will be + default to zero if the customer is not in a group or is a + guest. properties: - units: - type: string - enum: - - BUSINESS_DAYS - - DAYS - - HOURS - duration: + customer_group_id: type: integer - minimum: 1 - maximum: 90 - title: Transit Time Object - description: Value object for the length of time in transit - required: - - code - - display_name - - cost - title: Rate Quote Object - description: A quote being returned as part of the rate request. - required: - - quotes - title: Carrier Quote Object - required: - - quote_id - - messages - - carrier_quotes - title: Rate Response Payload - description: 'The response from the Shipping Service, will contain zero to many quotes.' - x-internal: false - CarrierQuoteObject: - type: object - description: A grouping of carrier rates and optionally info about that carrier - properties: - carrier_info: - type: object + customer_group_name: + type: string + customer_id: + type: integer + cart_id: + type: string + store_id: + type: string + request_context: + type: object + title: Request Context + description: A collection of Reference Value objects. + properties: + reference_values: + type: array + items: + type: object + title: Reference Value + description: Value objects contained within the request context + properties: + name: + type: string + value: + type: string + zone_options: + type: object + description: Optional, any zone specific request options declared by the carrier + and configued by the merchant to retrieve rates + title: Zone Options Instance + connection_options: + type: object + description: Optional, any global request options declared by the carrier and + configued by the merchant to retrieve rates + title: Connection Options Instance + required: + - base_options + x-internal: false + CustomerDetails: + type: object + properties: + customer_groups: + type: array + items: + type: object + properties: + customer_group_id: + type: integer + customer_group_name: + type: string + title: Customer Group + description: The Group (if any) that this customer is in. This will be default + to zero if the customer is not in a group or is a guest. + customer_id: + type: integer + title: Customer Details + description: The details of the Customer that has made the purchase. + x-internal: false + ZoneOptionsInstance: + type: object + description: Optional, any zone specific request options declared by the carrier and + configued by the merchant to retrieve rates + title: Zone Options Instance + x-internal: false + ConnectionOptionsInstance: + type: object + description: Optional, any global request options declared by the carrier and + configued by the merchant to retrieve rates + title: Connection Options Instance + x-internal: false + RateOptionsInstance: + description: Optional, any checkout specific request options to retrieve rates + type: array + items: + type: object properties: - code: + key: type: string - maxLength: 50 - display_name: + value: type: string - minLength: 1 - maxLength: 100 required: - - code - - display_name - quotes: - type: array - items: + - key + - value + title: Key Value Pair + title: Rate Options Instance + x-internal: false + CustomerGroup: + type: object + properties: + customer_group_id: + type: integer + customer_group_name: + type: string + title: Customer Group + description: The Group (if any) that this customer is in. This will be default to + zero if the customer is not in a group or is a guest. + x-internal: false + KeyValuePair: + type: object + properties: + key: + type: string + value: + type: string + required: + - key + - value + title: Key Value Pair + x-internal: false + RateResponsePayload: + type: object + properties: + quote_id: + type: string + maxLength: 50 + messages: + type: array + items: + type: object + properties: + text: + type: string + minLength: 1 + maxLength: 500 + type: + type: string + enum: + - INFO + - WARNING + - ERROR + required: + - text + - type + title: Message + description: A simple string/type response for returning information. + carrier_quotes: + type: array + items: + type: object + description: A grouping of carrier rates and optionally info about that carrier + properties: + carrier_info: + type: object + properties: + code: + type: string + maxLength: 50 + display_name: + type: string + minLength: 1 + maxLength: 100 + required: + - code + - display_name + quotes: + type: array + items: + type: object + properties: + code: + description: A code describing the service + type: string + maxLength: 50 + example: GND + display_name: + description: A display name for the service + type: string + maxLength: 100 + cost: + description: Value object for a money amount + type: object + properties: + currency: + type: string + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + messages: + type: array + items: + type: object + properties: + text: + type: string + minLength: 1 + maxLength: 500 + type: + type: string + enum: + - INFO + - WARNING + - ERROR + required: + - text + - type + title: Message + description: A simple string/type response for returning + information. + description: + type: string + maxLength: 500 + rate_id: + type: string + maxLength: 50 + discounted_cost: + description: Value object for a money amount + type: object + properties: + currency: + type: string + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + dispatch_date: + type: string + format: date + transit_time: + type: object + properties: + units: + type: string + enum: + - BUSINESS_DAYS + - DAYS + - HOURS + duration: + type: integer + minimum: 1 + maximum: 90 + title: Transit Time Object + description: Value object for the length of time in transit + required: + - code + - display_name + - cost + title: Rate Quote Object + description: A quote being returned as part of the rate request. + required: + - quotes + title: Carrier Quote Object + required: + - quote_id + - messages + - carrier_quotes + title: Rate Response Payload + description: The response from the Shipping Service, will contain zero to many quotes. + x-internal: false + CarrierQuoteObject: + type: object + description: A grouping of carrier rates and optionally info about that carrier + properties: + carrier_info: type: object properties: code: - description: A code describing the service type: string maxLength: 50 - example: GND display_name: - description: A display name for the service type: string + minLength: 1 maxLength: 100 - cost: - description: Value object for a money amount - type: object - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - title: Money Value - messages: - type: array - items: + required: + - code + - display_name + quotes: + type: array + items: + type: object + properties: + code: + description: A code describing the service + type: string + maxLength: 50 + example: GND + display_name: + description: A display name for the service + type: string + maxLength: 100 + cost: + description: Value object for a money amount type: object properties: - text: + currency: type: string - minLength: 1 - maxLength: 500 - type: + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + messages: + type: array + items: + type: object + properties: + text: + type: string + minLength: 1 + maxLength: 500 + type: + type: string + enum: + - INFO + - WARNING + - ERROR + required: + - text + - type + title: Message + description: A simple string/type response for returning information. + description: + type: string + maxLength: 500 + rate_id: + type: string + maxLength: 50 + discounted_cost: + description: Value object for a money amount + type: object + properties: + currency: type: string - enum: - - INFO - - WARNING - - ERROR + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 required: - - text - - type - title: Message - description: A simple string/type response for returning information. - description: - type: string - maxLength: 500 - rate_id: - type: string - maxLength: 50 - discounted_cost: - description: Value object for a money amount - type: object - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - title: Money Value - dispatch_date: + - currency + - amount + title: Money Value + dispatch_date: + type: string + format: date + transit_time: + type: object + properties: + units: + type: string + enum: + - BUSINESS_DAYS + - DAYS + - HOURS + duration: + type: integer + minimum: 1 + maximum: 90 + title: Transit Time Object + description: Value object for the length of time in transit + required: + - code + - display_name + - cost + title: Rate Quote Object + description: A quote being returned as part of the rate request. + required: + - quotes + title: Carrier Quote Object + x-internal: false + RateRequestItem: + type: object + description: A cart item along with it's shipping specific attributes + properties: + sku: + type: string + description: The variant SKU + variant_id: + type: string + product_id: + type: string + name: + type: string + length: + description: Value object for a length measurement + type: object + properties: + units: type: string - format: date - transit_time: - type: object - properties: - units: - type: string - enum: - - BUSINESS_DAYS - - DAYS - - HOURS - duration: - type: integer - minimum: 1 - maximum: 90 - title: Transit Time Object - description: Value object for the length of time in transit + enum: + - cm + - in + value: + type: number + minimum: 0 required: - - code - - display_name - - cost - title: Rate Quote Object - description: A quote being returned as part of the rate request. - required: - - quotes - title: Carrier Quote Object - x-internal: false - RateRequestItem: - type: object - description: A cart item along with it's shipping specific attributes - properties: - sku: - type: string - description: The variant SKU - variant_id: - type: string - product_id: - type: string - name: - type: string - length: - description: Value object for a length measurement - type: object - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - title: Dimension Value - width: - description: Value object for a length measurement - type: object - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - title: Dimension Value - height: - description: Value object for a length measurement - type: object - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - title: Dimension Value - weight: - description: Value object for a weight measurement - type: object - properties: - units: - type: string - enum: - - oz - - g - value: - type: number - minimum: 0 - required: - - units - - value - title: Weight Value - discounted_price: - description: Value object for a money amount - type: object - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - title: Money Value - declared_value: - description: Value object for a money amount - type: object - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - title: Money Value - quantity: - type: number - format: int32 - attributes: - type: array - description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of any public fields specific to the carrier integration. - items: + - units + - value + title: Dimension Value + width: + description: Value object for a length measurement type: object properties: - key: + units: type: string - description: The key associated with the product or product variant meta field + enum: + - cm + - in value: + type: number + minimum: 0 + required: + - units + - value + title: Dimension Value + height: + description: Value object for a length measurement + type: object + properties: + units: type: string - description: The value associated with the product or product variant meta field - namespace: - type: string - description: 'The namespace associated with product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or product variant (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved under this format `shipping_carrier_{yourCarrierId}` otherwise it will not be recognized as an attribute.' - resource_type: + enum: + - cm + - in + value: + type: number + minimum: 0 + required: + - units + - value + title: Dimension Value + weight: + description: Value object for a weight measurement + type: object + properties: + units: type: string enum: - - product - - variant - description: Resource type associated with the product or product variant meta field. Currently the only values available are 'product' or 'variant' - resource_id: + - oz + - g + value: + type: number + minimum: 0 + required: + - units + - value + title: Weight Value + discounted_price: + description: Value object for a money amount + type: object + properties: + currency: type: string - description: The resource id of the product or product variant meta field - attribute_type: + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + declared_value: + description: Value object for a money amount + type: object + properties: + currency: type: string - enum: - - metafield - description: Attribute type associated with the product or product variant meta field. Currently the only value for this is 'metafield' - title: Attribute Value - title: Rate Request Item - x-internal: false - RequestContext: - type: object - properties: - reference_values: - type: array - items: + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + quantity: + type: number + format: int32 + attributes: + type: array + description: A list of arbitrary properties stored as part of the product or + product variant meta fields. These consist of any public fields + specific to the carrier integration. + items: + type: object + properties: + key: + type: string + description: The key associated with the product or product variant meta + field + value: + type: string + description: The value associated with the product or product variant meta + field + namespace: + type: string + description: The namespace associated with + product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) + or product variant + (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) + meta fields. The meta field namespace should be saved under + this format `shipping_carrier_{yourCarrierId}` otherwise it + will not be recognized as an attribute. + resource_type: + type: string + enum: + - product + - variant + description: Resource type associated with the product or product variant + meta field. Currently the only values available are 'product' + or 'variant' + resource_id: + type: string + description: The resource id of the product or product variant meta field + attribute_type: + type: string + enum: + - metafield + description: Attribute type associated with the product or product variant + meta field. Currently the only value for this is 'metafield' + title: Attribute Value + title: Rate Request Item + x-internal: false + RequestContext: + type: object + properties: + reference_values: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + title: Reference Value + description: Value objects contained within the request context + title: Request Context + description: A collection of Reference Value objects. + x-internal: false + ReferenceValue: + type: object + properties: + name: + type: string + value: + type: string + title: Reference Value + description: Value objects contained within the request context + x-internal: false + Message: + type: object + properties: + text: + type: string + minLength: 1 + maxLength: 500 + type: + type: string + enum: + - INFO + - WARNING + - ERROR + required: + - text + - type + title: Message + description: A simple string/type response for returning information. + x-internal: false + RateQuoteObject: + type: object + properties: + code: + description: A code describing the service + type: string + maxLength: 50 + example: GND + display_name: + description: A display name for the service + type: string + maxLength: 100 + cost: + description: Value object for a money amount type: object properties: - name: + currency: type: string - value: + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + messages: + type: array + items: + type: object + properties: + text: + type: string + minLength: 1 + maxLength: 500 + type: + type: string + enum: + - INFO + - WARNING + - ERROR + required: + - text + - type + title: Message + description: A simple string/type response for returning information. + description: + type: string + maxLength: 500 + rate_id: + type: string + maxLength: 50 + discounted_cost: + description: Value object for a money amount + type: object + properties: + currency: + type: string + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + dispatch_date: + type: string + format: date + transit_time: + type: object + properties: + units: type: string - title: Reference Value - description: Value objects contained within the request context - title: Request Context - description: A collection of Reference Value objects. - x-internal: false - ReferenceValue: - type: object - properties: - name: - type: string - value: - type: string - title: Reference Value - description: Value objects contained within the request context - x-internal: false - Message: - type: object - properties: - text: - type: string - minLength: 1 - maxLength: 500 - type: - type: string - enum: - - INFO - - WARNING - - ERROR - required: - - text - - type - title: Message - description: A simple string/type response for returning information. - x-internal: false - RateQuoteObject: - type: object - properties: - code: - description: A code describing the service - type: string - maxLength: 50 - example: GND - display_name: - description: A display name for the service - type: string - maxLength: 100 - cost: - description: Value object for a money amount + enum: + - BUSINESS_DAYS + - DAYS + - HOURS + duration: + type: integer + minimum: 1 + maximum: 90 + title: Transit Time Object + description: Value object for the length of time in transit + required: + - code + - display_name + - cost + title: Rate Quote Object + description: A quote being returned as part of the rate request. + x-internal: false + TransitTimeObject: + type: object + properties: + units: + type: string + enum: + - BUSINESS_DAYS + - DAYS + - HOURS + duration: + type: integer + minimum: 1 + maximum: 90 + title: Transit Time Object + description: Value object for the length of time in transit + x-internal: false + AttributeValue: + description: Value object for an attribute. This represents a product or product + variant meta field. + type: object + properties: + key: + type: string + description: The key associated with the product or product variant meta field + value: + type: string + description: The value associated with the product or product variant meta field + namespace: + type: string + description: The namespace associated with + product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) + or product variant + (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) + meta fields. The meta field namespace should be saved under this + format `shipping_carrier_{yourCarrierId}` otherwise it will not be + recognized as an attribute. + resource_type: + type: string + description: Resource type associated with the product or product variant meta + field. Currently the only values available are 'product' or + 'variant' + enum: + - product + - variant + resource_id: + type: string + attribute_type: + type: string + description: Attribute type associated with the product or product variant meta + field. Currently the only value for this is 'metafield' + enum: + - metafield + title: Attribute Value + x-internal: false + MoneyValue: + description: Value object for a money amount + type: object + properties: + currency: + type: string + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + title: Money Value + x-internal: false + DimensionValue: + description: Value object for a length measurement + type: object + properties: + units: + type: string + enum: + - cm + - in + value: + type: number + minimum: 0 + required: + - units + - value + title: Dimension Value + x-internal: false + WeightValue: + description: Value object for a weight measurement + type: object + properties: + units: + type: string + enum: + - oz + - g + value: + type: number + minimum: 0 + required: + - units + - value + title: Weight Value + x-internal: false + RateOptionsSchema: + description: A set of carrier specific fields that will be displayed to shoppers at + checkout + type: array + items: + description: An individual carrier defined field to display at checkout, along with + any defaults and validation type: object properties: - currency: + code: + description: The internal code that represents this input field type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - title: Money Value - messages: - type: array - items: - type: object - properties: - text: - type: string - minLength: 1 - maxLength: 500 - type: - type: string - enum: - - INFO - - WARNING - - ERROR - required: - - text - - type - title: Message - description: A simple string/type response for returning information. - description: - type: string - maxLength: 500 - rate_id: - type: string - maxLength: 50 - discounted_cost: - description: Value object for a money amount - type: object - properties: - currency: + label: + description: Display name for this input field type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - title: Money Value - dispatch_date: - type: string - format: date - transit_time: - type: object - properties: - units: + description: + description: Longer description text to be displayed as a tooltip at checkout + type: string + validation: + description: Placeholder for any validation we choose to implement + type: string + type: + description: How this input will be displayed type: string enum: - - BUSINESS_DAYS - - DAYS - - HOURS - duration: - type: integer - minimum: 1 - maximum: 90 - title: Transit Time Object - description: Value object for the length of time in transit - required: - - code - - display_name - - cost - title: Rate Quote Object - description: A quote being returned as part of the rate request. - x-internal: false - TransitTimeObject: - type: object - properties: - units: - type: string - enum: - - BUSINESS_DAYS - - DAYS - - HOURS - duration: - type: integer - minimum: 1 - maximum: 90 - title: Transit Time Object - description: Value object for the length of time in transit - x-internal: false - AttributeValue: - description: Value object for an attribute. This represents a product or product variant meta field. - type: object - properties: - key: - type: string - description: The key associated with the product or product variant meta field - value: - type: string - description: The value associated with the product or product variant meta field - namespace: - type: string - description: 'The namespace associated with product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or product variant (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved under this format `shipping_carrier_{yourCarrierId}` otherwise it will not be recognized as an attribute.' - resource_type: - type: string - description: Resource type associated with the product or product variant meta field. Currently the only values available are 'product' or 'variant' - enum: - - product - - variant - resource_id: - type: string - attribute_type: - type: string - description: Attribute type associated with the product or product variant meta field. Currently the only value for this is 'metafield' - enum: - - metafield - title: Attribute Value - x-internal: false - MoneyValue: - description: Value object for a money amount - type: object - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - title: Money Value - x-internal: false - DimensionValue: - description: Value object for a length measurement - type: object - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - title: Dimension Value - x-internal: false - WeightValue: - description: Value object for a weight measurement - type: object - properties: - units: - type: string - enum: - - oz - - g - value: - type: number - minimum: 0 - required: - - units - - value - title: Weight Value - x-internal: false - RateOptionsSchema: - description: A set of carrier specific fields that will be displayed to shoppers at checkout - type: array - items: - description: 'An individual carrier defined field to display at checkout, along with any defaults and validation' + - date + - string + - select + - code + default_value: + description: A valid default value for this field + type: string + value_options: + description: For select type fields, the list of available options + type: array + items: + type: string + date_ranges: + description: For date type fields, a set of valid date ranges available to + choose from + type: array + items: + type: object + properties: + from: + type: object + properties: + date: + type: string + format: date + timezone: + type: string + title: Date Value + description: Value Object representing a Date + to: + type: object + properties: + date: + type: string + format: date + timezone: + type: string + title: Date Value + description: Value Object representing a Date + title: Date Range + description: Representation of a range of date objects + required: + - code + - label + - type + - default_value + title: Key Value Pair Schema + title: Rate Options Schema + x-internal: false + KeyValuePairSchema: + description: An individual carrier defined field to display at checkout, along with + any defaults and validation type: object properties: code: @@ -1414,12 +1566,13 @@ definitions: description: A valid default value for this field type: string value_options: - description: 'For select type fields, the list of available options' + description: For select type fields, the list of available options type: array items: type: string date_ranges: - description: 'For date type fields, a set of valid date ranges available to choose from' + description: For date type fields, a set of valid date ranges available to choose + from type: array items: type: object @@ -1452,454 +1605,403 @@ definitions: - type - default_value title: Key Value Pair Schema - title: Rate Options Schema - x-internal: false - KeyValuePairSchema: - description: 'An individual carrier defined field to display at checkout, along with any defaults and validation' - type: object - properties: - code: - description: The internal code that represents this input field - type: string - label: - description: Display name for this input field - type: string - description: - description: Longer description text to be displayed as a tooltip at checkout - type: string - validation: - description: Placeholder for any validation we choose to implement - type: string - type: - description: How this input will be displayed - type: string - enum: - - date - - string - - select - - code - default_value: - description: A valid default value for this field - type: string - value_options: - description: 'For select type fields, the list of available options' - type: array - items: + x-internal: false + ShippingAddress: + type: object + title: Shipping Address + description: Object representing a destination or origin address for items. + properties: + street_1: type: string - date_ranges: - description: 'For date type fields, a set of valid date ranges available to choose from' - type: array - items: + maxLength: 255 + street_2: + type: string + maxLength: 255 + zip: + type: string + maxLength: 20 + example: "94105" + city: + type: string + maxLength: 50 + example: San Francisco + state_iso2: + type: string + description: State in ISO_3166 2 format + maxLength: 2 + country_iso2: + type: string + description: Country in ISO_3166 2 format + maxLength: 2 + example: US + address_type: + description: Optional, defaults to residential + type: string + enum: + - RESIDENTIAL + - COMMERCIAL + required: + - zip + - country_iso2 + x-internal: false + CheckConnectionOptionsRequestPayload: + type: object + properties: + connection_options: + type: object + description: Optional, any global request options declared by the carrier and + configued by the merchant to retrieve rates + title: Connection Options Instance + required: + - connection_options + title: Check Connection Options Request Payload + description: >- + The payload sent to a Shipping Provider to check that the store is + connected to this provider. + + Each Shipping Provider will have different configurations for the payload. + x-internal: false + CheckConnectionOptionsResponsePayload: + type: object + properties: + valid: + type: boolean + description: Indicates whether or not the connection options are valid + messages: + type: array + items: + type: object + properties: + text: + type: string + minLength: 1 + maxLength: 500 + type: + type: string + enum: + - INFO + - WARNING + - ERROR + required: + - text + - type + title: Message + description: A simple string/type response for returning information. + title: Check Connection Options Response Payload + description: The response recieved back from the Shipping Provider connection check + this allows the store to understand if the connection was successful. + x-internal: false + DateRange: + type: object + properties: + from: type: object properties: - from: - type: object - properties: - date: - type: string - format: date - timezone: - type: string - title: Date Value - description: Value Object representing a Date - to: - type: object - properties: - date: - type: string - format: date - timezone: - type: string - title: Date Value - description: Value Object representing a Date - title: Date Range - description: Representation of a range of date objects - required: - - code - - label - - type - - default_value - title: Key Value Pair Schema - x-internal: false - ShippingAddress: - type: object - title: Shipping Address - description: Object representing a destination or origin address for items. - properties: - street_1: - type: string - maxLength: 255 - street_2: - type: string - maxLength: 255 - zip: - type: string - maxLength: 20 - example: '94105' - city: - type: string - maxLength: 50 - example: San Francisco - state_iso2: - type: string - description: State in ISO_3166 2 format - maxLength: 2 - country_iso2: - type: string - description: Country in ISO_3166 2 format - maxLength: 2 - example: US - address_type: - description: 'Optional, defaults to residential' - type: string - enum: - - RESIDENTIAL - - COMMERCIAL - required: - - zip - - country_iso2 - x-internal: false - CheckConnectionOptionsRequestPayload: - type: object - properties: - connection_options: - type: object - description: 'Optional, any global request options declared by the carrier and configued by the merchant to retrieve rates' - title: Connection Options Instance - required: - - connection_options - title: Check Connection Options Request Payload - description: |- - The payload sent to a Shipping Provider to check that the store is connected to this provider. - Each Shipping Provider will have different configurations for the payload. - x-internal: false - CheckConnectionOptionsResponsePayload: - type: object - properties: - valid: - type: boolean - description: Indicates whether or not the connection options are valid - messages: - type: array - items: + date: + type: string + format: date + timezone: + type: string + title: Date Value + description: Value Object representing a Date + to: type: object properties: - text: + date: type: string - minLength: 1 - maxLength: 500 - type: + format: date + timezone: type: string - enum: - - INFO - - WARNING - - ERROR + title: Date Value + description: Value Object representing a Date + title: Date Range + description: Representation of a range of date objects + x-internal: false + DateValue: + type: object + properties: + date: + type: string + format: date + timezone: + type: string + title: Date Value + description: Value Object representing a Date + x-internal: false + BaseOptions: + description: The minimum required payload that is sent to retrieve rates + type: object + title: Base Rate Request + required: + - origin + - destination + - items + - store_id + properties: + origin: + type: object + title: Shipping Address + description: Object representing a destination or origin address for items. required: - - text - - type - title: Message - description: A simple string/type response for returning information. - title: Check Connection Options Response Payload - description: The response recieved back from the Shipping Provider connection check this allows the store to understand if the connection was successful. - x-internal: false - DateRange: - type: object - properties: - from: - type: object - properties: - date: - type: string - format: date - timezone: - type: string - title: Date Value - description: Value Object representing a Date - to: - type: object - properties: - date: - type: string - format: date - timezone: - type: string - title: Date Value - description: Value Object representing a Date - title: Date Range - description: Representation of a range of date objects - x-internal: false - DateValue: - type: object - properties: - date: - type: string - format: date - timezone: - type: string - title: Date Value - description: Value Object representing a Date - x-internal: false - BaseOptions: - description: The minimum required payload that is sent to retrieve rates - type: object - title: Base Rate Request - required: - - origin - - destination - - items - - store_id - properties: - origin: - type: object - title: Shipping Address - description: Object representing a destination or origin address for items. - required: - - zip - - country_iso2 - properties: - street_1: - type: string - maxLength: 255 - street_2: - type: string - maxLength: 255 - zip: - type: string - maxLength: 20 - example: '94105' - city: - type: string - maxLength: 50 - example: San Francisco - state_iso2: - type: string - description: State in ISO_3166 2 format - maxLength: 2 - country_iso2: - type: string - description: Country in ISO_3166 2 format - maxLength: 2 - example: US - address_type: - description: 'Optional, defaults to residential' - type: string - enum: - - RESIDENTIAL - - COMMERCIAL - destination: - type: object - title: Shipping Address - description: Object representing a destination or origin address for items. - required: - - zip - - country_iso2 - properties: - street_1: - type: string - maxLength: 255 - street_2: - type: string - maxLength: 255 - zip: - type: string - maxLength: 20 - example: '94105' - city: - type: string - maxLength: 50 - example: San Francisco - state_iso2: - type: string - description: State in ISO_3166 2 format - maxLength: 2 - country_iso2: - type: string - description: Country in ISO_3166 2 format - maxLength: 2 - example: US - address_type: - description: 'Optional, defaults to residential' - type: string - enum: - - RESIDENTIAL - - COMMERCIAL - items: - type: array - items: + - zip + - country_iso2 + properties: + street_1: + type: string + maxLength: 255 + street_2: + type: string + maxLength: 255 + zip: + type: string + maxLength: 20 + example: "94105" + city: + type: string + maxLength: 50 + example: San Francisco + state_iso2: + type: string + description: State in ISO_3166 2 format + maxLength: 2 + country_iso2: + type: string + description: Country in ISO_3166 2 format + maxLength: 2 + example: US + address_type: + description: Optional, defaults to residential + type: string + enum: + - RESIDENTIAL + - COMMERCIAL + destination: type: object - description: A cart item along with it's shipping specific attributes - title: Rate Request Item + title: Shipping Address + description: Object representing a destination or origin address for items. + required: + - zip + - country_iso2 properties: - sku: + street_1: type: string - description: The variant SKU - variant_id: + maxLength: 255 + street_2: type: string - product_id: + maxLength: 255 + zip: type: string - name: + maxLength: 20 + example: "94105" + city: type: string - length: - description: Value object for a length measurement - type: object - title: Dimension Value - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - width: - description: Value object for a length measurement - type: object - title: Dimension Value - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - height: - description: Value object for a length measurement - type: object - title: Dimension Value - properties: - units: - type: string - enum: - - cm - - in - value: - type: number - minimum: 0 - required: - - units - - value - weight: - description: Value object for a weight measurement - type: object - title: Weight Value - properties: - units: - type: string - enum: - - oz - - g - value: - type: number - minimum: 0 - required: - - units - - value - discounted_price: - description: Value object for a money amount - type: object - title: Money Value - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - declared_value: - description: Value object for a money amount - type: object - title: Money Value - properties: - currency: - type: string - pattern: '^[A-Z]{3,3}$' - amount: - type: number - minimum: 0 - required: - - currency - - amount - quantity: - type: number - format: int32 - attributes: - description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of public fields specific to the carrier integration. - type: array - items: + maxLength: 50 + example: San Francisco + state_iso2: + type: string + description: State in ISO_3166 2 format + maxLength: 2 + country_iso2: + type: string + description: Country in ISO_3166 2 format + maxLength: 2 + example: US + address_type: + description: Optional, defaults to residential + type: string + enum: + - RESIDENTIAL + - COMMERCIAL + items: + type: array + items: + type: object + description: A cart item along with it's shipping specific attributes + title: Rate Request Item + properties: + sku: + type: string + description: The variant SKU + variant_id: + type: string + product_id: + type: string + name: + type: string + length: + description: Value object for a length measurement type: object - title: Attribute Value + title: Dimension Value properties: - key: + units: type: string - description: The key associated with the meta field + enum: + - cm + - in value: + type: number + minimum: 0 + required: + - units + - value + width: + description: Value object for a length measurement + type: object + title: Dimension Value + properties: + units: type: string - description: The value associated with the meta field - namespace: + enum: + - cm + - in + value: + type: number + minimum: 0 + required: + - units + - value + height: + description: Value object for a length measurement + type: object + title: Dimension Value + properties: + units: type: string - description: 'The namespace associated with product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or product variant (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved under this format `shipping_carrier_{yourCarrierId}` otherwise it will not be recognized as an attribute.' - resource_type: + enum: + - cm + - in + value: + type: number + minimum: 0 + required: + - units + - value + weight: + description: Value object for a weight measurement + type: object + title: Weight Value + properties: + units: type: string enum: - - product - - variant - description: Resource type associated with the meta field. Currently the only values available are 'product' or 'variant' - resource_id: + - oz + - g + value: + type: number + minimum: 0 + required: + - units + - value + discounted_price: + description: Value object for a money amount + type: object + title: Money Value + properties: + currency: type: string - description: The resource id of the meta field - attribute_type: + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + declared_value: + description: Value object for a money amount + type: object + title: Money Value + properties: + currency: type: string - enum: - - metafield - description: Attribute type associated with the product or product variant meta field. Currently the only value for this is 'metafield' - customer: - type: object - title: Customer Details - description: The details of the Customer that has made the purchase. - properties: - customer_groups: - type: array - items: - type: object - title: Customer Group - description: The Group (if any) that this customer is in. This will be default to zero if the customer is not in a group or is a guest. - properties: - customer_group_id: - type: integer - customer_group_name: - type: string - customer_id: - type: integer - cart_id: - type: string - store_id: - type: string - request_context: - type: object - title: Request Context - description: A collection of Reference Value objects. - properties: - reference_values: - type: array - items: - type: object - title: Reference Value - description: Value objects contained within the request context - properties: - name: - type: string - value: - type: string - x-internal: false + pattern: ^[A-Z]{3,3}$ + amount: + type: number + minimum: 0 + required: + - currency + - amount + quantity: + type: number + format: int32 + attributes: + description: A list of arbitrary properties stored as part of the product + or product variant meta fields. These consist of public fields + specific to the carrier integration. + type: array + items: + type: object + title: Attribute Value + properties: + key: + type: string + description: The key associated with the meta field + value: + type: string + description: The value associated with the meta field + namespace: + type: string + description: The namespace associated with + product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) + or product variant + (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) + meta fields. The meta field namespace should be saved + under this format `shipping_carrier_{yourCarrierId}` + otherwise it will not be recognized as an attribute. + resource_type: + type: string + enum: + - product + - variant + description: Resource type associated with the meta field. Currently + the only values available are 'product' or 'variant' + resource_id: + type: string + description: The resource id of the meta field + attribute_type: + type: string + enum: + - metafield + description: Attribute type associated with the product or product + variant meta field. Currently the only value for this is + 'metafield' + customer: + type: object + title: Customer Details + description: The details of the Customer that has made the purchase. + properties: + customer_groups: + type: array + items: + type: object + title: Customer Group + description: The Group (if any) that this customer is in. This will be + default to zero if the customer is not in a group or is a + guest. + properties: + customer_group_id: + type: integer + customer_group_name: + type: string + customer_id: + type: integer + cart_id: + type: string + store_id: + type: string + request_context: + type: object + title: Request Context + description: A collection of Reference Value objects. + properties: + reference_values: + type: array + items: + type: object + title: Reference Value + description: Value objects contained within the request context + properties: + name: + type: string + value: + type: string + x-internal: false \ No newline at end of file diff --git a/reference/store_content.v2.yml b/reference/store_content.v2.yml index bd98157aa..d2dbde9e3 100644 --- a/reference/store_content.v2.yml +++ b/reference/store_content.v2.yml @@ -1,6 +1,5 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Content description: |- Manage blog posts, blog tags, content pages, and redirects. @@ -8,191 +7,169 @@ info: <!-- theme: warning --> > #### Note > * Redirects V2 are deprecated; use [V3 Redirects](/api-reference/storefront/redirects/redirects/getredirects) instead. -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json + version: '' +servers: + - url: 'https://api.bigcommerce.com' +security: + - X-Auth-Token: [] +tags: + - name: Blog Posts + - name: Blog Tags + - name: Pages + - name: Redirects paths: '/stores/{store_hash}/v2/blog/tags': get: - responses: - '200': - description: '' - schema: - type: array - items: - $ref: '#/definitions/blogTags' - examples: - application/json: - - tag: Blog - post_ids: - - 1 - - tag: cupcakes - post_ids: - - 2 - parameters: - - in: header - name: Accept - type: string - required: true - default: application/json - - in: header - name: Content-Type - type: string - required: true - default: application/json - summary: Get All Blog Tags tags: - Blog Tags + summary: Get All Blog Tags description: Returns a list of *Blog Tags*. operationId: getAllBlogTags - parameters: - - type: string - name: store_hash - in: path - required: true + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/blogTags' '/stores/{store_hash}/v2/blog/posts': get: - description: 'Returns all *Blog Posts*. Default sorting is by published_date, beginning with the most recent post.' + tags: + - Blog Posts summary: Get All Blog Posts + description: 'Returns all *Blog Posts*. Default sorting is by published_date, beginning with the most recent post.' + operationId: getAllBlogPosts parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string - name: is_published in: query - required: false - type: string description: Filter param. + schema: + type: string - name: url in: query - required: false - type: string description: Filter param. Value must be URL encoded. + schema: + type: string - name: tag in: query - required: false - type: string description: Filter param. + schema: + type: string - name: published_date in: query - required: false - type: string description: Filter param. - format: date-time + schema: + type: string + format: date-time - name: page in: query - required: false - type: number - exclusiveMinimum: false description: Filter param. - maximum: 50 + schema: + maximum: 50 + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Filter param. - maximum: 250 + schema: + maximum: 250 + exclusiveMaximum: false + exclusiveMinimum: false + type: number responses: '200': description: '' - schema: - type: array - items: - $ref: '#/definitions/blogPost_Full' - examples: + content: application/json: - - id: 3 - title: Hello Again - url: /blog/hello-again/ - preview_url: /blog/hello-again/ - body: <p>Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.</p><p>Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.</p><p>Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.</p> - tags: - - sugar - - sweet - - spice - - everything - - nice - summary: 'Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar [...]' - is_published: true - published_date: - date: '2018-05-18 08:26:42.000000' - timezone_type: 1 - timezone: '+00:00' - published_date_iso8601: '2018-05-18T13:26:42+0000' - meta_description: Cupcakes post 2 - meta_keywords: 'sugar,sweet,spice,everything,nice' - author: '' - thumbnail_path: '' - - id: 2 - title: Hello - url: /blog/hello/ - preview_url: /blog/hello/ - body: <p>Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.</p><p>Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.</p><p>Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.</p> - tags: - - cupcakes - - sugar - - sweet - summary: 'Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar [...]' - is_published: true - published_date: - date: '2018-05-18 08:26:00.000000' - timezone_type: 1 - timezone: '+00:00' - published_date_iso8601: '2018-05-18T13:26:00+0000' - meta_description: cupcake blog post - meta_keywords: 'cupcakes,sugar,sweet' - author: '' - thumbnail_path: '' - - id: 1 - title: Your first blog post! - url: /your-first-blog-post/ - preview_url: /your-first-blog-post/ - body: '<p> <strong>Welcome to your blog!</strong><br> A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look at the Bigcommerce <a href=''http://blog.bigcommerce.com/'' target=''_blank'' rel=''nofollow''>ecommerce blog</a>.</p><p><strong>How can I delete this post?</strong><br>To delete this post and add your own, login to your <a href=''/admin'' target=''_blank''>admin area</a> and go to Storefront > Blog in the left hand menu.</p><p><strong>Powered by Bigcommerce</strong><br>Your website, online store and blog are powered by Bigcommerce <a href=''http://www.bigcommerce.com/'' target=''_blank'' rel=''nofollow''>ecommerce software</a>. It includes everything you need to run a beautiful online store including <a href=''http://www.bigcommerce.com/templates/'' target=''_blank'' rel=''nofollow''>ecommerce website templates</a>, <a href=''http://www.bigcommerce.com/features/hosting/'' target=''_blank'' rel=''nofollow''>ecommerce hosting</a>, an <a href=''http://www.bigcommerce.com/features/setup/'' target=''_blank'' rel=''nofollow''>online shopping cart</a> and more.</p>' - tags: - - Blog - - SEO - summary: ' Welcome to your blog! A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look [...]' - is_published: true - published_date: - date: '2014-02-15 14:46:34.000000' - timezone_type: 1 - timezone: '+00:00' - published_date_iso8601: '2014-02-15T19:46:34+0000' - meta_description: '' - meta_keywords: 'Blog,SEO' - author: '' - thumbnail_path: '' + schema: + type: array + items: + $ref: '#/components/schemas/blogPost_Full' + example: + - id: 3 + title: Hello Again + url: /blog/hello-again/ + preview_url: /blog/hello-again/ + body: <p>Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.</p><p>Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.</p><p>Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.</p> + tags: + - sugar + - sweet + - spice + - everything + - nice + summary: 'Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar [...]' + is_published: true + published_date: + date: '2018-05-18 08:26:42.000000' + timezone_type: 1 + timezone: '+00:00' + published_date_iso8601: '2018-05-18T13:26:42+0000' + meta_description: Cupcakes post 2 + meta_keywords: 'sugar,sweet,spice,everything,nice' + author: '' + thumbnail_path: '' + - id: 2 + title: Hello + url: /blog/hello/ + preview_url: /blog/hello/ + body: <p>Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.</p><p>Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.</p><p>Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.</p> + tags: + - cupcakes + - sugar + - sweet + summary: 'Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar [...]' + is_published: true + published_date: + date: '2018-05-18 08:26:00.000000' + timezone_type: 1 + timezone: '+00:00' + published_date_iso8601: '2018-05-18T13:26:00+0000' + meta_description: cupcake blog post + meta_keywords: 'cupcakes,sugar,sweet' + author: '' + thumbnail_path: '' + - id: 1 + title: Your first blog post! + url: /your-first-blog-post/ + preview_url: /your-first-blog-post/ + body: '<p> <strong>Welcome to your blog!</strong><br> A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look at the Bigcommerce <a href=''http://blog.bigcommerce.com/'' target=''_blank'' rel=''nofollow''>ecommerce blog</a>.</p><p><strong>How can I delete this post?</strong><br>To delete this post and add your own, login to your <a href=''/admin'' target=''_blank''>admin area</a> and go to Storefront > Blog in the left hand menu.</p><p><strong>Powered by Bigcommerce</strong><br>Your website, online store and blog are powered by Bigcommerce <a href=''http://www.bigcommerce.com/'' target=''_blank'' rel=''nofollow''>ecommerce software</a>. It includes everything you need to run a beautiful online store including <a href=''http://www.bigcommerce.com/templates/'' target=''_blank'' rel=''nofollow''>ecommerce website templates</a>, <a href=''http://www.bigcommerce.com/features/hosting/'' target=''_blank'' rel=''nofollow''>ecommerce hosting</a>, an <a href=''http://www.bigcommerce.com/features/setup/'' target=''_blank'' rel=''nofollow''>online shopping cart</a> and more.</p>' + tags: + - Blog + - SEO + summary: ' Welcome to your blog! A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look [...]' + is_published: true + published_date: + date: '2014-02-15 14:46:34.000000' + timezone_type: 1 + timezone: '+00:00' + published_date_iso8601: '2014-02-15T19:46:34+0000' + meta_description: '' + meta_keywords: 'Blog,SEO' + author: '' + thumbnail_path: '' + post: tags: - Blog Posts - operationId: getAllBlogPosts - post: + summary: Create a Blog Post description: |- Creates a *Blog Post*. **Required Fields** - * title - * body - - **Read Only Fields** - * id - * preview_url - * summary + * `title` + * `body` **Notes** @@ -200,381 +177,309 @@ paths: * Blog posts default to draft status. To publish blog posts to the storefront, set the `is_published` property to `true`. * If a custom URL is not provided, the post’s URL will be generated based on the value of `title`. - summary: Create a Blog Post + operationId: createABlogPosts parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header - required: true - type: string - description: '' - default: application/json - - name: body - in: body + - name: store_hash + in: path required: true - description: '' schema: - $ref: '#/definitions/blogPost_Base' - x-examples: - application/json: - title: A Sample Blog Post - body: <p>This is a blog post.</p> - author: Author Name - thumbnail_path: sample-post.jpg - is_published: true - published_date: 'Fri, 6 Sep 2019 12:55:31 +0000' - tags: - - Blog - - Example + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/blogPost_Base_Post' + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/blogPost_Base' - examples: + content: application/json: - id: 3 - title: Welcome to BigCommerce - url: /blog/welcome-bigcommerce/ - preview_url: /blog/welcome-bigcommerce/ - body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' - tags: - - BigCommerce - - welcome - - ecommerce - summary: <p>We power ecommerce websites for successful retailers all over the world</p> - is_published: true - published_date: - date: '2018-05-18T08:26:42.000Z' - timezone_type: 1 - timezone: '+00:00' - published_date_iso8601: '2018-05-18T13:26:42.000Z' - meta_description: Welcome Post - meta_keywords: 'BigCommerce, welcome, ecommerce' - author: BigCommerce - thumbnail_path: '' + schema: + $ref: '#/components/schemas/blogPost_Base_Res' + example: + id: 3 + title: Welcome to BigCommerce + url: /blog/welcome-bigcommerce/ + preview_url: /blog/welcome-bigcommerce/ + body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + - BigCommerce + - welcome + - ecommerce + summary: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: true + published_date: + date: '2018-05-18T08:26:42.000Z' + timezone_type: 1 + timezone: '+00:00' + published_date_iso8601: '2018-05-18T13:26:42.000Z' + meta_description: Welcome Post + meta_keywords: 'BigCommerce, welcome, ecommerce' + author: BigCommerce + thumbnail_path: '' '207': description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - schema: - type: object - properties: {} + content: + application/json: + schema: + type: object + delete: tags: - Blog Posts - operationId: createABlogPosts - delete: - description: Deletes a page of `Blog Posts`. summary: Delete Blog Posts + description: Deletes a page of `Blog Posts`. + operationId: deleteAllBlogPosts parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Filter param. - maximum: 250 + schema: + maximum: 250 + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Filter param. - maximum: 50 + schema: + maximum: 50 + exclusiveMaximum: false + exclusiveMinimum: false + type: number responses: '204': description: '' - tags: - - Blog Posts - operationId: deleteAllBlogPosts - parameters: - - type: string - name: store_hash - in: path - required: true + content: {} '/stores/{store_hash}/v2/blog/posts/{id}': get: - description: Returns a single *Blog Post*. - summary: Get a Blog Post tags: - Blog Posts + summary: Get a Blog Post + description: Returns a single *Blog Post*. + operationId: getABlogPost parameters: - - name: id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: id + in: path description: Id of the blog post. - - name: Accept - in: header - required: true - type: string - description: '' - - name: Content-Type - in: header required: true - type: string - description: '' + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer responses: '200': description: '' - schema: - $ref: '#/definitions/blogPost_Full' - examples: + content: application/json: - id: 3 - title: Welcome to BigCommerce - url: /blog/welcome-bigcommerce/ - preview_url: /blog/welcome-bigcommerce/ - body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' - tags: - - BigCommerce - - welcome - - ecommerce - summary: <p>We power ecommerce websites for successful retailers all over the world</p> - is_published: true - published_date: - date: '2018-05-18T08:26:42.000Z' - timezone_type: 1 - timezone: '+00:00' - published_date_iso8601: '2018-05-18T13:26:42.000Z' - meta_description: Welcome Post - meta_keywords: 'BigCommerce, welcome, ecommerce' - author: BigCommerce - thumbnail_path: '' - operationId: getABlogPost + schema: + $ref: '#/components/schemas/blogPost_Full' + example: + id: 3 + title: Welcome to BigCommerce + url: /blog/welcome-bigcommerce/ + preview_url: /blog/welcome-bigcommerce/ + body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + - BigCommerce + - welcome + - ecommerce + summary: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: true + published_date: + date: '2018-05-18T08:26:42.000Z' + timezone_type: 1 + timezone: '+00:00' + published_date_iso8601: '2018-05-18T13:26:42.000Z' + meta_description: Welcome Post + meta_keywords: 'BigCommerce, welcome, ecommerce' + author: BigCommerce + thumbnail_path: '' put: + tags: + - Blog Posts + summary: Update a Blog Post description: |- Updates a *Blog Post*. - **Read Only Fields** - * id - * preview_url - **Notes** * When including `published_date` in a request, supply it as a flat date string (not an object) in valid <a href="http://tools.ietf.org/html/rfc2822#section-3.3" target="_blank">RFC 2822</a>. The example request below includes a `published_date` in RFC 2822 format. * Blog posts default to draft status. To publish blog posts to the storefront, set the `is_published` property to `true`. - summary: Update a Blog Post - tags: - - Blog Posts + operationId: updateABlogPost parameters: - - name: id + - name: store_hash in: path required: true - type: integer + schema: + type: string + - name: id + in: path description: Id of the blog post. - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header required: true - type: string - description: '' - default: application/json - - name: body - in: body - required: true - description: '' schema: - $ref: '#/definitions/blogPost_Base' - x-examples: - application/json: - title: 'New: A Sample Blog Post' - url: /blog/sample-post - published_date: 'Sun, 01 Jan 2017 15:33:33 +0400' + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/blogPost_Base_Post' + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/blogPost_Base' - examples: + content: application/json: - id: 3 - title: Welcome to BigCommerce - url: /blog/welcome-bigcommerce/ - preview_url: /blog/welcome-bigcommerce/ - body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' - tags: - - BigCommerce - - welcome - - ecommerce - summary: <p>We power ecommerce websites for successful retailers all over the world</p> - is_published: true - published_date: - date: '2018-05-18T08:26:42.000Z' - timezone_type: 1 - timezone: '+00:00' - published_date_iso8601: '2018-05-18T13:26:42.000Z' - meta_description: Welcome Post - meta_keywords: 'BigCommerce, welcome, ecommerce' - author: BigCommerce - thumbnail_path: '' + schema: + $ref: '#/components/schemas/blogPost_Base_Res' + example: + id: 3 + title: Welcome to BigCommerce + url: /blog/welcome-bigcommerce/ + preview_url: /blog/welcome-bigcommerce/ + body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + - BigCommerce + - welcome + - ecommerce + summary: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: true + published_date: + date: '2018-05-18T08:26:42.000Z' + timezone_type: 1 + timezone: '+00:00' + published_date_iso8601: '2018-05-18T13:26:42.000Z' + meta_description: Welcome Post + meta_keywords: 'BigCommerce, welcome, ecommerce' + author: BigCommerce + thumbnail_path: '' '207': description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - schema: - type: object - properties: {} - operationId: updateABlogPost + content: + application/json: + schema: + type: object + x-codegen-request-body-name: body delete: - description: Deletes a *Blog Post*. + tags: + - Blog Posts summary: Delete a Blog Post + description: Deletes a *Blog Post*. + operationId: deleteABlogPost parameters: - - name: id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: id + in: path description: Id of the blog post. - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header required: true - type: string - description: '' - default: application/json + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer responses: '204': description: '' - tags: - - Blog Posts - operationId: deleteABlogPost - parameters: - - name: id - in: path - type: string - required: true - - type: string - name: store_hash - in: path - required: true + content: {} '/stores/{store_hash}/v2/blog/posts/count': get: - description: Returns a count of all *Blog Posts*. + tags: + - Blog Posts summary: Get A Count of All Blog Posts + description: Returns a count of all *Blog Posts*. + operationId: getACountOfAllBlogPosts parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string responses: '200': description: '' - schema: - $ref: '#/definitions/count_Response' - examples: + content: application/json: - count: 27 - tags: - - Blog Posts - operationId: getACountOfAllBlogPosts - parameters: - - type: string - name: store_hash - in: path - required: true + schema: + $ref: '#/components/schemas/count_Response' + example: + count: 27 '/stores/{store_hash}/v2/pages': get: - description: 'Returns a list of *Pages*. Default sorting is by auto-generated ID from oldests to newest. This endpoint is deprecated. ' - summary: Get All Pages tags: - Pages + summary: Get All Pages + description: 'Returns a list of *Pages*. Default sorting is by auto-generated ID from oldests to newest. This endpoint is deprecated. ' + operationId: getAllPages parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string - name: page in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Filter param. + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number - name: limit in: query - required: false - type: number - exclusiveMaximum: false - exclusiveMinimum: false description: Filter param. + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number responses: '200': description: '' - schema: - type: array - items: - $ref: '#/definitions/page_Full' - examples: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/page_Full' Example: - - id: 6 - parent_id: 5 - type: page - contact_fields: 'fullname,companyname,phone,orderno,rma' - email: janedoes@example.com - name: Contact Form - url: /contact-us/ - meta_description: '' - body: We are happy to answer questions or help you with... - mobile_body: '' - feed: '' - link: '' - has_mobile_version: false - is_visible: true - is_homepage: false - layout_file: page.html - sort_order: 3 - meta_title: '' - search_keywords: '' - meta_keywords: '' - operationId: getAllPages + example: + - id: 6 + parent_id: 5 + type: page + contact_fields: 'fullname,companyname,phone,orderno,rma' + email: janedoes@example.com + name: Contact Form + url: /contact-us/ + meta_description: '' + body: We are happy to answer questions or help you with... + mobile_body: '' + feed: '' + link: '' + has_mobile_version: false + is_visible: true + is_homepage: false + layout_file: page.html + sort_order: 3 + meta_title: '' + search_keywords: '' + meta_keywords: '' deprecated: true post: + tags: + - Pages + summary: Create a Page description: |- Creates a *Page*. The payload limit is 1MB. This endpoint is deprecated. @@ -591,242 +496,219 @@ paths: ## Content Type The default value for `content_type` is `text/html`; however, if `page_type` is set to `raw`, `content_type` can be changed to `text/javascript` or `application/json`. Updating this field allows you to place a JavaScript or a JSON file in the root directory. - summary: Create a Page - tags: - - Pages + operationId: createAPage parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header - required: true - type: string - description: '' - default: application/json - - name: body - in: body + - name: store_hash + in: path required: true schema: - $ref: '#/definitions/page_Base' - x-examples: - JavaScript Example: - id: 21 - name: service worker - body: 'importScripts("https://mycdn.com/sw.js");' - is_visible: false - parent_id: 0 - sort_order: 0 - type: raw - is_homepage: false - is_customers_only: false - search_keywords: '' - has_mobile_version: true - mobile_body: '' - content_type: text/javascript - url: /sw.js - description: '' + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/page_Base' + examples: + example-1: + value: + parent_id: 5 + type: page + contact_fields: 'fullname,companyname,phone,orderno,rma' + email: janedoes@example.com + name: Contact Form + url: /contact-us/ + meta_description: string + body: <p>We're happy to answer questions or help you with returns.<br />Please fill out the form below if you need assistance.</p> + mobile_body: '0' + has_mobile_version: false + is_visible: true + is_homepage: false + meta_title: string + layout_file: page.html + sort_order: 3 + search_keywords: string + meta_keywords: string + feed: string + link: string + content_type: text/html + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/page_Full' - examples: + content: application/json: - id: 6 - parent_id: 5 - type: page - contact_fields: 'fullname,companyname,phone,orderno,rma' - email: janedoes@example.com - name: Contact Form - url: /contact-us/ - meta_description: '' - body: We're happy to answer questions or help you with returns.<br />Please fill out the form below if you need assistance. - mobile_body: 0 - has_mobile_version: false - is_visible: true - is_homepage: false - layout_file: page.html - sort_order: 3 - meta_title: '' - search_keywords: '' - meta_keywords: '' + schema: + $ref: '#/components/schemas/page_Full' + example: + id: 6 + parent_id: 5 + type: page + contact_fields: 'fullname,companyname,phone,orderno,rma' + email: janedoes@example.com + name: Contact Form + url: /contact-us/ + meta_description: '' + body: We're happy to answer questions or help you with returns.<br />Please fill out the form below if you need assistance. + mobile_body: '' + has_mobile_version: false + feed: '' + link: '' + is_visible: true + is_homepage: false + layout_file: page.html + sort_order: 3 + meta_title: '' + search_keywords: '' + meta_keywords: '' '207': description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - schema: - type: object - properties: {} - operationId: createAPage + content: + application/json: + schema: + type: object deprecated: true - parameters: - - type: string - name: store_hash - in: path - required: true + x-codegen-request-body-name: body '/stores/{store_hash}/v2/pages/{id}': get: - description: Returns a *Page*. This endpoint is deprecated. - summary: Get A Page tags: - Pages + summary: Get A Page + description: Returns a *Page*. This endpoint is deprecated. + operationId: getAPage parameters: - - name: id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: id + in: path description: Id of the page. - - name: Accept - in: header required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header - required: true - type: string - description: '' - default: application/json + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer responses: '200': description: '' - schema: - $ref: '#/definitions/page_Full' - examples: + content: application/json: - id: 1 - name: RSS Syndication - meta_title: '' - body: '%%Syndicate%%' - is_visible: true - parent_id: 0 - sort_order: 5 - meta_keywords: '0' - type: page - meta_description: '' - is_homepage: false - layout_file: '' - is_customers_only: false - search_keywords: '0' - has_mobile_version: false - mobile_body: '0' - url: /rss-syndication/ - operationId: getAPage + schema: + $ref: '#/components/schemas/page_Full' + example: + id: 1 + name: RSS Syndication + meta_title: '' + body: '%%Syndicate%%' + is_visible: true + parent_id: 0 + sort_order: 5 + meta_keywords: '0' + type: page + meta_description: '' + is_homepage: false + layout_file: '' + is_customers_only: false + search_keywords: '0' + has_mobile_version: false + feed: '' + link: '' + mobile_body: '0' + url: /rss-syndication/ deprecated: true - delete: - description: 'Deletes a *Page*. This endpoint is deprecated. ' - summary: Delete a Page + put: tags: - Pages + summary: Update a Page + description: |- + Updates a *Page*. The payload limit is 1MB. This endpoint is deprecated. + + **Read Only Fields** + * id + operationId: updateAPage parameters: - name: id in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false - description: Id of the page. - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + schema: + type: string + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json - responses: - '204': - description: '' - operationId: deleteAPage - deprecated: true - parameters: - - name: id - in: path - type: string - required: true - - type: string - name: store_hash - in: path - required: true - put: + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/page_Base' + required: false responses: '200': description: '' - schema: - $ref: '#/definitions/page_Base' - examples: + content: application/json: - id: 2 - name: Shipping & Returns - meta_title: '' - body: '<em>To edit this page simply login to the control panel, click the <strong style="font-weight: 400">Website Content</strong> tab and choose the </em> <strong style="font-weight: 400"><em>View Web Pages option. Click Edit next to the Shipping & Returns page and you can change this text. A sample returns policy is shown below which you can edit as needed.</em><em style="font-style: normal"><br/><br/></em></strong><em style="font-style: normal"><strong>Returns Policy</strong></em><strong style="font-weight: 400"></em></em><em style="font-style: normal"><br/><br/></em>You may return most new, unopened items within 30 days of delivery for a full refund. We''ll also pay the return shipping costs if the return is a result of our error (you received an incorrect or defective item, etc.).<br/><br/>You should expect to receive your refund within four weeks of giving your package to the return shipper, however, in many cases you will receive a refund more quickly. This time period includes the transit time for us to receive your return from the shipper (5 to 10 business days), the time it takes us to process your return once we receive it (3 to 5 business days), and the time it takes your bank to process our refund request (5 to 10 business days).<br/><br/>If you need to return an item, please <a href="/contact-us/">Contact Us</a> with your order number and details about the product you would like to return. We will respond quickly with instructions for how to return items from your order.<br/><br/></strong><strong>Shipping</em></em></em></strong><strong style="font-weight: 400"><em style="font-style: normal"><br/><br/></em>We can ship to virtually any address in the world. Note that there are restrictions on some products, and some products cannot be shipped to international destinations.<br/><br/>When you place an order, we will estimate shipping and delivery dates for you based on the availability of your items and the shipping options you choose. Depending on the shipping provider you choose, shipping date estimates may appear on the shipping quotes page.<br/><br/>Please also note that the shipping rates for many items we sell are weight-based. The weight of any such item can be found on its detail page. To reflect the policies of the shipping companies we use, all weights will be rounded up to the next full pound.<br/>' - is_visible: true - parent_id: 0 - sort_order: 2 - meta_keywords: '' - type: page - meta_description: '' - is_homepage: false - layout_file: page.html - is_customers_only: false - search_keywords: '' - has_mobile_version: false - mobile_body: '' - url: /shipping-returns/ + schema: + $ref: '#/components/schemas/page_Base' + example: + id: 2 + name: Shipping & Returns + meta_title: '' + body: '<em>To edit this page simply login to the control panel, click the <strong style="font-weight: 400">Website Content</strong> tab and choose the </em> <strong style="font-weight: 400"><em>View Web Pages option. Click Edit next to the Shipping & Returns page and you can change this text. A sample returns policy is shown below which you can edit as needed.</em><em style="font-style: normal"><br/><br/></em></strong><em style="font-style: normal"><strong>Returns Policy</strong></em><strong style="font-weight: 400"></em></em><em style="font-style: normal"><br/><br/></em>You may return most new, unopened items within 30 days of delivery for a full refund. We''ll also pay the return shipping costs if the return is a result of our error (you received an incorrect or defective item, etc.).<br/><br/>You should expect to receive your refund within four weeks of giving your package to the return shipper, however, in many cases you will receive a refund more quickly. This time period includes the transit time for us to receive your return from the shipper (5 to 10 business days), the time it takes us to process your return once we receive it (3 to 5 business days), and the time it takes your bank to process our refund request (5 to 10 business days).<br/><br/>If you need to return an item, please <a href="/contact-us/">Contact Us</a> with your order number and details about the product you would like to return. We will respond quickly with instructions for how to return items from your order.<br/><br/></strong><strong>Shipping</em></em></em></strong><strong style="font-weight: 400"><em style="font-style: normal"><br/><br/></em>We can ship to virtually any address in the world. Note that there are restrictions on some products, and some products cannot be shipped to international destinations.<br/><br/>When you place an order, we will estimate shipping and delivery dates for you based on the availability of your items and the shipping options you choose. Depending on the shipping provider you choose, shipping date estimates may appear on the shipping quotes page.<br/><br/>Please also note that the shipping rates for many items we sell are weight-based. The weight of any such item can be found on its detail page. To reflect the policies of the shipping companies we use, all weights will be rounded up to the next full pound.<br/>' + is_visible: true + parent_id: 0 + sort_order: 2 + meta_keywords: '' + type: page + meta_description: '' + is_homepage: false + layout_file: page.html + is_customers_only: false + search_keywords: '' + has_mobile_version: false + feed: '' + link: '' + mobile_body: '' + url: /shipping-returns/ '207': description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - schema: - type: object - properties: {} - summary: Update a Page - description: |- - Updates a *Page*. The payload limit is 1MB. This endpoint is deprecated. - - **Read Only Fields** - * id - operationId: updateAPage - parameters: - - in: body - name: body - schema: - $ref: '#/definitions/page_Base' - x-examples: + content: application/json: - name: service worker - body: 'importScripts("https://mycdn.com/sw.js");' - is_visible: false - parent_id: 0 - sort_order: 0 - type: raw - is_homepage: false - is_customers_only: false - search_keywords: '' - has_mobile_version: true - mobile_body: '' - content_type: text/javascript - url: /sw.js - - in: header - name: Accept - type: string - default: application/json - - in: header - name: Content-Type - type: string - default: application/json + schema: + type: object + deprecated: true + x-codegen-request-body-name: body + delete: tags: - Pages + summary: Delete a Page + description: 'Deletes a *Page*. This endpoint is deprecated. ' + operationId: deleteAPage + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: path + description: Id of the page. + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer + responses: + '204': + description: '' + content: {} deprecated: true '/stores/{store_hash}/v2/redirects': get: + tags: + - Redirects + summary: Get All Redirects description: |- Returns a list all *Redirect URLs*. @@ -834,55 +716,43 @@ paths: > #### Deprecated > Avoid using this API operation if possible. It will be removed in a future version. > For the most up-to-date version of this API, see [Get Redirects v3](/api-reference/storefront/redirects/redirects/getredirects) to manage redirects URLs. - summary: Get All Redirects - tags: - - Redirects + operationId: getAListofRedirects parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string - name: page in: query - required: false - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Filter param. + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer - name: limit in: query - required: false - type: integer - exclusiveMaximum: false - exclusiveMinimum: false description: Filter param. + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer responses: '200': description: '' - schema: - type: array - items: - $ref: '#/definitions/redirect' - examples: + content: application/json: - - id: 1 - path: /smith-journal-13/ - forward: - type: product - ref: '111' - url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - Response Schema: '' - operationId: getAListofRedirects + schema: + type: array + items: + $ref: '#/components/schemas/redirect' + Response Schema: + example: '' deprecated: true post: + tags: + - Redirects + summary: Create a Redirect description: |- Creates a *Redirect URL*. @@ -898,49 +768,38 @@ paths: > #### Deprecated > Avoid using this API operation if possible. It will be removed in a future version. > For the most up-to-date version of this API, see [Upsert Redirects v3](/api-reference/store-management/redirects/redirects/upsertredirects) to upsert new redirect data. - summary: Create a Redirect - tags: - - Redirects + operationId: createARedirect parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header - required: true - type: string - description: '' - default: application/json - - name: body - in: body + - name: store_hash + in: path required: true - description: '' schema: - $ref: '#/definitions/redirect' - x-examples: - application/json: - path: /mens_clothing - forward: - type: category - ref: 3 + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/redirect' + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/redirect' - examples: + content: application/json: - id: 3 - path: /mens_clothing - forward: - type: category - ref: 3 - url: 'http://store.example.com/mens' - operationId: createARedirect + schema: + $ref: '#/components/schemas/redirect' + example: + id: 3 + path: /mens_clothing + forward: + type: category + ref: 3 + url: 'http://store.example.com/mens' + x-codegen-request-body-name: body delete: + tags: + - Redirects + summary: Delete All Redirects description: |- By default, it deletes all *Redirect URLs* in a store. @@ -951,33 +810,22 @@ paths: > Avoid using this API operation if possible. It will be removed in a future version. > For the most up-to-date version of this API, see [Delete Redirects v3](/api-reference/store-management/redirects/redirects/deleteredirects) to delete redirects URLs. - summary: Delete All Redirects - tags: - - Redirects + operationId: deleteAllRedirects parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string responses: '204': description: '' - operationId: deleteAllRedirects - parameters: - - type: string - name: store_hash - in: path - required: true + content: {} '/stores/{store_hash}/v2/redirects/{id}': get: + tags: + - Redirects + summary: Get a Redirect description: |- Returns a single *Redirect URL*. @@ -985,45 +833,40 @@ paths: > #### Deprecated > Avoid using this API operation if possible. It will be removed in a future version. > For the most up-to-date version of this API, see [Get Redirects v3](/api-reference/storefront/redirects/redirects/getredirects) to get a redirect URL. - summary: Get a Redirect - tags: - - Redirects + operationId: getARedirectURL parameters: - - name: id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: id + in: path description: Id of the redirect url - - name: Accept - in: header required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header - required: true - type: string - description: '' - default: application/json + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer responses: '200': description: '' - schema: - $ref: '#/definitions/redirect' - examples: + content: application/json: - id: 1 - path: /smith-journal-13/ - forward: - type: product - ref: 111 - url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - operationId: getARedirectURL + schema: + $ref: '#/components/schemas/redirect' + example: + id: 1 + path: /smith-journal-13/ + forward: + type: product + ref: 111 + url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' deprecated: true put: + tags: + - Redirects + summary: Update a Redirect description: |- Updates a *Redirect URL*. @@ -1039,90 +882,82 @@ paths: > #### Deprecated > Avoid using this API operation if possible. It will be removed in a future version. > For the most up-to-date version of this API, see [Upsert Redirects v3](/api-reference/storefront/redirects/redirects/upsertredirects) to update redirect data. - summary: Update a Redirect - tags: - - Redirects + operationId: updateARedirectURL parameters: - - name: id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: id + in: path description: Id of the redirect url - - name: Accept - in: header required: true - type: string - description: '' - - name: Content-Type - in: header - required: true - type: string - description: '' - - name: body - in: body - required: true - description: '' schema: - title: Redirect - example: - id: 1 - path: /smith-journal-13/ - forward: - type: product - ref: 111 - url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - type: object - properties: - id: - description: Numeric ID of the redirect. - example: 1 - type: integer - path: - type: string - description: The path from which to redirect. - example: /smith-journal-13/ - forward: - type: object - properties: - type: - type: string - description: | - The type of redirect. If it is a manual redirect then type will always be manual. Dynamic redirects will have the type of the page. Such as product or category. - example: product - ref: - type: string - description: Reference of the redirect. Dynamic redirects will have the category or product number. Manual redirects will have the url that is being directed to. - example: 111 - url: - description: URL of the redirect. READ-ONLY - example: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - type: string - required: - - path - - forward - x-examples: - application/json: - path: /mens_clothing - forward: - type: category - ref: 3 + exclusiveMaximum: false + exclusiveMinimum: false + type: integer + requestBody: + content: + application/json: + schema: + title: Redirect + required: + - forward + - path + type: object + properties: + id: + type: integer + description: Numeric ID of the redirect. + example: 1 + path: + type: string + description: The path from which to redirect. + example: /smith-journal-13/ + forward: + type: object + properties: + type: + type: string + description: | + The type of redirect. If it is a manual redirect then type will always be manual. Dynamic redirects will have the type of the page. Such as product or category. + example: product + ref: + type: string + description: Reference of the redirect. Dynamic redirects will have the category or product number. Manual redirects will have the url that is being directed to. + example: '111' + url: + type: string + description: URL of the redirect. READ-ONLY + example: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' + example: + id: 1 + path: /smith-journal-13/ + forward: + type: product + ref: '111' + url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' + required: true responses: '200': description: '' - schema: - $ref: '#/definitions/redirect' - examples: + content: application/json: - id: 1 - path: /smith-journal-13/ - forward: - type: product - ref: 111 - url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - operationId: updateARedirectURL + schema: + $ref: '#/components/schemas/redirect' + example: + id: 1 + path: /smith-journal-13/ + forward: + type: product + ref: 111 + url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' + x-codegen-request-body-name: body delete: + tags: + - Redirects + summary: Delete a Redirect description: |- Deletes a *Redirect URL*. @@ -1130,44 +965,30 @@ paths: > #### Deprecated > Avoid using this API operation if possible. It will be removed in a future version. > For the most up-to-date version of this API, see [Delete Redirects v3](/api-reference/store-management/redirects/redirects/deleteredirects) to delete a redirect URL. - summary: Delete a Redirect - tags: - - Redirects + operationId: deleteARedirect parameters: - - name: id + - name: store_hash in: path required: true - type: integer - exclusiveMaximum: false - exclusiveMinimum: false + schema: + type: string + - name: id + in: path description: Id of the redirect url - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header required: true - type: string - description: '' - default: application/json + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer responses: '204': description: '' - operationId: deleteARedirect - parameters: - - name: id - in: path - type: string - required: true - - type: string - name: store_hash - in: path - required: true + content: {} '/stores/{store_hash}/v2/redirects/count': get: + tags: + - Redirects + summary: Get a Count of Redirects description: |- Gets a count of *Redirect URLs* in a store. @@ -1175,522 +996,749 @@ paths: > #### Deprecated > Avoid using this API operation if possible. It will be removed in a future version. > For the most up-to-date version of this API, see [Get Redirects v3](/api-reference/storefront/redirects/redirects/getredirects) to get a count of redirects. - summary: Get a Count of Redirects - tags: - - Redirects + operationId: getACountOfRedirects parameters: - - name: Accept - in: header - required: true - type: string - description: '' - default: application/json - - name: Content-Type - in: header + - name: store_hash + in: path required: true - type: string - description: '' - default: application/json + schema: + type: string responses: '200': description: '' - schema: - $ref: '#/definitions/count_Response' - examples: + content: application/json: - count: 27 - operationId: getACountOfRedirects + schema: + $ref: '#/components/schemas/count_Response' + example: + count: 27 deprecated: true - parameters: - - type: string - name: store_hash - in: path - required: true -definitions: - blogPost_Full: - title: blogPost_Full - allOf: - - type: object - properties: - id: - description: ID of this blog post. (READ-ONLY) - example: 3 - type: integer - - $ref: '#/definitions/blogPost_Base' - x-internal: false - addresses: - type: object - properties: - url: - description: Full URL of where the resource is located. - example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' - type: string - resource: - description: Resource being accessed. - example: /customers/5/addresses - type: string - title: addresses - x-internal: false - formField: - title: formField - type: object - properties: - name: - description: Name of the form field - type: string - example: License Id - value: - description: Value of the form field - type: string - example: 123BAF - x-internal: false - page_Full: - title: page_Full - allOf: - - type: object - properties: - id: - type: integer - example: 44 - description: ID of the page. - - $ref: '#/definitions/page_Base' - x-internal: false - redirect: - title: redirect - example: - id: 1 - path: /smith-journal-13/ - forward: - type: product - ref: 111 - url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - type: object - properties: - id: - description: Numeric ID of the redirect. - example: 1 - type: integer - path: - type: string - description: The path from which to redirect. - example: /smith-journal-13/ - forward: - $ref: '#/definitions/forward' - url: - description: URL of the redirect. READ-ONLY - example: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - type: string - required: - - path - - forward - x-internal: false - forward: - title: forward - type: object - properties: - type: - description: The type of redirect. If it is a `manual` redirect then type will always be manual. Dynamic redirects will have the type of the page. Such as product or category. - example: product - type: string - ref: - description: Reference of the redirect. Dynamic redirects will have the category or product number. Manual redirects will have the url that is being directed to. - example: 111 - type: number - x-internal: false - customer_Full: - title: customer_Full - type: object - properties: - id: - description: Unique numeric ID of this customer. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 1 - type: integer - _authentication: - description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' +components: + schemas: + blogPost_Full: + title: blogPost_Full + allOf: + - type: object + properties: + id: + type: integer + description: ID of this blog post. (READ-ONLY) + example: 3 + - $ref: '#/components/schemas/blogPost_Base_Res' + x-internal: false + x-examples: + example-1: + id: 3 + title: Welcome to BigCommerce + url: /blog/welcome-bigcommerce/ + preview_url: /blog/welcome-bigcommerce/ + body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + - string + summary: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: true + published_date: + timezone_type: '1' + date: '2018-05-18T08:26:42Z' + timezone: '+00:00' + published_date_iso8601: '5/18/2018 1:26:42 PM' + meta_description: Welcome Post + meta_keywords: 'BigCommerce, welcome, ecommerce' + author: BigCommerce + thumbnail_path: string + addresses: + title: addresses + type: object + properties: + url: + type: string + description: Full URL of where the resource is located. + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/customers/5/addresses' + resource: + type: string + description: Resource being accessed. + example: /customers/5/addresses + x-internal: false + formField: + title: formField + type: object + properties: + name: + type: string + description: Name of the form field + example: License Id + value: + type: string + description: Value of the form field + example: 123BAF + x-internal: false + page_Full: + title: page_Full + allOf: + - type: object + properties: + id: + type: integer + description: ID of the page. + example: 44 + - $ref: '#/components/schemas/page_Base_Res' + x-internal: false + redirect: + title: redirect + required: + - forward + - path + type: object + properties: + id: + type: integer + description: Numeric ID of the redirect. + example: 1 + path: + type: string + description: The path from which to redirect. + example: /smith-journal-13/ + forward: + $ref: '#/components/schemas/forward' + url: + type: string + description: URL of the redirect. READ-ONLY + example: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' + example: + id: 1 + path: /smith-journal-13/ + forward: + type: product + ref: 111 + url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' + x-internal: false + forward: + title: forward + type: object + x-internal: false + properties: + type: + type: string + description: The type of redirect. If it is a `manual` redirect then type will always be manual. Dynamic redirects will have the type of the page. Such as product or category. + example: product + ref: + type: integer + description: Reference of the redirect. Dynamic redirects will have the category or product number. Manual redirects will have the url that is being directed to. + example: 111 + customer_Full: + title: customer_Full + required: + - email + - first_name + - last_name + type: object + properties: + id: + type: integer + description: Unique numeric ID of this customer. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + example: 1 + _authentication: + type: object + properties: + force_reset: + type: string + password: + type: string + password_confirmation: + type: string + description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' + company: + type: string + description: The name of the company for which the customer works. + example: BigCommerce + first_name: + type: string + description: First name of the customer. + example: Jane + last_name: + type: string + description: Last name of the customer. + example: Doe + email: + type: string + description: Email address of the customer. + example: janedoe@example.com + phone: + type: string + description: Phone number of the customer. + example: '1234567890' + date_created: + type: string + description: Date on which the customer registered from the storefront or was created in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + format: date-time + date_modified: + type: string + description: | + Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + format: date-time + store_credit: + type: string + description: 'The amount of credit the customer has. (Float, Float as String, Integer)' + example: '0' + registration_ip_address: + type: string + description: The customer’s IP address when they signed up. + example: 12.345.678.910 + customer_group_id: + type: integer + description: The group to which the customer belongs. + example: 2 + notes: + type: string + description: Store-owner notes on the customer. + tax_exempt_category: + type: string + description: 'If applicable, the tax-exempt category of the shopper''s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.' + accepts_marketing: + type: boolean + description: | + Records whether the customer would like to receive marketing content from this store. READ-ONLY.This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + example: true + addresses: + $ref: '#/components/schemas/addresses' + form_fields: + type: array + description: Array of custom fields. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. + items: + $ref: '#/components/schemas/formField' + reset_pass_on_login: + type: boolean + description: Force a password change on next login. + example: false + x-internal: false + categoryAccessLevel: + title: categoryAccessLevel + type: object + properties: + type: + type: string + description: |- + + `all` - Customers can access all categories + + `specific` - Customers can access a specific list of categories + + `none` - Customers are prevented from viewing any of the categories in this group. + enum: + - all + - specific + - none + categories: + type: array + description: Is an array of category IDs and should be supplied only if `type` is specific. + example: + - '18,19,23,34' + items: + type: string + x-internal: false + timeZone: + title: timeZone + type: object + properties: + name: + type: string + description: 'A string identifying the time zone, in the format: <Continent-name>/<City-name>.' + example: America/Chicago + raw_offset: + type: integer + description: 'A negative or positive number, identifying the offset from UTC/GMT, in seconds, during winter/standard time.' + example: -21600 + dst_offset: + type: integer + description: '“-/+” offset from UTC/GMT, in seconds, during summer/daylight saving time.' + example: -18000 + dst_correction: + type: boolean + description: A boolean indicating whether this time zone observes daylight saving time. + example: true + date_format: + $ref: '#/components/schemas/dateFormat' + x-internal: false + count_Response: + title: count_Response + type: object + properties: + count: + type: number + description: '' + example: 27 + example: + count: 27 + x-internal: false + dateFormat: + title: dateFormat + type: object + properties: + display: + type: string + description: 'A string that defines dates’ display formats, in the pattern: M jS Y' + example: M jS Y + export: + type: string + description: 'A string that defines the CSV export format for orders, customers, and products, in the pattern: M jS Y' + example: M jS Y + extended_display: + type: string + description: 'A string that defines dates’ extended-display format, in the pattern: M jS Y @ g:i A.' + example: 'M jS Y @ g:i A' + x-internal: false + blogTags: + title: blogTags + type: array + items: type: object properties: - force_reset: + tag: type: string - password: + example: Blog + post_ids: + type: array + example: + - 1 + - 2 + - 4 + items: + type: integer + x-internal: false + blogPost_Base_Post: + title: blogPost_Base_Post + type: object + x-internal: false + x-examples: + example-1: + title: Welcome to BigCommerce + url: /blog/welcome-bigcommerce/ + preview_url: /blog/welcome-bigcommerce/ + body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + - string + summary: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: true + published_date: + timezone_type: '1' + date: '2018-05-18T08:26:42Z' + timezone: '+00:00' + published_date_iso8601: '5/18/2018 1:26:42 PM' + meta_description: Welcome Post + meta_keywords: 'BigCommerce, welcome, ecommerce' + author: BigCommerce + thumbnail_path: string + description: blogPost base for POST requests + properties: + title: + type: string + description: Title of this blog post. + example: Welcome to BigCommerce + url: + type: string + description: URL for the public blog post. + example: /blog/welcome-bigcommerce/ + body: + type: string + description: Text body of the blog post. + example: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + type: array + description: Tags to characterize the blog post. + items: type: string - password_confirmation: + is_published: + type: boolean + description: Whether the blog post is published. + example: true + meta_description: + type: string + description: Description text for this blog post’s `<meta/>` element. + example: Welcome Post + meta_keywords: + type: string + description: Keywords for this blog post’s `<meta/>` element. + example: 'BigCommerce, welcome, ecommerce' + author: + type: string + description: Name of the blog post’s author. + example: BigCommerce + thumbnail_path: + type: string + description: 'Local path to a thumbnail uploaded to `/product_images/` via [WebDav](https://support.bigcommerce.com/s/article/File-Access-WebDAV).' + published_date: + type: string + example: 'Wed, 10 Aug 2022 15:39:15 -0500' + required: + - title + - body + blogPost_Base: + title: blogPost_Base + type: object + x-internal: false + x-examples: + example-1: + title: Welcome to BigCommerce + url: /blog/welcome-bigcommerce/ + preview_url: /blog/welcome-bigcommerce/ + body: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + - string + summary: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: true + published_date: + timezone_type: '1' + date: '2018-05-18T08:26:42Z' + timezone: '+00:00' + published_date_iso8601: '5/18/2018 1:26:42 PM' + meta_description: Welcome Post + meta_keywords: 'BigCommerce, welcome, ecommerce' + author: BigCommerce + thumbnail_path: string + properties: + title: + type: string + description: Title of this blog post. + example: Welcome to BigCommerce + url: + type: string + description: URL for the public blog post. + example: /blog/welcome-bigcommerce/ + preview_url: + type: string + description: URL to preview the blog post. (READ-ONLY) + example: /blog/welcome-bigcommerce/ + body: + type: string + description: Text body of the blog post. + example: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: + type: array + description: Tags to characterize the blog post. + items: type: string - company: - description: The name of the company for which the customer works. - example: BigCommerce - type: string - first_name: - type: string - description: First name of the customer. - example: Jane - last_name: - type: string - description: Last name of the customer. - example: Doe - email: - type: string - description: Email address of the customer. - example: janedoe@example.com - phone: - description: Phone number of the customer. - example: 1234567890 - type: string - date_created: - description: Date on which the customer registered from the storefront or was created in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 'Thu, 11 Jan 2018 20:57:52 +0000' - type: string - format: date-time - date_modified: - description: | - Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: 'Tue, 10 Apr 2018 18:59:05 +0000' - type: string - format: date-time - store_credit: - description: 'The amount of credit the customer has. (Float, Float as String, Integer)' - example: 0 - type: string - registration_ip_address: - description: The customer’s IP address when they signed up. - example: 12.345.678.910 - type: string - customer_group_id: - description: The group to which the customer belongs. - example: 2 - type: integer - notes: - description: Store-owner notes on the customer. - type: string - tax_exempt_category: - description: 'If applicable, the tax-exempt category of the shopper''s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.' - type: string - accepts_marketing: - description: | - Records whether the customer would like to receive marketing content from this store. READ-ONLY.This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - example: true - type: boolean - addresses: - $ref: '#/definitions/addresses' - form_fields: - description: Array of custom fields. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. - type: array - items: - $ref: '#/definitions/formField' - reset_pass_on_login: - description: Force a password change on next login. - example: false - type: boolean - required: - - first_name - - last_name - - email - x-internal: false - categoryAccessLevel: - title: categoryAccessLevel - type: object - properties: - type: - type: string - enum: - - all - - specific - - none - description: |- - + `all` - Customers can access all categories - + `specific` - Customers can access a specific list of categories - + `none` - Customers are prevented from viewing any of the categories in this group. - categories: - description: Is an array of category IDs and should be supplied only if `type` is specific. - type: array - example: '18,19,23,34' - items: - type: string - x-internal: false - timeZone: - title: timeZone - type: object - properties: - name: - description: 'A string identifying the time zone, in the format: <Continent-name>/<City-name>.' - example: America/Chicago - type: string - raw_offset: - description: 'A negative or positive number, identifying the offset from UTC/GMT, in seconds, during winter/standard time.' - example: -21600 - type: integer - dst_offset: - description: '“-/+” offset from UTC/GMT, in seconds, during summer/daylight saving time.' - example: -18000 - type: integer - dst_correction: - description: A boolean indicating whether this time zone observes daylight saving time. - example: true - type: boolean - date_format: - $ref: '#/definitions/dateFormat' - x-internal: false - count_Response: - title: count_Response - example: - count: 27 - type: object - properties: - count: - description: '' - example: 27 - type: number - x-internal: false - dateFormat: - title: dateFormat - type: object - properties: - display: - description: 'A string that defines dates’ display formats, in the pattern: M jS Y' - example: M jS Y - type: string - export: - description: 'A string that defines the CSV export format for orders, customers, and products, in the pattern: M jS Y' - example: M jS Y - type: string - extended_display: - description: 'A string that defines dates’ extended-display format, in the pattern: M jS Y @ g:i A.' - example: 'M jS Y @ g:i A' - type: string - x-internal: false - blogTags: - type: array - title: blogTags - items: + summary: + type: string + description: Summary of the blog post. (READ-ONLY) + example: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: + type: boolean + description: Whether the blog post is published. + example: true + published_date: + $ref: '#/components/schemas/publishedDate' + published_date_iso8601: + type: string + description: Published date in `ISO 8601` format. + example: '5/18/2018 1:26:42 PM' + meta_description: + type: string + description: Description text for this blog post’s `<meta/>` element. + example: Welcome Post + meta_keywords: + type: string + description: Keywords for this blog post’s `<meta/>` element. + example: 'BigCommerce, welcome, ecommerce' + author: + type: string + description: Name of the blog post’s author. + example: BigCommerce + thumbnail_path: + type: string + description: 'Local path to a thumbnail uploaded to `/product_images/` via [WebDav](https://support.bigcommerce.com/s/article/File-Access-WebDAV).' + required: + - title + - body + blogPost_Base_Res: + title: blogPost_Base_Res type: object + x-internal: false + x-examples: {} + description: blog post base response properties: - tag: + title: + type: string + description: Title of this blog post. + example: Welcome to BigCommerce + url: type: string - example: Blog - post_ids: + description: URL for the public blog post. + example: /blog/welcome-bigcommerce/ + preview_url: + type: string + description: URL to preview the blog post. (READ-ONLY) + example: /blog/welcome-bigcommerce/ + body: + type: string + description: Text body of the blog post. + example: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' + tags: type: array - example: '1,2,4' + description: Tags to characterize the blog post. items: - type: integer - x-internal: false - blogPost_Base: - type: object - title: blogPost_Base - properties: - title: - type: string - description: Title of this blog post. - example: Welcome to BigCommerce - url: - example: /blog/welcome-bigcommerce/ - type: string - description: URL for the public blog post. - preview_url: - description: URL to preview the blog post. (READ-ONLY) - example: /blog/welcome-bigcommerce/ - type: string - body: - type: string - description: Text body of the blog post. - example: '<p>Customize your site, manage shipping and payments, and list your products on Amazon, eBay, and Facebook by Meta with the #1 ecommerce platform. </p>' - tags: - description: Tags to characterize the blog post. - type: array - items: - type: string - summary: - description: Summary of the blog post. (READ-ONLY) - example: <p>We power ecommerce websites for successful retailers all over the world</p> - type: string - is_published: - description: Whether the blog post is published. - example: true - type: boolean - published_date: - $ref: '#/definitions/publishedDate' - published_date_iso8601: - description: Published date in `ISO 8601` format. - example: '5/18/2018 1:26:42 PM' - type: string - meta_description: - description: Description text for this blog post’s `<meta/>` element. - example: Welcome Post - type: string - meta_keywords: - description: Keywords for this blog post’s `<meta/>` element. - example: 'BigCommerce, welcome, ecommerce' - type: string - author: - description: Name of the blog post’s author. - example: BigCommerce - type: string - thumbnail_path: - description: 'Local path to a thumbnail uploaded to `/product_images/` via [WebDav](https://support.bigcommerce.com/s/article/File-Access-WebDAV).' - type: string - required: - - title - - body - x-internal: false - publishedDate: - type: object - properties: - timezone_type: - type: string - example: 1 - date: - type: string - format: date-time - example: '2018-05-18T08:26:42.000Z' - timezone: - type: string - format: time - example: '+00:00' - x-internal: false - authentication: - description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' - type: object - properties: - force_reset: - type: string - password: - type: string - password_confirmation: - type: string - x-internal: false - customer_Base: - type: object - properties: {} - title: customer_Base - x-internal: false - page_Base: - title: page_Base - type: object - x-internal: false - properties: - parent_id: - description: ID of any parent Web page. - example: 5 - type: integer - type: - type: string - description: "`page`: free-text page \n`link`: link to another web address \n`rss_feed`: syndicated content from an RSS feed \n`contact_form`: When the store's contact form is used.\n\n\t" - enum: - - page - - rss_feed - - contact_form - - raw - - link - contact_fields: - description: 'Where the page’s type is a contact form: object whose members are the fields enabled (in the control panel) for storefront display. Possible members are:`fullname`: full name of the customer submitting the form; `phone`: customer’s phone number, as submitted on the form; `companyname`: customer’s submitted company name; `orderno`: customer’s submitted order number; `rma`: customer’s submitted RMA (Return Merchandise Authorization) number.' - example: 'fullname,companyname,phone,orderno,rma' - type: string - email: - description: 'Where the page’s type is a contact form: email address that receives messages sent via the form.' - example: janedoes@example.com - type: string - name: - type: string - description: 'Page name, as displayed on the storefront.' - example: Contact Form - url: - description: Relative URL on the storefront for this page. - example: /contact-us/ - type: string - meta_description: - description: Description contained within this page’s `<meta/>` element. - type: string - body: - type: string - description: 'HTML or variable that populates this page’s `<body>` element, in default/desktop view. Required in POST if page type is `raw`.' - example: <p>We're happy to answer questions or help you with returns.<br />Please fill out the form below if you need assistance.</p> - mobile_body: - description: HTML to use for this page's body when viewed in the mobile template (deprecated). - example: 0 - type: string - has_mobile_version: - description: 'If true, this page has a mobile version.' - example: false - type: boolean - is_visible: - description: 'If true, this page appears in the storefront’s navigation menu.' - example: true - type: boolean - is_homepage: - description: 'If true, this page is the storefront’s home page.' - example: false - type: boolean - meta_title: - description: 'Text specified for this page’s `<title>` element. (If empty, the value of the name property is used.)' - type: string - layout_file: - description: 'Layout template for this page. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations).' - example: page.html - type: string - sort_order: - description: Order in which this page should display on the storefront. (Lower integers specify earlier display.) - example: 3 - type: integer - search_keywords: - description: Comma-separated list of keywords that shoppers can use to locate this page when searching the store. - type: string - meta_keywords: - description: Comma-separated list of SEO-relevant keywords to include in the page’s `<meta/>` element. - type: string - feed: - type: string - description: If page type is `rss_feed` the n this field is visisble. Required in POST required for `rss page` type. - link: - type: string - description: If page type is `link` this field is returned. Required in POST to create a `link` page. - content_type: - type: string - enum: - - application/json - - text/javascript - - text/html - example: text/html - required: - - type - - name - - body - - feed - - link -tags: - - name: Blog Posts - - name: Blog Tags - - name: Pages - - name: Redirects -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Content | modify | `store_v2_content` | - | Content | read-only | `store_v2_content_read_only` | + type: string + summary: + type: string + description: Summary of the blog post. (READ-ONLY) + example: <p>We power ecommerce websites for successful retailers all over the world</p> + is_published: + type: boolean + description: Whether the blog post is published. + example: true + published_date: + $ref: '#/components/schemas/publishedDate' + published_date_iso8601: + type: string + description: Published date in `ISO 8601` format. + example: '5/18/2018 1:26:42 PM' + meta_description: + type: string + description: Description text for this blog post’s `<meta/>` element. + example: Welcome Post + nullable: true + meta_keywords: + type: string + description: Keywords for this blog post’s `<meta/>` element. + example: 'BigCommerce, welcome, ecommerce' + nullable: true + author: + type: string + description: Name of the blog post’s author. + example: BigCommerce + nullable: true + thumbnail_path: + type: string + description: 'Local path to a thumbnail uploaded to `/product_images/` via [WebDav](https://support.bigcommerce.com/s/article/File-Access-WebDAV).' + nullable: true + publishedDate: + type: object + x-internal: false + properties: + timezone_type: + type: integer + example: 1 + date: + type: string + format: date-time + example: '2022-08-10 14:39:15.000000' + timezone: + type: string + example: '+00:00' + authentication: + type: object + properties: + force_reset: + type: string + password: + type: string + password_confirmation: + type: string + description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' + x-internal: false + customer_Base: + title: customer_Base + type: object + x-internal: false + page_Base: + title: page_Base + type: object + x-internal: false + properties: + parent_id: + type: integer + description: ID of any parent Web page. + example: 5 + type: + type: string + description: "`page`: free-text page \n`link`: link to another web address \n`rss_feed`: syndicated content from an RSS feed \n`contact_form`: When the store's contact form is used.\n\n\t" + enum: + - page + - rss_feed + - contact_form + - raw + - link + contact_fields: + type: string + description: 'Where the page’s type is a contact form: object whose members are the fields enabled (in the control panel) for storefront display. Possible members are:`fullname`: full name of the customer submitting the form; `phone`: customer’s phone number, as submitted on the form; `companyname`: customer’s submitted company name; `orderno`: customer’s submitted order number; `rma`: customer’s submitted RMA (Return Merchandise Authorization) number.' + example: 'fullname,companyname,phone,orderno,rma' + email: + type: string + description: 'Where the page’s type is a contact form: email address that receives messages sent via the form.' + example: janedoes@example.com + name: + type: string + description: 'Page name, as displayed on the storefront.' + example: Contact Form + url: + type: string + description: Relative URL on the storefront for this page. + example: /contact-us/ + meta_description: + type: string + description: Description contained within this page’s `<meta/>` element. + body: + type: string + description: 'HTML or variable that populates this page’s `<body>` element, in default/desktop view. Required in POST if page type is `raw`.' + example: <p>We're happy to answer questions or help you with returns.<br />Please fill out the form below if you need assistance.</p> + mobile_body: + type: string + description: HTML to use for this page's body when viewed in the mobile template (deprecated). + example: '0' + has_mobile_version: + type: boolean + description: 'If true, this page has a mobile version.' + example: false + is_visible: + type: boolean + description: 'If true, this page appears in the storefront’s navigation menu.' + example: true + is_homepage: + type: boolean + description: 'If true, this page is the storefront’s home page.' + example: false + meta_title: + type: string + description: 'Text specified for this page’s `<title>` element. (If empty, the value of the name property is used.)' + layout_file: + type: string + description: Layout template for this page. This field is writable only for stores with a Blueprint theme applied. + example: page.html + sort_order: + type: integer + description: Order in which this page should display on the storefront. (Lower integers specify earlier display.) + example: 3 + search_keywords: + type: string + description: Comma-separated list of keywords that shoppers can use to locate this page when searching the store. + meta_keywords: + type: string + description: Comma-separated list of SEO-relevant keywords to include in the page’s `<meta/>` element. + feed: + type: string + description: If page type is `rss_feed` the n this field is visisble. Required in POST required for `rss page` type. + link: + type: string + description: If page type is `link` this field is returned. Required in POST to create a `link` page. + content_type: + type: string + example: text/html + enum: + - application/json + - text/javascript + - text/html + required: + - type + - name + - body + page_Base_Res: + title: page_Base_Res + type: object + x-internal: false + properties: + parent_id: + type: integer + description: ID of any parent Web page. + example: 5 + type: + type: string + description: "`page`: free-text page \n`link`: link to another web address \n`rss_feed`: syndicated content from an RSS feed \n`contact_form`: When the store's contact form is used.\n\n\t" + enum: + - page + - rss_feed + - contact_form + - raw + - link + contact_fields: + type: string + description: 'Where the page’s type is a contact form: object whose members are the fields enabled (in the control panel) for storefront display. Possible members are:`fullname`: full name of the customer submitting the form; `phone`: customer’s phone number, as submitted on the form; `companyname`: customer’s submitted company name; `orderno`: customer’s submitted order number; `rma`: customer’s submitted RMA (Return Merchandise Authorization) number.' + example: 'fullname,companyname,phone,orderno,rma' + email: + type: string + description: 'Where the page’s type is a contact form: email address that receives messages sent via the form.' + example: janedoes@example.com + name: + type: string + description: 'Page name, as displayed on the storefront.' + example: Contact Form + url: + type: string + description: Relative URL on the storefront for this page. + example: /contact-us/ + meta_description: + type: string + description: Description contained within this page’s `<meta/>` element. + body: + type: string + description: 'HTML or variable that populates this page’s `<body>` element, in default/desktop view. Required in POST if page type is `raw`.' + example: <p>We're happy to answer questions or help you with returns.<br />Please fill out the form below if you need assistance.</p> + mobile_body: + type: string + description: HTML to use for this page's body when viewed in the mobile template (deprecated). + example: '0' + has_mobile_version: + type: boolean + description: 'If true, this page has a mobile version.' + example: false + is_visible: + type: boolean + description: 'If true, this page appears in the storefront’s navigation menu.' + example: true + is_homepage: + type: boolean + description: 'If true, this page is the storefront’s home page.' + example: false + meta_title: + type: string + description: 'Text specified for this page’s `<title>` element. (If empty, the value of the name property is used.)' + layout_file: + type: string + description: Layout template for this page. This field is writable only for stores with a Blueprint theme applied. + example: page.html + sort_order: + type: integer + description: Order in which this page should display on the storefront. (Lower integers specify earlier display.) + example: 3 + search_keywords: + type: string + description: Comma-separated list of keywords that shoppers can use to locate this page when searching the store. + meta_keywords: + type: string + description: Comma-separated list of SEO-relevant keywords to include in the page’s `<meta/>` element. + feed: + type: string + description: If page type is `rss_feed` then this field is visisble. + link: + type: string + description: If page type is `link` this field is returned. + content_type: + type: string + example: text/html + enum: + - application/json + - text/javascript + - text/html + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Content | modify | `store_v2_content` | + | Content | read-only | `store_v2_content_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: false - showModels: false -responses: {} + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header diff --git a/reference/storefront_tokens.v3.yml b/reference/storefront_tokens.v3.yml index b76fa6dc6..3302c9df0 100644 --- a/reference/storefront_tokens.v3.yml +++ b/reference/storefront_tokens.v3.yml @@ -1,7 +1,6 @@ -swagger: '2.0' +openapi: 3.0.1 info: title: Storefront Token - version: '' description: |- Get and manage tokens used to authenticate cross-origin requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview). @@ -119,6 +118,11 @@ info: * [GraphQL API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview) termsOfService: '' + version: '' +servers: + - url: 'https://api.bigcommerce.com' +security: + - X-Auth-Token: [] tags: - name: API Token - name: Customer Impersonation Token @@ -127,210 +131,223 @@ paths: post: tags: - API Token + summary: Create a Token description: |- Creates a Storefront API token. **Required Scopes** * `Manage` `Storefront API Tokens` operationId: createToken + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/TokenPostSimple' + - $ref: '#/components/schemas/TokenPostImpersonation' + required: false responses: '200': - $ref: '#/responses/TokenResponse' + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Token_Full' '401': description: Unauthorized - the v3 Auth client ID or token in the request are not a valid combination for this store. + content: {} '403': description: Missing scope - the v3 Auth token is valid but does not have proper permissions to access this endpoint. + content: {} '422': description: Invalid JSON request body - missing or invalid data. - summary: Create a Token - parameters: - - in: body - name: body - schema: - allOf: - - $ref: '#/definitions/TokenPostSimple' - - $ref: '#/definitions/TokenPostImpersonation' - x-examples: - application/json: |- - { - "channel_id": 1, - "expires_at": 1620766652, - "allowed_cors_origins": - ["https://www.yourstorefront.com"] - - } + content: {} + x-codegen-request-body-name: body delete: tags: - API Token + summary: Revoke a Token description: Revoke access for a Storefront API token. operationId: revokeToken parameters: - - in: header - name: Sf-Api-Token + - name: store_hash + in: path required: true + schema: + type: string + - name: Sf-Api-Token + in: header description: An existing JWT token that you want to revoke. - type: string + required: true + schema: + type: string responses: '200': description: A storefront API token revocation has been scheduled. + content: {} '401': description: Unauthorized - the v3 Auth client ID or token in the request are not a valid combination for this store. + content: {} '403': description: Missing scope - the v3 Auth token is valid but does not have proper permissions to access this endpoint. + content: {} '422': description: Invalid JWT Token provided or missing JWT token header - summary: Revoke a Token - parameters: - - type: string - name: store_hash - in: path - required: true + content: {} '/stores/{store_hash}/v3/storefront/api-token-customer-impersonation': post: tags: - Customer Impersonation Token + summary: Create a Token description: |- Returns a Storefront API token that allows your application to impersonate customers when making GraphQL `POST` requests. For more information on how to use the returned token, see [customer impersonation tokens](/api-reference/cart-checkout/storefront-api-token/customer-impersonation-token/createtokenwithcustomerimpersonation). **Required Scopes** * `Manage` `Storefront API Customer Impersonation Tokens` operationId: createTokenWithCustomerImpersonation + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TokenPostImpersonation' + required: false responses: '200': - $ref: '#/responses/TokenResponse' + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Token_Full' '401': description: Unauthorized - the v3 Auth client ID or token in the request are not a valid combination for this store. + content: {} '403': description: Missing scope - the v3 Auth token is valid but does not have proper permissions to access this endpoint. + content: {} '422': description: Invalid JSON request body - missing or invalid data - parameters: - - in: body - name: body - schema: - $ref: '#/definitions/TokenPostImpersonation' - x-examples: - application/json: |- - { - "channel_id": 19079517, - "expires_at": {$$.env.expires_at} - } - summary: Create a Token - parameters: - - type: string - name: store_hash - in: path - required: true -security: - - X-Auth-Token: [] -definitions: - TokenPostImpersonation: - type: object - properties: - channel_id: - type: integer - description: Channel ID for requested token - minimum: 0 - expires_at: - type: integer - description: Unix timestamp (UTC time) defining when the token should expire. - format: double - default: 1620766652 - required: - - channel_id - - expires_at - x-internal: false - TokenPostSimple: - type: object - properties: - allowed_cors_origins: - type: array - description: List of allowed domains for Cross-Origin Request Sharing. Currently only accepts a single element. - minItems: 1 - maxItems: 1 - example: 'https://www.yourstorefront.com/' - items: + content: {} +components: + schemas: + TokenPostImpersonation: + type: object + x-internal: false + x-examples: {} + properties: + channel_id: + type: integer + minimum: 1 + description: Channel ID for requested token + example: 1 + expires_at: + type: integer + description: Unix timestamp (UTC time) defining when the token should expire. + example: 1885635176 + minimum: 0 + required: + - channel_id + - expires_at + TokenPostSimple: + type: object + properties: + allowed_cors_origins: + maxItems: 1 + minItems: 1 + type: array + description: List of allowed domains for Cross-Origin Request Sharing. Currently only accepts a single element. + items: + maxLength: 1 + minLength: 1 + pattern: '/^https?:\/\/(?=.{1,254}(?::|$))(?:(?!\d|-)(?![a-z0-9\-]{1,62}-(?:\.|:|$))[a-z0-9\-]{1,63}\b(?!\.$)\.?)+(:\d+)?$/i;' + type: string + x-internal: false + x-examples: + example-1: + allowed_cors_origins: + - 'https://www.yourstorefront.com/' + Token_Full: + type: object + properties: + data: + $ref: '#/components/schemas/Token_Base' + meta: + type: object + properties: {} + x-internal: false + Token_Base: + type: object + properties: + token: type: string - minLength: 1 - maxLength: 1 - pattern: '/^https?:\/\/(?=.{1,254}(?::|$))(?:(?!\d|-)(?![a-z0-9\-]{1,62}-(?:\.|:|$))[a-z0-9\-]{1,63}\b(?!\.$)\.?)+(:\d+)?$/i;' - x-internal: false - Token_Full: - type: object - properties: - data: - $ref: '#/definitions/Token_Base' - meta: - type: object - x-internal: false - Token_Base: - type: object - properties: - token: - type: string - description: JWT Token for accessing the Storefront API - x-internal: false - ErrorResponse: - allOf: - - $ref: '#/definitions/BaseError' - - type: object - properties: - errors: - $ref: '#/definitions/DetailedErrors' - x-internal: false - 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: + description: JWT Token for accessing the Storefront API + x-internal: false + ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/DetailedErrors' + x-internal: false + BaseError: + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + DetailedErrors: + type: object + additionalProperties: type: string - x-internal: false - DetailedErrors: - type: object - additionalProperties: - type: string - x-internal: false -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json -securityDefinitions: - X-Auth-Token: - type: apiKey - in: header - description: |- - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication) - name: X-Auth-Token + x-internal: false + responses: + TokenResponse: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Token_Full' + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Accept: application/json + X-Auth-Token: {access_token} + ``` + + For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication) + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true showModels: false -responses: - TokenResponse: - description: '' - schema: - $ref: '#/definitions/Token_Full' diff --git a/reference/subscribers.v3.yml b/reference/subscribers.v3.yml index 4fdb3c8ff..94611266d 100644 --- a/reference/subscribers.v3.yml +++ b/reference/subscribers.v3.yml @@ -1,7 +1,6 @@ -swagger: '2.0' +openapi: 3.0.1 info: title: Subscribers - version: '' description: |- Manage subscribers. @@ -27,98 +26,122 @@ info: ``` * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - termsOfService: '' + termsOfService: "" license: - name: '' -host: api.bigcommerce.com -basePath: / + name: "" + version: "" +servers: +- url: https://api.bigcommerce.com +security: +- X-Auth-Token: [] tags: - - name: Subscribers - description: BigCommerce Customers API Definition. -schemes: - - https -produces: - - application/json -consumes: - - application/json +- name: Subscribers + description: BigCommerce Customers API Definition. paths: - '/stores/{store_hash}/v3/customers/subscribers': + /stores/{store_hash}/v3/customers/subscribers: get: - description: Returns a list of *Subscribers*. Optional filter parameters can be passed in. + tags: + - Subscribers + summary: Get Subscribers + description: Returns a list of *Subscribers*. Optional filter parameters can + be passed in. operationId: getSubscribers parameters: - - name: email - description: | - Filter items by email. - required: false - in: query + - name: store_hash + in: path + required: true + schema: type: string - - name: first_name - description: | - Filter items by first_name. - required: false - in: query + - name: email + in: query + description: | + Filter items by email. + schema: type: string - - name: last_name - description: | - Filter items by last_name. - required: false - in: query + - name: first_name + in: query + description: | + Filter items by first_name. + schema: type: string - - name: source - description: | - Filter items by source. - required: false - in: query + - name: last_name + in: query + description: | + Filter items by last_name. + schema: type: string - - name: order_id - description: | - Filter items by order_id. - required: false - in: query + - name: source + in: query + description: | + Filter items by source. + schema: + type: string + - name: order_id + in: query + description: | + Filter items by order_id. + schema: type: integer - - name: date_created - description: | - Filter items by date_created. - required: false - in: query + - name: date_created + in: query + description: | + Filter items by date_created. + schema: type: string format: date-time - - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false - in: query + - name: date_modified + in: query + description: Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15` + schema: type: string format: date-time - - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false - in: query + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: type: integer - - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false - in: query + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) + list of products. + schema: type: integer - - in: header + - name: Accept + in: header + schema: type: string - name: Accept default: application/json - - name: Content-Type - in: header + - name: Content-Type + in: header + schema: type: string default: application/json - - type: integer - in: query - name: id - description: Filter items by id. + - name: id + in: query + description: Filter items by id. + schema: + type: integer responses: '200': - $ref: '#/responses/subrscriberCollection_Resp' - tags: - - Subscribers - summary: Get Subscribers + description: "" + content: + application/json: + schema: + title: Subscriber Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/subscriber_Full' + meta: + $ref: '#/components/schemas/CollectionMeta' + description: | + Response payload for the BigCommerce API. post: + tags: + - Subscribers + summary: Create a Subscriber description: |- Creates a *Subscriber*. @@ -129,445 +152,406 @@ paths: * id operationId: createSubscriber parameters: - - name: subscriber - in: body - required: true - schema: - $ref: '#/definitions/subscriber_Post' - x-examples: - application/json: - email: janedoe2@example.com - first_name: Jane - last_name: Doe - source: mailchimp - - in: header + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + schema: type: string - name: Accept default: application/json - - name: Content-Type - in: header + - name: Content-Type + in: header + schema: type: string default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_Post' + required: true responses: '200': - $ref: '#/responses/subscriber_Resp' + description: "" + content: + application/json: + schema: + title: Subscriber Response + type: object + properties: + data: + $ref: '#/components/schemas/subscriber_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. '409': description: | The `Subscriber` was in conflict with another subscriber. This is the result of duplicate unique values, such as email. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. + content: + application/json: + schema: + title: Error Response + type: object properties: + errors: + title: Detailed Errors + type: object + properties: + additionalProperties: + type: string + instance: + type: string status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string - instance: - type: string - title: Base Error - - type: object + '422': + description: | + The `Subscriber` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: - type: object title: Detailed Errors + type: object properties: additionalProperties: type: string - title: Error Response - '422': - description: | - The `Subscriber` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. - properties: + instance: + type: string status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string - instance: - type: string - title: Base Error - - type: object - properties: - errors: - type: object - title: Detailed Errors - properties: - additionalProperties: - type: string - title: Error Response - tags: - - Subscribers - summary: Create a Subscriber + x-codegen-request-body-name: subscriber delete: - description: 'By default, it deletes all *Subscribers*. A filter should be added to avoid deleting all subscribers in a store.' + tags: + - Subscribers + summary: Delete Subscribers + description: By default, it deletes all *Subscribers*. A filter should be added + to avoid deleting all subscribers in a store. operationId: deleteSubscribers parameters: - - name: email - description: | - Filter items by email. - required: false - in: query + - name: store_hash + in: path + required: true + schema: type: string - - name: first_name - description: | - Filter items by first_name. - required: false - in: query + - name: email + in: query + description: | + Filter items by email. + schema: type: string - - name: last_name - description: | - Filter items by last_name. - required: false - in: query + - name: first_name + in: query + description: | + Filter items by first_name. + schema: type: string - - name: source - description: | - Filter items by source. - required: false - in: query + - name: last_name + in: query + description: | + Filter items by last_name. + schema: type: string - - name: order_id - description: | - Filter items by order_id. - required: false - in: query + - name: source + in: query + description: | + Filter items by source. + schema: + type: string + - name: order_id + in: query + description: | + Filter items by order_id. + schema: type: integer - - name: date_created - description: | - Filter items by date_created. - required: false - in: query + - name: date_created + in: query + description: | + Filter items by date_created. + schema: type: string format: date-time - - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false - in: query + - name: date_modified + in: query + description: Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15` + schema: type: string format: date-time - - in: header + - name: Accept + in: header + schema: type: string - name: Accept default: application/json - - name: Content-Type - in: header + - name: Content-Type + in: header + schema: type: string default: application/json responses: '204': - description: '' + description: "" + content: {} + /stores/{store_hash}/v3/customers/subscribers/{subscriber_id}: + get: tags: - - Subscribers - summary: Delete Subscribers - parameters: - - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/subscribers/{subscriber_id}': - parameters: + - Subscribers + summary: Get a Subscriber + description: Returns a *Subscriber*. + operationId: getSubscriberById + parameters: - name: subscriber_id in: path description: | The ID of the `Subscriber` requested. required: true - type: integer - - type: string - name: store_hash + schema: + type: integer + - name: store_hash in: path required: true - get: - description: Returns a *Subscriber*. - operationId: getSubscriberById + schema: + type: string + - name: Accept + in: header + schema: + type: string + default: application/json + - name: Content-Type + in: header + schema: + type: string + default: application/json responses: '200': - $ref: '#/responses/subscriber_Resp' + description: "" + content: + application/json: + schema: + title: Subscriber Response + type: object + properties: + data: + $ref: '#/components/schemas/subscriber_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. '404': description: | The resource was not found. - schema: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: Not Found - tags: - - Subscribers - summary: Get a Subscriber - parameters: - - in: header - type: string - name: Accept - default: application/json - - name: Content-Type - in: header - type: string - default: application/json + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. put: + tags: + - Subscribers + summary: Update a Subscriber + description: |- + Updates a *Subscriber*. + + **Read Only Fields** + * id operationId: updateSubscriber parameters: - - name: subscriber - in: body - required: true - schema: - $ref: '#/definitions/subscriber_Put' - x-examples: - application/json: - email: janed@example.com - - in: header + - name: subscriber_id + in: path + description: | + The ID of the `Subscriber` requested. + required: true + schema: + type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + schema: type: string - name: Accept default: application/json - - name: Content-Type - in: header + - name: Content-Type + in: header + schema: type: string default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_Put' + required: true responses: '200': - $ref: '#/responses/subscriber_Resp' + description: "" + content: + application/json: + schema: + title: Subscriber Response + type: object + properties: + data: + $ref: '#/components/schemas/subscriber_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. '404': description: | The resource was not found. - schema: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: Not Found - '409': - description: | - The `Subscriber` was in conflict with another subscriber. This is the result of duplicate unique values, such as `email`. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. + content: + application/json: + schema: + title: Not Found + type: object properties: status: - description: | - The HTTP status code. type: integer - title: description: | - The error title describing the particular error. + 404 HTTP status code. + title: type: string + description: The error title describing the particular error. type: type: string instance: type: string - title: Base Error - - type: object + description: Error payload for the BigCommerce API. + '409': + description: | + The `Subscriber` was in conflict with another subscriber. This is the result of duplicate unique values, such as `email`. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: - type: object title: Detailed Errors + type: object properties: additionalProperties: type: string - title: Error Response - '422': - description: | - The `Subscriber` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - schema: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. - properties: + instance: + type: string status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string - instance: - type: string - title: Base Error - - type: object + '422': + description: | + The `Subscriber` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object properties: errors: - type: object title: Detailed Errors + type: object properties: additionalProperties: type: string - title: Error Response - tags: - - Subscribers - summary: Update a Subscriber - description: |- - Updates a *Subscriber*. - - **Read Only Fields** - * id + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: subscriber delete: - description: Deletes a *Subscriber*. - operationId: deleteSubscriberById - responses: - '204': - description: '' tags: - - Subscribers + - Subscribers summary: Delete a Subscriber + description: Deletes a *Subscriber*. + operationId: deleteSubscriberById parameters: - - name: Content-Type - in: header + - name: subscriber_id + in: path + description: | + The ID of the `Subscriber` requested. + required: true + schema: + type: integer + - name: store_hash + in: path + required: true + schema: + type: string + - name: Content-Type + in: header + schema: type: string default: application/json - - in: header + - name: Accept + in: header + schema: type: string - name: Accept default: application/json -parameters: - FilterEmailParam: - name: email - description: | - Filter items by email. - required: false - in: query - type: string - FilterFirstNameParam: - name: first_name - description: | - Filter items by first_name. - required: false - in: query - type: string - FilterLastNameParam: - name: last_name - description: | - Filter items by last_name. - required: false - in: query - type: string - FilterSourceParam: - name: source - description: | - Filter items by source. - required: false - in: query - type: string - FilterOrderIdParam: - name: order_id - description: | - Filter items by order_id. - required: false - in: query - type: integer - FilterDateModifiedParam: - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false - in: query - type: string - format: date-time - FilterDateCreatedParam: - name: date_created - description: | - Filter items by date_created. - required: false - in: query - type: string - format: date-time - PageParam: - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false - in: query - type: integer - LimitParam: - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false - in: query - type: integer - ScriptsSortKeyParam: - name: sort - description: | - Scripts field name to sort by. - required: false - in: query - type: string - enum: - - name - - description - - date_created - - date_modified - DirectionParam: - name: direction - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - required: false - in: query - type: string - enum: - - asc - - desc - SubscriberIdParam: - name: subscriber_id - in: path - description: | - The ID of the `Subscriber` requested. - required: true - type: integer - Accept: - in: header - type: string - name: Accept - default: application/json - Content-Type: - name: Content-Type - in: header - type: string - default: application/json -definitions: - subscriber_Full: - title: subscriber_Full - description: Full subscriber object returned in responses. - allOf: - - $ref: '#/definitions/subscriber_Base' + responses: + '204': + description: "" + content: {} +components: + schemas: + subscriber_Full: + title: subscriber_Full + description: Full subscriber object returned in responses. + allOf: + - $ref: '#/components/schemas/subscriber_Base' - type: object properties: id: @@ -575,365 +559,474 @@ definitions: description: The unique numeric ID of the subscriber; increments sequentially. date_modified: type: string - format: date-time description: | The date on which the subscriber was modified. + format: date-time date_created: type: string - format: date-time description: | The date of which the subscriber was created. - x-internal: false - subscriber_Base: - type: object - description: Common Subscriber properties. - title: subscriber_Base - properties: - email: - type: string - description: | - The email of the subscriber. Must be unique. - x-required: + format: date-time + x-internal: false + subscriber_Base: + title: subscriber_Base + type: object + properties: + email: + type: string + description: | + The email of the subscriber. Must be unique. + x-required: - post - first_name: - type: string - description: | - The first name of the subscriber. - minLength: 0 - maxLength: 255 - last_name: - type: string - description: | - The last name of the subscriber. - minLength: 0 - maxLength: 255 - source: - type: string - description: | - The source of the subscriber. Values are: `storefront`, `order`, or `custom`. - minLength: 0 - maxLength: 255 - order_id: - type: integer - description: | - The ID of the source order, if source was an order. - x-nullable: true - minimum: 1 - maximum: 2147483647 - channel_id: - type: integer - minimum: 1 - maximum: 2147483647 - description: The channel ID where the subscriber was created. - x-internal: false - Subscriber: - type: object - allOf: - - type: object - description: Common Subscriber properties. + first_name: + maxLength: 255 + minLength: 0 + type: string + description: | + The first name of the subscriber. + last_name: + maxLength: 255 + minLength: 0 + type: string + description: | + The last name of the subscriber. + source: + maxLength: 255 + minLength: 0 + type: string + description: | + The source of the subscriber. Values are: `storefront`, `order`, or `custom`. + order_id: + maximum: 2147483647 + minimum: 1 + type: integer + description: | + The ID of the source order, if source was an order. + nullable: true + channel_id: + maximum: 2147483647 + minimum: 1 + type: integer + description: The channel ID where the subscriber was created. + description: Common Subscriber properties. + x-internal: false + Subscriber: + allOf: + - title: Subscriber Base + type: object properties: id: type: integer description: | The unique numeric ID of the subscriber; increments sequentially. x-required: - - put + - put email: type: string description: | The email of the subscriber. Must be unique. x-required: - - post + - post first_name: + maxLength: 255 + minLength: 0 type: string description: | The first name of the subscriber. - minLength: 0 - maxLength: 255 last_name: + maxLength: 255 + minLength: 0 type: string description: | The last name of the subscriber. - minLength: 0 - maxLength: 255 source: + maxLength: 255 + minLength: 0 type: string description: | The source of the subscriber. Values are: `storefront`, `order`, or `custom`. - minLength: 0 - maxLength: 255 order_id: + maximum: 2147483647 + minimum: 1 type: integer description: | The ID of the source order, if source was an order. - x-nullable: true - minimum: 1 - maximum: 2147483647 - title: Subscriber Base + nullable: true + description: Common Subscriber properties. - type: object properties: date_modified: type: string - format: date-time description: | The date on which the subscriber was modified. + format: date-time date_created: type: string - format: date-time description: | The date of which the subscriber was created. - x-internal: false - subscriber_Post: - description: | - The model for a POST to create a subscriber. - allOf: - - $ref: '#/definitions/subscriber_Base' - title: subscriber_Post - x-internal: false - subscriber_Put: - description: | - The model for a PUT to update a subscriber. - allOf: - - $ref: '#/definitions/subscriber_Base' - title: subscriber_Put - x-internal: false - CollectionMeta: - type: object - description: 'Data about the response, including pagination and collection totals.' - properties: - pagination: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - title: Collection Meta - x-internal: false - Pagination: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: + format: date-time + x-internal: false + subscriber_Post: + title: subscriber_Post + description: | + The model for a POST to create a subscriber. + allOf: + - $ref: '#/components/schemas/subscriber_Base' + x-internal: false + subscriber_Put: + title: subscriber_Put + description: | + The model for a PUT to update a subscriber. + allOf: + - $ref: '#/components/schemas/subscriber_Base' + x-internal: false + CollectionMeta: + title: Collection Meta + type: object + properties: + pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: ?page=1&limit=50 + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: Data about the response, including pagination and collection + totals. + description: Data about the response, including pagination and collection totals. + x-internal: false + Pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: ?page=1&limit=50 + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: Data about the response, including pagination and collection totals. + x-internal: false + Meta: + title: Meta + type: object + description: Empty meta object; may be used later. + x-internal: false + ErrorResponse: + title: Error Response + allOf: + - title: Base Error type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - x-internal: false - Meta: - type: object - description: Empty meta object; may be used later. - title: Meta - x-internal: false - ErrorResponse: - allOf: - - type: object - description: | - Error payload for the BigCommerce API. properties: status: + type: integer description: | The HTTP status code. - type: integer title: + type: string description: | The error title describing the particular error. - type: string type: type: string instance: type: string - title: Base Error + description: | + Error payload for the BigCommerce API. - type: object properties: errors: - type: object title: Detailed Errors + type: object properties: additionalProperties: type: string - title: Error Response - x-internal: false - 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. + x-internal: false + BaseError: + title: Base Error + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + NotFound: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-internal: false + DetailedErrors: + title: Detailed Errors + type: object + properties: + additionalProperties: + type: string + x-internal: false + responses: + subrscriberCollection_Resp: + description: "" + content: + application/json: + schema: + title: Subscriber Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/subscriber_Full' + meta: + $ref: '#/components/schemas/CollectionMeta' + description: | + Response payload for the BigCommerce API. + subscriber_Resp: + description: "" + content: + application/json: + schema: + title: Subscriber Response + type: object + properties: + data: + $ref: '#/components/schemas/subscriber_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + parameters: + FilterEmailParam: + name: email + in: query + description: | + Filter items by email. + schema: type: string - type: + FilterFirstNameParam: + name: first_name + in: query + description: | + Filter items by first_name. + schema: type: string - instance: + FilterLastNameParam: + name: last_name + in: query + description: | + Filter items by last_name. + schema: type: string - title: Base Error - x-internal: false - NotFound: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. + FilterSourceParam: + name: source + in: query + description: | + Filter items by source. + schema: + type: string + FilterOrderIdParam: + name: order_id + in: query + description: | + Filter items by order_id. + schema: + type: integer + FilterDateModifiedParam: + name: date_modified + in: query + description: Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15` + schema: + type: string + format: date-time + FilterDateCreatedParam: + name: date_created + in: query + description: | + Filter items by date_created. + schema: + type: string + format: date-time + PageParam: + name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: type: integer - title: - description: The error title describing the particular error. + LimitParam: + name: limit + in: query + description: Controls the number of items per page in a limited (paginated) + list of products. + schema: + type: integer + ScriptsSortKeyParam: + name: sort + in: query + description: | + Scripts field name to sort by. + schema: type: string - type: + enum: + - name + - description + - date_created + - date_modified + DirectionParam: + name: direction + in: query + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + schema: type: string - instance: + enum: + - asc + - desc + SubscriberIdParam: + name: subscriber_id + in: path + description: | + The ID of the `Subscriber` requested. + required: true + schema: + type: integer + Accept: + name: Accept + in: header + schema: type: string - title: Not Found - x-internal: false - DetailedErrors: - type: object - title: Detailed Errors - properties: - additionalProperties: + default: application/json + Content-Type: + name: Content-Type + in: header + schema: type: string - x-internal: false -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Customers | modify | `store_v2_customers` | - | Customers | read-only | `store_v2_customers_read_only` | + default: application/json + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Customers | modify | `store_v2_customers` | + | Customers | read-only | `store_v2_customers_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] -responses: - subrscriberCollection_Resp: - description: '' - schema: - description: | - Response payload for the BigCommerce API. - type: object - title: Subscriber Collection Response - properties: - data: - type: array - items: - $ref: '#/definitions/subscriber_Full' - meta: - $ref: '#/definitions/CollectionMeta' - subscriber_Resp: - description: '' - schema: - type: object - title: Subscriber Response - properties: - data: - $ref: '#/definitions/subscriber_Full' - meta: - type: object - description: Empty meta object; may be used later. - title: Meta + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true diff --git a/reference/subscriptions.sf.yml b/reference/subscriptions.sf.yml index b12d3e92d..8f6638122 100644 --- a/reference/subscriptions.sf.yml +++ b/reference/subscriptions.sf.yml @@ -1,4 +1,4 @@ -swagger: '2.0' +openapi: 3.0.1 info: title: Storefront Subscriptions description: |- @@ -9,19 +9,17 @@ info: * [Collecting Newsletter Subscriptions](https://support.bigcommerce.com/s/article/Collecting-Newsletter-Subscriptions) (support.bigcommerce.com) * [Customers Overview](/api-docs/customers/customers-subscribers-overview) * [Working with Storefront APIs](/api-docs/cart-and-checkout/working-sf-apis) - version: '' -consumes: - - application/json -produces: - - application/json + version: "" +servers: +- url: https://{$$.env.store_domain} +tags: +- name: Subscription paths: /subscriptions: post: - responses: - '200': - description: '' - schema: - $ref: '#/definitions/Subscription' + tags: + - Subscription + summary: Create a Subscription description: |- Creates or updates an email subscription. @@ -32,76 +30,74 @@ paths: <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. - parameters: - - in: body - name: body - schema: - $ref: '#/definitions/SubscriptionRequest' - summary: Create a Subscription - tags: - - Subscription -definitions: - SubscriptionRequest: - type: object - properties: - email: - type: string - description: Email of subscriber - acceptsMarketingNewsletter: - type: boolean - description: Has subscriber provided consent for receiving Marketing emails. - acceptsAbandonedCartEmails: - type: boolean - description: Has subscriber provided consent for receiving Abandon Cart emails. - x-internal: false - Subscription: - type: object - description: Subscription properties. - properties: - id: - type: integer - description: | - The unique numeric ID of the subscriber; increments sequentially. - email: - type: string - description: | - The email of the subscriber. Must be unique. - firstName: - type: string - description: | - The first name of the subscriber. - minLength: 0 - maxLength: 255 - lastName: - type: string - description: | - The last name of the subscriber. - minLength: 0 - maxLength: 255 - source: - type: string - description: | - The source of the subscriber. Values are: `storefront`, `order`, or `custom`. - minLength: 0 - maxLength: 255 - orderId: - type: integer - description: | - The ID of the source order, if source was an order. - x-nullable: true - minimum: 1 - maximum: 2147483647 - consents: - type: array - description: | - The collection of consents the shopper is subscribing to. - x-internal: false -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -host: '{$$.env.store_domain}' -tags: - - name: Subscription -schemes: - - https + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionRequest' + required: false + responses: + '200': + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' +components: + schemas: + SubscriptionRequest: + type: object + properties: + email: + type: string + description: Email of subscriber + acceptsMarketingNewsletter: + type: boolean + description: Has subscriber provided consent for receiving Marketing emails. + acceptsAbandonedCartEmails: + type: boolean + description: Has subscriber provided consent for receiving Abandon Cart + emails. + x-internal: false + Subscription: + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the subscriber; increments sequentially. + email: + type: string + description: | + The email of the subscriber. Must be unique. + firstName: + maxLength: 255 + minLength: 0 + type: string + description: | + The first name of the subscriber. + lastName: + maxLength: 255 + minLength: 0 + type: string + description: | + The last name of the subscriber. + source: + maxLength: 255 + minLength: 0 + type: string + description: | + The source of the subscriber. Values are: `storefront`, `order`, or `custom`. + orderId: + maximum: 2147483647 + minimum: 1 + type: integer + description: | + The ID of the source order, if source was an order. + nullable: true + consents: + type: array + description: | + The collection of consents the shopper is subscribing to. + description: Subscription properties. + x-internal: false diff --git a/reference/tax_classes.v2.yml b/reference/tax_classes.v2.yml index 1d53690e9..45148c510 100644 --- a/reference/tax_classes.v2.yml +++ b/reference/tax_classes.v2.yml @@ -1,213 +1,207 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Tax Classes - description: 'Manage tax calculations applied to sales. Tax classes are used to apply different tax rates for specific types of products and orders. This API is read only. Classes must be set using the [Control Panel](https://forum.bigcommerce.com/s/article/Taxes-Video#).' -host: api.bigcommerce.com -schemes: - - https -consumes: - - application/json -produces: - - application/json + contact: {} + description: Manage tax calculations applied to sales. Tax classes are used to apply + different tax rates for specific types of products and orders. This API is read + only. Classes must be set using the [Control Panel](https://forum.bigcommerce.com/s/article/Taxes-Video#). + version: "" +servers: +- url: https://api.bigcommerce.com +security: +- X-Auth-Token: [] +tags: +- name: Taxes paths: - '/stores/{store_hash}/v2/tax_classes': + /stores/{store_hash}/v2/tax_classes: get: + tags: + - Taxes + summary: Get All Tax Classes description: |- Returns a list of all *Tax Classes* in a store. Default sorting is by tax-class id, from lowest to highest. - summary: Get All Tax Classes - tags: - - Taxes - produces: - - application/json + operationId: getAllTaxClasses parameters: - - name: Accept - in: header - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: type: string - description: '' default: application/json - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' default: application/json - - name: page - in: query - required: false - type: number + - name: page + in: query + description: Optional filter param. Number of pages. + schema: + maximum: 50 exclusiveMaximum: false exclusiveMinimum: false - description: Optional filter param. Number of pages. - maximum: 50 - - name: limit - in: query - required: false type: number + - name: limit + in: query + description: Optional filter param. Number of items per page + schema: + maximum: 250 exclusiveMaximum: false exclusiveMinimum: false - description: Optional filter param. Number of items per page - maximum: 250 + type: number responses: '200': - description: '' - schema: - type: array - items: - $ref: '#/definitions/taxClass_Full' - examples: + description: "" + content: application/json: - - id: 1 + schema: + type: array + items: + $ref: '#/components/schemas/taxClass_Full' + example: + - id: '1' name: Non-Taxable Products - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' - - id: 2 + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z + - id: '2' name: Shipping - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' - - id: 3 + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z + - id: '3' name: Gift Wrapping - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z Response Schema: + example: - id: proident irure consequat anim name: sed non commodo et tempor - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z - id: consequat voluptate name: sunt ex - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - operationId: getAllTaxClasses - parameters: - - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/tax_classes/{id}': + /stores/{store_hash}/v2/tax_classes/{id}: get: - description: Returns a single *Tax Class*. - summary: Get a Tax Class tags: - - Taxes + - Taxes + summary: Get a Tax Class + description: Returns a single *Tax Class*. + operationId: getATaxClass parameters: - - name: id - in: path - required: true + - name: store_hash + in: path + required: true + schema: + type: string + - name: id + in: path + description: Id of the tax class. + required: true + schema: type: integer - description: Id of the tax class. - - name: Accept - in: header - required: true + - name: Accept + in: header + required: true + schema: type: string - description: '' - - name: Content-Type - in: header - required: true + - name: Content-Type + in: header + required: true + schema: type: string - description: '' responses: '200': - description: '' - schema: - $ref: '#/definitions/taxClass_Full' - examples: + description: "" + content: application/json: - id: 1 - name: Shipping - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' + schema: + $ref: '#/components/schemas/taxClass_Full' + example: + id: '1' + name: Shipping + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z Response Schema: - id: ut pariatur eiusmod non - name: dolore nulla Duis Ut ea - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' + example: + id: ut pariatur eiusmod non + name: dolore nulla Duis Ut ea + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - operationId: getATaxClass - parameters: - - type: string - name: store_hash - in: path - required: true - - type: string - name: id - in: path - required: true -definitions: - taxClass_Full: - title: taxClass_Full - example: - id: 1 - name: Shipping - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' - type: object - properties: - id: - description: The unique numerical ID of the tax class. A read-only value which is automatically assigned and increments sequentially. - example: 1 - type: string - name: - description: The name of the tax class. - example: Shipping - type: string - created_at: - description: Date and time of the tax class' creation. Read-Only. - example: '2018-05-07T20:14:17+00:00' - format: date-time - type: string - updated_at: - description: Date and time when the tax class was last updated. Read-Only. - example: '2018-05-07T20:14:17+00:00' - format: date-time - type: string - x-internal: false -tags: - - name: Taxes -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | modify | `store_v2_information` | - | Information & Settings | read-only | `store_v2_information_read_only` | - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] +components: + schemas: + taxClass_Full: + title: taxClass_Full + type: object + properties: + id: + type: string + description: The unique numerical ID of the tax class. A read-only value + which is automatically assigned and increments sequentially. + example: "1" + name: + type: string + description: The name of the tax class. + example: Shipping + created_at: + type: string + description: Date and time of the tax class' creation. Read-Only. + format: date-time + example: 2018-05-07T20:14:17Z + updated_at: + type: string + description: Date and time when the tax class was last updated. Read-Only. + format: date-time + example: 2018-05-07T20:14:17Z + example: + id: '1' + name: Shipping + created_at: 1973-01-20T21:34:57.903Z + updated_at: 1990-12-30T00:29:23.515Z + x-internal: false + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Information & Settings | modify | `store_v2_information` | + | Information & Settings | read-only | `store_v2_information_read_only` | + ### Headers + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + ### Example + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index a86158dba..28a7f1c2d 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -51,8 +51,6 @@ tags: description: BigCommerce Widgets API Definition. - name: Placement description: BigCommerce Placements API Definition. - - name: Layout - description: BigCommerce Layouts API Definition. paths: '/stores/{store_hash}/v3/content/widget-templates': post: @@ -1589,14 +1587,6 @@ components: type: string instance: string errors: {} - new: - description: Example response - content: - application/json: - schema: - properties: - id: - type: string securitySchemes: X-Auth-Token: type: apiKey @@ -1645,6 +1635,7 @@ components: format: html x-tags: - Models + title: '' widgetTemplate_Put: allOf: - $ref: '#/components/schemas/widgetTemplate_Base' @@ -1682,6 +1673,14 @@ components: required: - name - template + x-examples: + example-1: + name: string + schema: + - tab + template: string + storefront_api_query: string + channel_id: 0 widgetTemplate_Full: allOf: - $ref: '#/components/schemas/widgetTemplate_Base' @@ -2012,6 +2011,7 @@ components: format: json description: The JSON data that populates the template. x-internal: false + x-examples: {} new-model: type: array items: @@ -2034,8 +2034,6 @@ components: type: object title: widgetSchemaTab description: '**Tab.** Use the **tab** settings type to create settings visible in Page Builder.' - enum: - - tab properties: type: type: string @@ -2135,6 +2133,7 @@ components: description: A single-object array containing a value from the `typeMeta`'s `selectOptions`. items: {} x-internal: false + x-examples: {} widgetSchemaTabSections: type: object title: widgetSchemaTabSections @@ -2252,11 +2251,13 @@ components: type: object title: widgetSchemaHidden description: '**Hidden.** Use the **hidden** settings type to create controls that have no user interface drawn in Page Builder. Hidden settings are not grouped into any other tabs or arrays.' - enum: - - hidden + x-internal: false properties: type: type: string + enum: + - hidden + example: hidden settings: type: array items: @@ -2333,7 +2334,6 @@ components: type: array description: A single-object array containing a value from the `typeMeta`'s `selectOptions`. items: {} - x-internal: false widgetSchemaTabSectionsSettings: type: object properties: {} diff --git a/reference/wishlists.v3.yml b/reference/wishlists.v3.yml index 1d1cc84c3..e668e1f03 100644 --- a/reference/wishlists.v3.yml +++ b/reference/wishlists.v3.yml @@ -1,8 +1,6 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: '' title: Wishlist - contact: {} description: |- Create and manage customer [wishlists](https://support.bigcommerce.com/s/article/Wishlists). @@ -26,766 +24,914 @@ info: ## Additional Information * [Wishlists](https://support.bigcommerce.com/s/article/Wishlists) -host: api.bigcommerce.com -basePath: / -schemes: - - https -consumes: - - application/json -produces: - - application/json + contact: {} + version: '' +servers: + - url: 'https://api.bigcommerce.com' +security: + - X-Auth-Token: [] +tags: + - name: Wishlists + description: '' + - name: Wishlists Items paths: '/stores/{store_hash}/v3/wishlists': - post: - description: |- - Creates a wishlist and wishlist item. More than one item can be added in the POST. - - **Required Fields** - * name - * customer_id - summary: Create a Wishlist + get: tags: - Wishlists - operationId: WishlistsPost + summary: Get All Wishlists + description: Returns a list of wishlists. Optional filter parameters can be passed in. + operationId: WishlistsGet parameters: - - name: body - in: body + - name: store_hash + in: path required: true - description: '' schema: - $ref: '#/definitions/wishlist_Post' - x-examples: - application/json: - name: School Shopping - items: - - product_id: 77 - variant_id: 1 - - product_id: 80 - variant_id: 1 - - product_id: 81 - variant_id: 1 - - product_id: 86 - variant_id: 1 - - product_id: 88 - variant_id: 1 - customer_id: 10 - is_public: true + type: string + - name: customer_id + in: query + description: All wishlists relating to the customer. + schema: + type: integer + format: int32 + - name: page + in: query + description: The page number of results per page. 1 is the default and starts from record 0. + schema: + type: integer + format: int32 + - name: limit + in: query + description: The numbers of items to return per page. Default is 50 and maximum is 250. + schema: + type: integer + format: int32 - name: Accept in: header - type: string - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json responses: - '201': - $ref: '#/responses/Wishlist_Resp' + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/wishlist_Full' + meta: + $ref: '#/components/schemas/metaCollection' + example: + data: + - id: 1 + customer_id: 4 + name: My Wish List + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570d + items: [] + - id: 2 + customer_id: 11 + name: Christmas + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 1 + product_id: 167 + - id: 2 + product_id: 174 + - id: 3 + product_id: 184 + - id: 3 + customer_id: 20 + name: Birthday + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 4 + product_id: 184 + - id: 5 + product_id: 183 + - id: 4 + customer_id: 20 + name: Christmas + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 6 + product_id: 201 + - id: 5 + customer_id: 19 + name: Wish List + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 7 + product_id: 173 + - id: 8 + product_id: 176 + meta: + pagination: + total: 0 + count: 5 + per_page: 50 + current_page: 1 + total_pages: 0 '401': description: Authentication information is missing or invalid. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '500': description: Internal server error. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - get: - description: Returns a list of wishlists. Optional filter parameters can be passed in. - summary: Get All Wishlists + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string + post: tags: - Wishlists - operationId: WishlistsGet + summary: Create a Wishlist + description: |- + Creates a wishlist and wishlist item. More than one item can be added in the POST. + + **Required Fields** + * name + * customer_id + operationId: WishlistsPost parameters: - - name: customer_id - in: query - type: integer - format: int32 - description: All wishlists relating to the customer. - - in: query - type: integer - name: page - format: int32 - description: The page number of results per page. 1 is the default and starts from record 0. - - name: limit - in: query - type: integer - format: int32 - description: The numbers of items to return per page. Default is 50 and maximum is 250. + - name: store_hash + in: path + required: true + schema: + type: string - name: Accept in: header - type: string - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/wishlist_Post' + required: true responses: - '200': - $ref: '#/responses/wishlist_Resp_Collection' + '201': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/wishlist_Full' + meta: + type: object + properties: {} + example: + data: + id: 30 + customer_id: 10 + name: Christmas List + is_public: true + token: d2d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 44 + product_id: 77 + variant_id: 1 + - id: 45 + product_id: 80 + variant_id: 1 + - id: 46 + product_id: 81 + variant_id: 1 + - id: 47 + product_id: 86 + variant_id: 1 + - id: 48 + product_id: 88 + variant_id: 1 + meta: {} '401': description: Authentication information is missing or invalid. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '500': description: Internal server error. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - parameters: - - type: string - name: store_hash - in: path - required: true + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string + x-codegen-request-body-name: body '/stores/{store_hash}/v3/wishlists/{wishlist_id}/items/{item_id}': delete: - description: Deletes a wishlist item. + tags: + - Wishlists Items summary: Delete Wishlist Item + description: Deletes a wishlist item. operationId: WishlistsItemsByIdDelete parameters: - - name: wishlist_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: wishlist_id + in: path description: ID of the Wishlist - format: int32 + required: true + schema: + type: integer + format: int32 - name: Accept in: header - type: string - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json - - in: path - name: item_id - type: integer + schema: + type: string + default: application/json + - name: item_id + in: path required: true - format: int32 + schema: + type: integer + format: int32 responses: '200': - $ref: '#/responses/Wishlist_Resp' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/wishlist_Full' + meta: + type: object + properties: {} + example: + data: + id: 30 + customer_id: 10 + name: Christmas List + is_public: true + token: d2d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 44 + product_id: 77 + variant_id: 1 + - id: 45 + product_id: 80 + variant_id: 1 + - id: 46 + product_id: 81 + variant_id: 1 + - id: 47 + product_id: 86 + variant_id: 1 + - id: 48 + product_id: 88 + variant_id: 1 + meta: {} '401': description: Authentication information is missing or invalid. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '404': description: Wishlist not found. - schema: {} + content: + application/json: + schema: + type: object '500': description: Internal server error. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - tags: - - Wishlists Items - parameters: - - name: wishlist_id - in: path - type: string - required: true - - name: item_id - in: path - type: string - required: true - - type: string - name: store_hash - in: path - required: true + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '/stores/{store_hash}/v3/wishlists/{wishlist_id}': get: - description: Returns a single wishlist. - summary: Get a Wishlist tags: - Wishlists + summary: Get a Wishlist + description: Returns a single wishlist. operationId: WishlistsByIdGet parameters: - - name: wishlist_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: wishlist_id + in: path description: ID of the Wishlist - format: int32 + required: true + schema: + type: integer + format: int32 - name: Accept in: header - type: string - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json responses: '200': - $ref: '#/responses/Wishlist_Resp' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/wishlist_Full' + meta: + type: object + properties: {} + example: + data: + id: 30 + customer_id: 10 + name: Christmas List + is_public: true + token: d2d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 44 + product_id: 77 + variant_id: 1 + - id: 45 + product_id: 80 + variant_id: 1 + - id: 46 + product_id: 81 + variant_id: 1 + - id: 47 + product_id: 86 + variant_id: 1 + - id: 48 + product_id: 88 + variant_id: 1 + meta: {} '401': description: Authentication information is missing or invalid. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '404': description: Wishlist not found. - schema: {} + content: + application/json: + schema: + type: object '500': description: Internal server error. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string put: + tags: + - Wishlists + summary: Update a Wishlist description: |- Updates a wishlist. Use this endpoint to update existing wishlist items, change the wishlist's name and whether the wishlist is available publicly. To add or delete a wishlist item, see [Wishlist Items](/api-reference/store-management/wishlists/wishlists-items). - summary: Update a Wishlist - tags: - - Wishlists operationId: WishlistsByIdPut parameters: - - name: body - in: body + - name: store_hash + in: path required: true - description: '' schema: - $ref: '#/definitions/wishlist_Put' - x-examples: - application/json: - name: School Shopping - items: - - id: 1 - product_id: 2 - variant_id: 3 - customer_id: 10 - is_public: false + type: string - name: wishlist_id in: path - type: integer - required: true description: ID of the Wishlist - format: int32 + required: true + schema: + type: integer + format: int32 - name: Accept in: header - type: string - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/wishlist_Put' + required: true responses: '201': - $ref: '#/responses/Wishlist_Resp' + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/wishlist_Full' + meta: + type: object + properties: {} + example: + data: + id: 30 + customer_id: 10 + name: Christmas List + is_public: true + token: d2d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 44 + product_id: 77 + variant_id: 1 + - id: 45 + product_id: 80 + variant_id: 1 + - id: 46 + product_id: 81 + variant_id: 1 + - id: 47 + product_id: 86 + variant_id: 1 + - id: 48 + product_id: 88 + variant_id: 1 + meta: {} '401': description: Authentication information is missing or invalid. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '500': description: Internal server error. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string + x-codegen-request-body-name: body delete: - description: Deletes a wishlist. - summary: Delete a Wishlist tags: - Wishlists + summary: Delete a Wishlist + description: Deletes a wishlist. operationId: WishlistsByIdDelete parameters: - - name: wishlist_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: wishlist_id + in: path description: ID of the Wishlist - format: int32 + required: true + schema: + type: integer + format: int32 - name: Accept in: header - type: string - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json + schema: + type: string + default: application/json responses: '204': description: '' - headers: {} + content: {} '401': description: Authentication information is missing or invalid. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '500': description: Internal server error. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - parameters: - - name: wishlist_id - in: path - type: string - required: true - - type: string - name: store_hash - in: path - required: true + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string '/stores/{store_hash}/v3/wishlists/{wishlist_id}/items': - parameters: - - name: wishlist_id - in: path - type: string - required: true - - type: string - name: store_hash - in: path - required: true post: - responses: - '201': - $ref: '#/responses/Wishlist_Resp' - '401': - description: Authentication information is missing or invalid. - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - '404': - description: Wishlist not found. - '500': - description: Internal server error. + tags: + - Wishlists Items summary: Add Wishlist Item description: Adds a wishlist item. More than one item can be added at a time. operationId: WishlistsItemsByIdPost - tags: - - Wishlists Items parameters: - - name: wishlist_id + - name: store_hash in: path - type: integer required: true + schema: + type: string + - name: wishlist_id + in: path description: ID of the Wishlist - format: int32 + required: true + schema: + type: integer + format: int32 - name: Accept in: header - type: string - default: application/json + schema: + type: string + default: application/json - name: Content-Type in: header - type: string - default: application/json - - in: body - name: body schema: - $ref: '#/definitions/wishlistItem_Post' - x-examples: + type: string + default: application/json + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/wishlistItem_Post' + required: false + responses: + '201': + description: '' + content: application/json: - items: - - product_id: 10 - variant_id: 10 -definitions: - wishlist_Post: - title: wishlist_Post - type: object - properties: - customer_id: - description: The customer id. - type: integer - format: int32 - example: 12 - is_public: - description: Whether the wishlist is available to the public. - type: boolean - example: false - name: - description: The title of the wishlist. - type: string - example: School Shopping - items: - description: Array of wishlist items. - type: array - items: - title: Add item to wishlist - type: object - properties: - product_id: - description: The ID of the product. - type: integer - format: int32 - example: 12 - variant_id: - description: The variant ID of the product. - type: integer - format: int32 - example: 152 - required: - - customer_id - x-internal: false - wishlist_Put: - title: wishlist_Put - type: object - properties: - customer_id: - description: The customer ID. A read-only value. - type: integer - format: int32 - is_public: - description: Whether the wishlist is available to the public. - type: boolean - name: - description: The title of the wishlist. - type: string - items: - description: Array of wishlist items. - type: array + schema: + type: object + properties: + data: + $ref: '#/components/schemas/wishlist_Full' + meta: + type: object + properties: {} + example: + data: + id: 30 + customer_id: 10 + name: Christmas List + is_public: true + token: d2d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 44 + product_id: 77 + variant_id: 1 + - id: 45 + product_id: 80 + variant_id: 1 + - id: 46 + product_id: 81 + variant_id: 1 + - id: 47 + product_id: 86 + variant_id: 1 + - id: 48 + product_id: 88 + variant_id: 1 + meta: {} + '401': + description: Authentication information is missing or invalid. + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string + '404': + description: Wishlist not found. + content: {} + '500': + description: Internal server error. + content: {} + x-codegen-request-body-name: body +components: + schemas: + wishlist_Post: + title: wishlist_Post + required: + - customer_id + type: object + properties: + customer_id: + type: integer + description: The customer id. + format: int32 + example: 12 + is_public: + type: boolean + description: Whether the wishlist is available to the public. + example: false + name: + type: string + description: The title of the wishlist. + example: School Shopping items: - title: Wishlist item - type: object - properties: - id: - type: integer - example: 12 - format: int32 - description: The ID of the item. - product_id: - description: The ID of the product. - type: integer - format: int32 - example: 55 - variant_id: - description: The variant ID of the product. - type: integer - format: int32 - example: 22 - required: - - customer_id - - items - x-internal: false - wishlist_Full: - title: wishlist_Full - type: object - properties: - id: - description: 'Wishlist ID, provided after creating a wishlist with a POST.' - type: integer - format: int32 - example: 30 - customer_id: - description: The ID the customer to which the wishlist belongs. - type: integer - format: int32 - example: 12 - name: - description: The name of the wishlist. - type: string - example: Christmas List - is_public: - description: Whether the wishlist is available to the public. - type: boolean - example: true - token: - description: The token of the wishlist. This is created internally within BigCommerce. The wishlist ID is to be used for external apps. Read-Only. - type: string - format: uuid - example: 2d55481-13eb-4d1e-9d79-9062b518570d - items: - description: Array of wishlist items. - type: array + type: array + description: Array of wishlist items. + items: + title: Add item to wishlist + type: object + properties: + product_id: + type: integer + description: The ID of the product. + format: int32 + example: 12 + variant_id: + type: integer + description: The variant ID of the product. + format: int32 + example: 152 + x-internal: false + wishlist_Put: + title: wishlist_Put + required: + - customer_id + - items + type: object + properties: + customer_id: + type: integer + description: The customer ID. A read-only value. + format: int32 + is_public: + type: boolean + description: Whether the wishlist is available to the public. + name: + type: string + description: The title of the wishlist. items: - $ref: '#/definitions/wishlistItem_Full' - x-internal: false - wishlistItem_Full: - title: wishlistItem_Full - type: object - properties: - id: - description: The ID of the item. - type: integer - format: int32 - example: 12 - product_id: - description: The ID of the product. - type: integer - format: int32 - example: 55 - variant_id: - description: The variant ID of the product. - type: integer - format: int32 - example: 22 - x-internal: false - wishlistItem_Post: - title: wishlistItem_Post - type: object - properties: - product_id: - description: The ID of the product. - type: integer - format: int32 - example: 12 - variant_id: - description: The variant ID of the product. - type: integer - format: int32 - example: 152 - x-internal: false - pagination: - title: pagination - description: 'Data about the response, including pagination and collection totals.' - type: object - properties: - total: - description: Total number of items in the result set. - type: integer - format: int32 - count: - description: Total number of items in the collection response. - type: integer - format: int32 - per_page: - description: 'The amount of items returned in the collection per page, controlled by the limit parameter.' - type: integer - format: int32 - current_page: - description: The page you are currently on within the collection. - type: integer - format: int32 - total_pages: - description: The total number of pages in the collection. - type: integer - format: int32 - x-internal: false - error: - title: error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - x-internal: false - metaCollection: - type: object - title: metaCollection - properties: - pagination: - $ref: '#/definitions/pagination' - x-internal: false -tags: - - name: Wishlists - description: '' - - name: Wishlists Items -responses: - Wishlist_Resp: - description: '' - schema: + type: array + description: Array of wishlist items. + items: + title: Wishlist item + type: object + properties: + id: + type: integer + description: The ID of the item. + format: int32 + example: 12 + product_id: + type: integer + description: The ID of the product. + format: int32 + example: 55 + variant_id: + type: integer + description: The variant ID of the product. + format: int32 + example: 22 + x-internal: false + wishlist_Full: + title: wishlist_Full type: object properties: - data: - $ref: '#/definitions/wishlist_Full' - meta: - type: object - examples: - application/json: - data: - id: 30 - customer_id: 10 - name: Christmas List - is_public: true - token: d2d55481-13eb-4d1e-9d79-9062b518570d + id: + type: integer + description: 'Wishlist ID, provided after creating a wishlist with a POST.' + format: int32 + example: 30 + customer_id: + type: integer + description: The ID the customer to which the wishlist belongs. + format: int32 + example: 12 + name: + type: string + description: The name of the wishlist. + example: Christmas List + is_public: + type: boolean + description: Whether the wishlist is available to the public. + example: true + token: + type: string + description: The token of the wishlist. This is created internally within BigCommerce. The wishlist ID is to be used for external apps. Read-Only. + format: uuid + example: 02d55481-13eb-4d1e-9d79-9062b518570d + items: + type: array + description: Array of wishlist items. items: - - id: 44 - product_id: 77 - variant_id: 1 - - id: 45 - product_id: 80 - variant_id: 1 - - id: 46 - product_id: 81 - variant_id: 1 - - id: 47 - product_id: 86 - variant_id: 1 - - id: 48 - product_id: 88 - variant_id: 1 - meta: {} - wishlist_Resp_Collection: - description: '' - schema: + $ref: '#/components/schemas/wishlistItem_Full' + x-internal: false + wishlistItem_Full: + title: wishlistItem_Full + type: object + properties: + id: + type: integer + description: The ID of the item. + format: int32 + example: 12 + product_id: + type: integer + description: The ID of the product. + format: int32 + example: 55 + variant_id: + type: integer + description: The variant ID of the product. + format: int32 + example: 22 + x-internal: false + wishlistItem_Post: type: object + title: wishlistItem_Post properties: - data: + items: type: array items: - $ref: '#/definitions/wishlist_Full' - meta: - $ref: '#/definitions/metaCollection' - examples: - application/json: - data: - - id: 1 - customer_id: 4 - name: My Wish List - is_public: false - token: 9399ed72f409d1a785b2fa5781563dc3 - items: [] - - id: 2 - customer_id: 11 - name: Christmas - is_public: false - token: 33743dfa06a5c45b2c418acc3d0b1acd - items: - - id: 1 - product_id: 167 - - id: 2 - product_id: 174 - - id: 3 - product_id: 184 - - id: 3 - customer_id: 20 - name: Birthday - is_public: false - token: 0eabf221247f6993e3b10415da9a90bc - items: - - id: 4 - product_id: 184 - - id: 5 - product_id: 183 - - id: 4 - customer_id: 20 - name: Christmas - is_public: false - token: 813f29b4908f1ea7d489c5dc01a5a8f2 - items: - - id: 6 - product_id: 201 - - id: 5 - customer_id: 19 - name: Wish List - is_public: false - token: dc08569f628f2e40f1159a4127dc163d - items: - - id: 7 - product_id: 173 - - id: 8 - product_id: 176 - meta: - pagination: - total: 0 - count: 5 - per_page: 50 - current_page: 1 - total_pages: 0 - Unauthorized: - description: Authentication information is missing or invalid. - schema: - title: Error + type: object + properties: + product_id: + type: integer + example: 12 + variant_id: + type: integer + example: 152 + x-examples: + example-1: + items: + - product_id: 12 + variant_id: 152 + pagination: + title: pagination + type: object + properties: + total: + type: integer + description: Total number of items in the result set. + format: int32 + count: + type: integer + description: Total number of items in the collection response. + format: int32 + per_page: + type: integer + description: 'The amount of items returned in the collection per page, controlled by the limit parameter.' + format: int32 + current_page: + type: integer + description: The page you are currently on within the collection. + format: int32 + total_pages: + type: integer + description: The total number of pages in the collection. + format: int32 + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + error: + title: error type: object properties: status: @@ -795,72 +941,204 @@ responses: type: string type: type: string -parameters: - FilterCustomerID: - name: customer_id - in: query - type: integer - format: int32 - description: All wishlists relating to the customer. - FilterPage: - in: query - type: integer - name: page - format: int32 - description: The page number of results per page. 1 is the default and starts from record 0. - FilterLimit: - name: limit - in: query - type: integer - format: int32 - description: The numbers of items to return per page. Default is 50 and maximum is 250. - WishlistID: - name: wishlist_id - in: path - type: integer - required: true - description: ID of the Wishlist - format: int32 - Content-Type: - name: Content-Type - in: header - type: string - default: application/json - Accept: - name: Accept - in: header - type: string - default: application/json -securityDefinitions: - X-Auth-Token: - type: apiKey - name: X-Auth-Token - in: header - description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Customers | modify | `store_v2_customers` | - | Customers | read-only | `store_v2_customers_read_only` | + x-internal: false + metaCollection: + title: metaCollection + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination' + x-internal: false + responses: + Unauthorized: + description: Authentication information is missing or invalid. + content: + application/json: + schema: + title: Error + type: object + properties: + status: + type: integer + format: int32 + title: + type: string + type: + type: string + Wishlist_Resp: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/wishlist_Full' + meta: + type: object + properties: {} + example: + data: + id: 30 + customer_id: 10 + name: Christmas List + is_public: true + token: d2d55481-13eb-4d1e-9d79-9062b518570d + items: + - id: 44 + product_id: 77 + variant_id: 1 + - id: 45 + product_id: 80 + variant_id: 1 + - id: 46 + product_id: 81 + variant_id: 1 + - id: 47 + product_id: 86 + variant_id: 1 + - id: 48 + product_id: 88 + variant_id: 1 + meta: {} + wishlist_Resp_Collection: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/wishlist_Full' + meta: + $ref: '#/components/schemas/metaCollection' + example: + data: + - id: 1 + customer_id: 4 + name: My Wish List + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570d + items: [] + - id: 2 + customer_id: 11 + name: Christmas + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570e + items: + - id: 1 + product_id: 167 + - id: 2 + product_id: 174 + - id: 3 + product_id: 184 + - id: 3 + customer_id: 20 + name: Birthday + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570f + items: + - id: 4 + product_id: 184 + - id: 5 + product_id: 183 + - id: 4 + customer_id: 20 + name: Christmas + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570f + items: + - id: 6 + product_id: 201 + - id: 5 + customer_id: 19 + name: Wish List + is_public: false + token: 02d55481-13eb-4d1e-9d79-9062b518570f + items: + - id: 7 + product_id: 173 + - id: 8 + product_id: 176 + meta: + pagination: + total: 0 + count: 5 + per_page: 50 + current_page: 1 + total_pages: 0 + parameters: + FilterCustomerID: + name: customer_id + in: query + description: All wishlists relating to the customer. + schema: + type: integer + format: int32 + FilterPage: + name: page + in: query + description: The page number of results per page. 1 is the default and starts from record 0. + schema: + type: integer + format: int32 + FilterLimit: + name: limit + in: query + description: The numbers of items to return per page. Default is 50 and maximum is 250. + schema: + type: integer + format: int32 + WishlistID: + name: wishlist_id + in: path + description: ID of the Wishlist + required: true + schema: + type: integer + format: int32 + Content-Type: + name: Content-Type + in: header + schema: + type: string + default: application/json + Accept: + name: Accept + in: header + schema: + type: string + default: application/json + securitySchemes: + X-Auth-Token: + type: apiKey + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Customers | modify | `store_v2_customers` | + | Customers | read-only | `store_v2_customers_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). -security: - - X-Auth-Token: [] + * For more information on Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: docs: includeDownloadLink: true From d06cdfde1280957d29915a1c6fa988c0b0754c8b Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 19 Aug 2022 16:34:26 -0500 Subject: [PATCH 016/360] DEVDOCS-4121: [net new] Store Logs API (#841) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> --- reference/store_logs.v3.yml | 218 ++++++++++++++++++++++++++++++++++++ toc.json | 5 + 2 files changed, 223 insertions(+) create mode 100644 reference/store_logs.v3.yml diff --git a/reference/store_logs.v3.yml b/reference/store_logs.v3.yml new file mode 100644 index 000000000..4dd574bd1 --- /dev/null +++ b/reference/store_logs.v3.yml @@ -0,0 +1,218 @@ +openapi: 3.0.0 +x-stoplight: + id: 984571274919c +info: + title: Store Logs V3 API + version: '' + description: This API can be used to retrieve and filter for specific store logs. +servers: + - url: 'https://api.bigcommerce.com' +paths: + '/stores/{store_hash}/v3/store/systemlogs': + get: + summary: Get System Logs + description: 'Get system logs ' + tags: + - System Logs + operationId: get-sites + responses: + '200': + description: The request completed successfully. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/SystemLog' + meta: + $ref: '#/components/schemas/IndexMeta' + parameters: + - schema: + type: string + in: path + required: true + name: store_hash + description: Path parameter that lets you specify a unique identifier for a store. + - schema: + type: integer + default: 50 + in: query + name: limit + description: Query parameter that lets you return the number of results displayed per page. + - schema: + type: integer + default: 1 + in: query + name: page + description: Query parameter that lets you specify the starting page in which results are returned. + - schema: + type: string + enum: + - general + - payment + - shipping + - tax + - notification + - emailintegration + - ordersettings + - design + in: query + name: type + description: Query parameter that lets you filter the results by log type. + - schema: + type: string + in: query + name: 'type:not' + description: Query parameter that lets you exclude a log type from the results. + - schema: + type: string + enum: + - export+only + - email+message + - theme+download + - order+status + - optimized+checkout + in: query + name: module + description: Query parameter that lets you filter the results by module. + - schema: + type: string + in: query + name: 'module:not' + description: Query parameter that lets you exclude a log module from the results. + - schema: + type: integer + enum: + - 1 + - 2 + - 3 + - 4 + in: query + name: severity + description: 'Query parameter that lets you filter results by severity level, as an integer. The following values are possible: Success = 1, Notice = 2, Warning = 3, Error = 4' + - schema: + type: integer + in: query + name: 'severity:min' + description: 'Query parameter that lets you filter by minimum severity, as an integer.' + - schema: + type: integer + in: query + name: 'severity:max' + description: 'Query parameter that lets you filter by maximum severity, as an integer.' + - schema: + type: string + in: query + name: 'id:in' + description: 'Query parameter that lets you filter by a list of log IDs, as a CSV. For example ?id:in=3,4,6' + parameters: [] +components: + schemas: + IndexMeta: + type: object + description: BigCommerce meta payload for collection-type responses. + properties: + pagination: + type: object + properties: + total: + type: integer + example: 1 + count: + type: integer + example: 1 + per_page: + type: integer + example: 50 + current_page: + type: integer + example: 1 + total_pages: + type: integer + example: 1 + links: + type: object + properties: + previous: + type: string + example: '?page=1&limit=50' + current: + type: string + example: '?page=1&limit=50' + next: + type: string + example: '?page=1&limit=50' + 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 title of the message describing the particular error. + type: string + type: + type: string + instance: + type: string + DetailedErrors: + type: object + additionalProperties: + type: string + SystemLog: + title: SystemLog + type: object + properties: + id: + type: integer + type: + type: string + module: + type: string + severity: + type: string + summary: + type: string + message: + type: string + date_created: + type: string + format: date-time + parameters: {} + requestBodies: {} + securitySchemes: + X-Auth-Token: + type: apiKey + name: X-Auth-Token + in: header + description: |- + ### OAuth Scopes + | UI Name | Permission | Parameter | + | :-------|:-----------|:----------| + | Store logs | read-only | store_logs_read_only | + + ### Headers + + | Header | Parameter | Description | + |:-------|:----------|:------------| + | `X-Auth-Token` | `access_token` | Obtained by [creating an API account](/api-docs/getting-started/authentication/rest-api-authentication) or installing an app in a BigCommerce control panel. | + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). +tags: + - name: System Logs +security: + - X-Auth-Token: [] diff --git a/toc.json b/toc.json index ae9eaa19a..16288f968 100644 --- a/toc.json +++ b/toc.json @@ -217,6 +217,11 @@ "title": "Store Information", "uri": "reference/store_information.v2.yml" }, + { + "type": "item", + "title": "Store Logs", + "uri": "reference/store_logs.v3.yml" + }, { "type": "item", "title": "Subscribers", From 5518458dc023ce14bbf356163b7a6d607f091e3f Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Mon, 22 Aug 2022 14:26:52 -0500 Subject: [PATCH 017/360] DEVDOCS-3945: [announce] repo README reflects OAS conversion (#953) --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 73558cc78..52f2d646f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # BigCommerce API Specifications -OpenAPI Specifications, Swagger, and JSON schema used to generate the human-readable [BigCommerce API Reference](https://developer.bigcommerce.com/api-reference). +OpenAPI Specifications (OAS) and JSON schema used to generate the human-readable [BigCommerce API Reference](https://developer.bigcommerce.com/api-reference). + +<!-- theme: info --> +> #### OAS updates +> As of August 22, 2022, all API specification files are in OAS 3+ format. Please update your forks to ensure you're working with the newest source files. +> +> **Caveat:** The file that contains webhook events callback schemas, `webhooks_events.yml`, is still in Swagger 2.0 format. ## Directory structure From 3ed2be735cc5ce441b9a536d8707e67dd859a723 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 24 Aug 2022 16:16:47 -0500 Subject: [PATCH 018/360] DEVDOCS-4398: [net new] Tax Settings API (#946) * added oas3 api spec * added xauth token * added path parameter and fixed server url * added tag * removed default from req body * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * white space Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * verb tense Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * verb tense Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * content type Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * content type * content type * fixed error attempt * Modified toc.json * Update reference/tax_settings.v3.yml Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * white space Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * copyedit Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * undo incorrect content type change * Update reference/tax_settings.v3.yml Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * Update reference/tax_settings.v3.yml Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/tax_settings.v3.yml | 147 ++++++++++++++++++++++++++++++++++ toc.json | 6 ++ 2 files changed, 153 insertions(+) create mode 100644 reference/tax_settings.v3.yml diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml new file mode 100644 index 000000000..3ac94f6e2 --- /dev/null +++ b/reference/tax_settings.v3.yml @@ -0,0 +1,147 @@ +openapi: 3.0.0 +x-stoplight: + id: 68ccfa5c69bbb +info: + title: Tax Settings + version: '' + description: Manage tax settings +servers: + - url: 'https://api.bigcommerce.com' +paths: + '/stores/{store_hash}/v3/tax/settings': + get: + tags: + - Tax Settings + summary: Get Tax Settings + description: Retrieves global-level tax settings. + operationId: get-tax-settings + parameters: + - $ref: '#/components/parameters/storehash' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Tax_Settings' + meta: + type: object + put: + tags: + - Tax Settings + summary: Update Tax Settings + description: Updates global-level tax settings. + operationId: set-tax-settings + parameters: + - $ref: '#/components/parameters/storehash' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Tax_Settings_Req' + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Tax_Settings' + meta: + type: object + '422': + description: The request body does not meet the specification. +components: + parameters: + storehash: + name: store_hash + in: path + required: true + schema: + type: string + securitySchemes: + API_Key: + type: apiKey + name: X-Auth-Token + in: header + description: |- + ### OAuth Scopes + | **UI Name** | **Permission** | **Parameter** | + | --- | --- | --- | + | Information & Settings | modify | `store_v2_information` | + | Information & Settings | read-only | `store_v2_information_read_only` | + + ### Headers + + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token`| Obtained by creating an API account or installing an app in a BigCommerce control panel.| + + For more information on Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). + schemas: + Tax_Settings: + type: object + properties: + tax_entered_with_prices: + type: boolean + description: Whether prices entered on this store include a tax component or not. + price_display_settings: + type: object + description: Settings that describe how prices display at the global level. + properties: + show_inclusive_in_control_panel: + type: boolean + description: Whether to show prices as tax inclusive or tax exclusive in the BigCommerce control panel. + invoice_price_display_strategy: + type: string + description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopper''s tax zone for price display on invoices.' + default: ZONE + enum: + - ZONE + - INCLUSIVE + - EXCLUSIVE + fallback_strategy: + type: string + description: 'Describes the fallback behavior that applies when a tax provider produces an error. A merchant may decide to use a flat 10% fallback tax rate, their basic tax settings, or to block the transaction until they achieve a successful result.' + default: FIXED + enum: + - FIXED + - BASIC + - DISABLE + Tax_Settings_Req: + type: object + properties: + tax_entered_with_prices: + type: boolean + description: Whether prices entered on this store include a tax component or not. + price_display_settings: + type: object + description: Settings that describe how prices display at the global level. + properties: + show_inclusive_in_control_panel: + type: boolean + description: Whether to show prices as tax inclusive or tax exclusive in the BigCommerce control panel. + invoice_price_display_strategy: + type: string + description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopper''s tax zone for price display on invoices.' + enum: + - ZONE + - INCLUSIVE + - EXCLUSIVE + fallback_strategy: + type: string + description: 'Decribes the fallback behaviour that applies when a tax provider produces an error. A merchant may decide to use a flat 10% fallback tax rate, their basic tax settings, or to block the transaction until a successful result can be achieved.' + enum: + - FIXED + - BASIC + - DISABLE +security: + - API_Key: [] +tags: + - name: Tax Settings diff --git a/toc.json b/toc.json index 16288f968..7c3c58730 100644 --- a/toc.json +++ b/toc.json @@ -243,6 +243,12 @@ "title": "Tax Provider Connection", "uri": "reference/tax.v3.yml" }, + { + "type": "item", + "title": "Tax Settings", + "href": "/api-reference/store-management/tax-settings", + "uri": "reference/tax_settings.v3.yml" + }, { "type": "item", "title": "Themes", From d5b6d11ab97340e02ed812833e481fd5ebf528fc Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Thu, 25 Aug 2022 13:02:34 -0500 Subject: [PATCH 019/360] DEVDOCS-3351: [internal] Update PR templates (#957) --- pull_request_template.md | 5 ++++- pull_request_template_CODEOWNER.md | 23 +++++++++++++---------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/pull_request_template.md b/pull_request_template.md index 225c76934..dcbe7c556 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -1,4 +1,7 @@ -# [DEVDOCS-](https://bigcommercecloud.atlassian.net/browse/DEVDOCS-) +# [DEVDOCS-] ## What changed? * thing_that_changed + +## Anything else? +Related PRs, salient notes, etc diff --git a/pull_request_template_CODEOWNER.md b/pull_request_template_CODEOWNER.md index b07d39ae8..7ba0d11cf 100644 --- a/pull_request_template_CODEOWNER.md +++ b/pull_request_template_CODEOWNER.md @@ -1,13 +1,16 @@ -# Controlled Merge with link check +# Publication rebase merge with link check -## Included Tickets / PRs -* [DEVDOCS-xx](https://bigcommercecloud.atlassian.net/browse/DEVDOCS-xx) - #PRnumber - @ -* [DEVDOCS-yy](https://bigcommercecloud.atlassian.net/browse/DEVDOCS-yy) - #PRnumber - @ +## Included tickets / PRs +* [DEVDOCS-] - # +* [DEVDOCS-] - # +* [DEVDOCS-] - # -## To Do -Indicate when done. +## Links +Indicate work. Options include the following: -* Check links with tool -- @ -* Check ToC -- @ -* Add redirects if needed -- @ - * Slug changes not detected or [Dev Center link PR zz](https://github.com/bigcommerce-labs/next-dev-center-prototype/pull/zz) +* Add redirects if needed + * See [Dev Center link PR xx](https://github.com/bigcommerce-labs/next-dev-center-prototype/pull/xx) + +Link check techniques; please indicate which you used, if any. +* Check links with tool +* Check ToC From 8b199c7e6191391550cff69f7e7073d0addc69c6 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Sun, 28 Aug 2022 00:59:40 -0500 Subject: [PATCH 020/360] DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/customers.v3.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 90e1da514..7f526b874 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -191,8 +191,10 @@ paths: * `storecredit` - store credit * `attributes` - customer attributes and address attributes * `formfields` - customer and address form fields + * `shopper_profile_id` - the ID of the shopper profile associated with the customer (Beta) + * `segment_ids`- segments the customer belongs to (Beta) - `include=addresses,storecredit,attributes,formfields` + `include=addresses,storecredit,attributes,formfields,shopper_profile_id,segment_ids` schema: type: string enum: @@ -1768,6 +1770,8 @@ components: accepts_product_review_abandoned_cart_emails: true channel_ids: - 1 + shopper_profile_id: "82511e54-4040-40fe-b742-2b25655f205b" + segment_ids: ["5bb733a9-5491-47b3-9451-9ae8d6a6bc6b"] meta: pagination: total: 0 From caf56ae58ed04f1d2f4d2e4f3d14298b8e097577 Mon Sep 17 00:00:00 2001 From: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Date: Wed, 7 Sep 2022 14:52:07 -0500 Subject: [PATCH 021/360] DEVDOCS-4338: [edit] Sites API typos (#944) * DEVDOCS-4338 change TSL to TLS, fix typo and make minor updates for consistency --- reference/sites.v3.yml | 56 +++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/reference/sites.v3.yml b/reference/sites.v3.yml index 8ae3868fd..f73abf4fe 100644 --- a/reference/sites.v3.yml +++ b/reference/sites.v3.yml @@ -52,8 +52,8 @@ info: "id": 1, "url": "http://store.example.com/", "channel_id": 5, - "created_at": "2018-01-04T04:15:50.000Z", - "updated_at": "2018-01-04T04:15:50.000Z" + "created_at": "2022-01-04T04:15:50.000Z", + "updated_at": "2022-01-04T04:15:50.000Z" } ``` @@ -112,7 +112,7 @@ info: ## Route variables - The following route variables are supported + The following route variables are supported. |Variable|Description| |-|-| @@ -206,12 +206,12 @@ paths: example: 1 in: query name: 'channel_id:in' - description: Filters returned sites by channel ID + description: Filters returned sites by channel ID. - schema: type: string in: query name: 'url_type:in' - description: Filters sites returned in the `data.urls` array by their URL type + description: Filters sites returned in the `data.urls` array by their URL type. parameters: - name: store_hash in: path @@ -307,7 +307,7 @@ paths: type: integer - name: type in: query - description: Filter routes by a given resource type + description: Filter routes by a specified resource type. schema: type: string - in: query @@ -438,7 +438,7 @@ paths: ## Usage Notes * `id` is required when updating an existing route. - summary: Update Site's Routes + summary: Update a Site's Routes parameters: - in: path name: site_id @@ -584,8 +584,8 @@ paths: in: path required: true get: - summary: Get a Site's SSL/TSL Certificate Information - description: Get information about a site's SSL/TSL certificate. + summary: Get a Site's SSL/TLS Certificate Information + description: Obtain information about a site's SSL/TLS certificate. tags: - Site Certificate operationId: getSitesIdCertificate @@ -597,7 +597,7 @@ paths: schema: $ref: '#/components/schemas/CertificateResponse' put: - summary: Upsert a Site's SSL/TSL Certificate Information + summary: Upsert a Site's SSL/TLS Certificate Information operationId: putSiteIdCertificate tags: - Site Certificate @@ -624,12 +624,12 @@ paths: } description: |- - If a value for `url` is not supplied, the saved certificate is associated with the specified site’s `primary` URL. - - Use caution. Because this endpoint upserts, supplying an SSL certificate for a domain that already has a certificate connected overwrites the domain’s extant certificate.' + - Use caution. Because this endpoint upserts, supplying an SSL certificate for a domain that already has a certificate connected overwrites the domain’s existing certificate.' components: schemas: _metaCollection: title: metaCollection - description: Meta data relating to pagination + description: Meta data relating to pagination. type: object properties: pagination: @@ -706,12 +706,12 @@ components: created_at: type: string description: 'The date-time that this site was created, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.' - example: '2018-01-04T04:15:50.000Z' + example: '2022-01-04T04:15:50.000Z' format: date-time updated_at: type: string description: 'The date-time that this site was last updated, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.' - example: '2018-01-04T04:15:50.000Z' + example: '2022-01-04T04:15:50.000Z' format: date-time ssl_status: type: string @@ -859,9 +859,9 @@ components: The route template that will be used to generate the URL for the requested resource. Supports several tokens: - - `{id}` The **ID** of the requested item - - `{slug}` The **slug** for the requested item (if available). Note: the `slug` value may contain `/` slash - - `{language}` The **language** string that the client is using + - `{id}` The **ID** of the requested item. + - `{slug}` The **slug** for the requested item (if available). Note: the `slug` value may contain `/` slash. + - `{language}` The **language** string that the client is using. example: /my-amazing-product x-internal: false siteRoutes_Route_Base: @@ -899,9 +899,9 @@ components: The route template that will be used to generate the URL for the requested resource. Supports several tokens: - - `{id}` The **ID** of the requested item - - `{slug}` The **slug** for the requested item (if available). Note: the `slug` value may contain `/` slash - - `{language}` The **language** string that the client is using + - `{id}` The **ID** of the requested item. + - `{slug}` The **slug** for the requested item (if available). Note: the `slug` value may contain `/` slash. + - `{language}` The **language** string that the client is using. required: - type - matching @@ -909,7 +909,7 @@ components: x-internal: false IndexMeta: type: object - description: BC Meta payload for collection-type responses + description: BC Meta payload for collection-type responses. properties: pagination: type: object @@ -948,10 +948,10 @@ components: properties: url: type: string - description: URL of site + description: URL of site. type: type: string - description: URL type + description: Specifies the URL type. enum: - primary - canonical @@ -1045,11 +1045,11 @@ components: validity_not_before: type: string example: '2018-01-04T04:15:50.000Z' - description: When does the validity period of this certificate begin? RFC 3339 + description: When does the validity period of this certificate begin? RFC 3339. validity_not_after: type: string example: '2018-01-04T04:15:50.000Z' - description: 'When does the validity period of this certificate end? If this date is in the past, the certificate has expired. RFC 3339' + description: 'When does the validity period of this certificate end? If this date is in the past, the certificate has expired. RFC 3339.' signing_algorithm: type: string description: Signing algorithm used to sign the certificate. @@ -1106,7 +1106,7 @@ components: schema: $ref: '#/components/schemas/error_Full' 504_GatewayTimeout: - description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)' + description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually).' content: application/json: schema: @@ -1133,7 +1133,7 @@ components: 400_BadRequest: description: |- Malformed request syntax. Typically need to fix the JSON - Body to resend successfully. + request body to resend successfully. content: application/json: schema: @@ -1164,7 +1164,7 @@ components: type: /api-docs/getting-started/api-status-codes errors: {} 503_ServiceUnavailable: - description: 'If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)' + description: 'If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually).' content: application/json: schema: From 778bada20104568b885b7660daa28eaf4999dc07 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Fri, 9 Sep 2022 23:33:04 +0300 Subject: [PATCH 022/360] DEVDOCS-4426: [maintenance] Abandoned Cart email template, add product id (#964) * DEVDOCS-3351: [internal] Update PR templates (#957) * DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> * DEVDOCS-4426-add-product-id * added sku Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- models/email_templates/abandoned_cart_email.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/models/email_templates/abandoned_cart_email.yml b/models/email_templates/abandoned_cart_email.yml index 4241ba10f..a335b9b4d 100644 --- a/models/email_templates/abandoned_cart_email.yml +++ b/models/email_templates/abandoned_cart_email.yml @@ -133,12 +133,16 @@ oneOf: items: type: object properties: + id: + type: number url: type: string name: type: string quantity: type: integer + sku: + type: string thumbnail: type: string attributes: @@ -188,12 +192,16 @@ oneOf: items: type: object properties: + id: + type: number url: type: string name: type: string quantity: type: integer + sku: + type: string thumbnail: type: string attributes: @@ -299,6 +307,8 @@ oneOf: items: type: object properties: + id: + type: number name: type: string misc: From 0d79fcabaa762d8f5c25a8d7c4e58bfefcd92e64 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Fri, 9 Sep 2022 23:36:11 +0300 Subject: [PATCH 023/360] DEVDOCS-4422: [improve] SF Carts API, add cart line item examples (#960) * DEVDOCS-3351: [internal] Update PR templates (#957) * DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> * DEVDOCS-4422-update-cart-line-item * Update reference/carts.sf.yml Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/carts.sf.yml | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index ecf0bd333..d44385177 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -193,12 +193,23 @@ paths: schema: $ref: '#/components/schemas/requestLineItemPut' examples: - Example: + Variant Item: value: lineItem: productId: 229 variantId: 191 quantity: 10 + locale: en + Custom Item: + value: + lineItem: + productId: 118 + variantId: 140 + quantity: 10 + optionSelections: + - optionId: 125 + optionValue: 127 + locale: en required: true responses: '200': @@ -516,11 +527,13 @@ components: $ref: '#/components/schemas/requestCartPostLineItem' required: - lineItem + title: Line item - properties: giftCertificates: $ref: '#/components/schemas/requestLineItemGiftCertificate' required: - giftCertificates + title: Gift certificate item - properties: lineItem: $ref: '#/components/schemas/requestCartPostLineItem' @@ -529,6 +542,7 @@ components: required: - lineItem - giftCertificates + title: line & gift certificate items x-examples: {} description: '' type: object @@ -657,7 +671,7 @@ components: description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' originalPrice: type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' + description: An item’s original price is the same as the product default price in the admin panel. name: type: string description: The item's product name. @@ -819,10 +833,10 @@ components: description: Whether the item is taxable. listPrice: type: number - description: The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel. + description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' originalPrice: type: number - description: 'An item’s original price is the same as the product default price in the admin panel.' + description: An item’s original price is the same as the product default price in the admin panel. name: type: string description: The item's product name. @@ -894,6 +908,7 @@ components: required: - productId - quantity + title: Simple product - properties: productId: type: number @@ -908,6 +923,7 @@ components: - productId - quantity - variantId + title: Product with a variant - properties: productId: type: number @@ -949,6 +965,7 @@ components: - quantity - variantId - optionSelections + title: Custom product x-examples: example-1: productId: 0 From 92ed68c24cd987821aa217c190568f37bfe3f801 Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Fri, 9 Sep 2022 15:52:32 -0500 Subject: [PATCH 024/360] (no ticket): [maintenance] Carts V3 API, improve schemas, descriptions, linting (#955) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/carts.v3.yml | 470 ++++++++++++++++++++++++----------------- 1 file changed, 279 insertions(+), 191 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index dc9824ba1..2bd897ac9 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -24,9 +24,9 @@ paths: |Field|Details| |-|-| - |`line_item`|| - |`custom_items`|Only required if adding a custom item to the cart.| - |`gift_certificates`|Only required if adding a gift certificate to the cart.| + |`line_item`|Specifies a line item.| + |`custom_items`|Specifies a custom item. Only required if adding a custom item to the cart.| + |`gift_certificates`|Specifies a gift certificate. Only required if adding a gift certificate to the cart.| **Usage Notes** @@ -35,18 +35,18 @@ paths: * A cart can be created by adding an existing **catalog item** or a **custom item**. * Carts are valid for **30 days** from the **last modification** (this includes creating the cart or editing the cart). * If a product has modifiers, use the `option_selections` array to describe the **modifier** selection(s). - * The format and data type of a cart's `option_value` is defined by the `value_data` object of a product's [variant option value](/api-reference/store-management/catalog/product-variant-option-values/getoptionvaluebyid), [modifier value](/api-reference/store-management/catalog/product-modifier-values/getmodifiervaluebyid), or a combination of both. - * Redirect URLs can only be generated from carts created using the **Server-to-Server Carts API**. + * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/api-reference/store-management/catalog/product-variant-option-values/getoptionvaluebyid), [modifier value](/api-reference/store-management/catalog/product-modifier-values/getmodifiervaluebyid), or a combination of both. + * Redirect URLs can only be generated from carts that were created using the **Server-to-Server Carts API**. * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. - * To restore a cart that was created by a shopper or via the Storefront Cart API, first recreate the cart using the Server to Server Cart API. + * To restore a cart that was created by a shopper or through the Storefront Cart API, first recreate the cart using the Server to Server Cart API. * To get cart `promotions` in the response, append the following query parameter to the request URL: `include=promotions.banners`. parameters: - name: include in: query description: |- - * `redirect_urls`: Create a direct link to a Cart. This can be used during the /POST request for Carts. - * `line_items.physical_items.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. - * `line_items.digital_items.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. + * `redirect_urls`: Create a direct link to a cart. This can be used for the /POST request for carts. + * `line_items.physical_items.options`: The cart returns an abbreviated result. Use this to return physical items product options. To return the extended cart object, use in a /POST request. + * `line_items.digital_items.options`: The cart returns an abbreviated result. Use this to return digital items product options. To return the extended cart object, use in a /POST request. * `promotions.banners`: Returns a list of eligible banners. schema: type: string @@ -276,7 +276,7 @@ paths: To add a custom item use `custom_items`. - Overriding a product's `list_price` will make that item ineligible for V3 product level promotions. + Overriding a product’s `list_price` will make that item ineligible for V3 product level promotions. If a product has modifiers, omit the `variant_id` and instead use the `option_selections` array to describe both the **variant** and the **modifier** selections. parameters: @@ -289,9 +289,9 @@ paths: - name: include in: query description: |- - * `redirect_urls`: Create a direct link to a Cart. This can be used during the /POST request for Carts. - * `line_items.physical_items.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. - * `line_items.digital_items.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. + * `redirect_urls`: Create a direct link to a cart. This can be used for the /POST request for carts. + * `line_items.physical_items.options`: The cart returns an abbreviated result. Use this to return physical items product options. To return the extended cart object, use in a /POST request. + * `line_items.digital_items.options`: The cart returns an abbreviated result. Use this to return digital items product options. To return the extended cart object, use in a /POST request. * `promotions.banners`: Returns a list of eligible banners. schema: type: string @@ -376,10 +376,10 @@ paths: **Usage Notes** * Redirect URLs can also be created via **Create a Cart** requests by appending `include=redirect_urls`. - * A **Carts** redirect URLs may only be used once. + * A **Carts** redirect URL may only be used once. * Once a redirect URL has been visited, it will be invalidated and cannot be used again. * If your application requires URLs to be visited more than once, consider generating a fresh one each time you need to restore a cart, and redirecting to the URL from your own application. - * Redirect URLs can be generated only from carts created using the Server to Server Cart API. + * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API. * To restore a cart that was created on the storefront, either by a shopper or the Storefront Cart API, first recreate the cart using the Server to Server Cart API. parameters: - name: cartId @@ -425,12 +425,14 @@ paths: **Notes** - Currently, only updating `list_price` and `quantity` are supported. Updating a product's `list_price` will make that item ineligible for V3 product level promotions. + Currently, only updating `list_price` and `quantity` are supported. Updating a product’s `list_price` will make that item ineligible for V3 product-level promotions. If the product has modifiers, omit the `variant_id` and instead use the `option_selections` array to describe both the **variant** and the **modifier** selections. If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the Add Cart Line Items endpoint. + `custom_items` cannot be updated via the API at this time. To update your cart, add a new updated custom item and delete the outdated one. If your cart contains only one line item, perform the add operation before the delete operation. + Deleting all line items from the cart will invalidate the cart. parameters: - name: cartId @@ -448,9 +450,9 @@ paths: - name: include in: query description: |- - * `redirect_urls`: Create a direct link to a Cart. This can be used during the /POST request for Carts. - * `line_items.physical_items.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. - * `line_items.digital_items.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. + * `redirect_urls`: Create a direct link to a cart. This can be used for the /POST request for carts. + * `line_items.physical_items.options`: The cart returns an abbreviated result. Use this to return physical items product options. To return the extended cart object, use in a /POST request. + * `line_items.digital_items.options`: The cart returns an abbreviated result. Use this to return digital items product options. To return the extended cart object, use in a /POST request. * `promotions.banners`: Returns a list of eligible banners. schema: type: string @@ -525,9 +527,9 @@ paths: - name: include in: query description: |- - * `redirect_urls`: Create a direct link to a Cart. This can be used during the /POST request for Carts. - * `line_items.physical_items.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. - * `line_items.digital_items.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. + * `redirect_urls`: Create a direct link to a cart. This can be used for the /POST request for carts. + * `line_items.physical_items.options`: The cart returns an abbreviated result. Use this to return physical items product options. To return the extended cart object, use in a /POST request. + * `line_items.digital_items.options`: The cart returns an abbreviated result. Use this to return digital items product options. To return the extended cart object, use in a /POST request. * `promotions.banners`: Returns a list of eligible banners. schema: type: string @@ -612,7 +614,7 @@ paths: updated_time: '2018-09-17T14:53:40.000Z' meta: {} '204': - description: 'If the action’s result is an empty cart, the cart gets automatically deleted.' + description: 'If the action’s result is an empty cart, the cart is automatically deleted.' summary: Delete Cart Line Item operationId: deleteCartLineItem parameters: @@ -645,9 +647,9 @@ paths: - name: include in: query description: |- - * `redirect_urls`: Create a direct link to a Cart. This can be used during the /POST request for Carts. - * `line_items.physical_items.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. - * `line_items.digital_items.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. + * `redirect_urls`: Create a direct link to a cart. This can be used for the /POST request for carts. + * `line_items.physical_items.options`: The cart returns an abbreviated result. Use this to return physical items product options. To return the extended cart object, use in a /POST request. + * `line_items.digital_items.options`: The cart returns an abbreviated result. Use this to return digital items product options. To return the extended cart object, use in a /POST request. * `promotions.banners`: Returns a list of eligible banners. schema: type: string @@ -683,7 +685,7 @@ paths: **Notes** - Changing the *Cart* `customer_id` will remove any promotions or shipping on the *Cart*. These are tied to the customer depending on cart conditions and any customer groups. + Changing the *Cart* `customer_id` will remove any promotions or shipping calculations on the *Cart*. These are tied to the customer depending on cart conditions and any customer groups. parameters: - name: cartId in: path @@ -694,9 +696,9 @@ paths: - name: include in: query description: |- - * `redirect_urls`: Create a direct link to a Cart. This can be used during the /POST request for Carts. - * `line_items.physical_items.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. - * `line_items.digital_items.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. + * `redirect_urls`: Create a direct link to a cart. This can be used for the /POST request for carts. + * `line_items.physical_items.options`: The cart returns an abbreviated result. Use this to return physical items product options. To return the extended cart object, use in a /POST request. + * `line_items.digital_items.options`: The cart returns an abbreviated result. Use this to return digital items product options. To return the extended cart object, use in a /POST request. * `promotions.banners`: Returns a list of eligible banners. schema: type: string @@ -734,12 +736,12 @@ paths: summary: Update Customer ID operationId: updateACart delete: - description: Deletes a *Cart*. Once a *Cart* has been deleted it can not be recovered. + description: Deletes a *Cart*. Once a *Cart* has been deleted it can’t be recovered. parameters: - name: cartId in: path required: true - description: This cart's unique ID. + description: This cart’s unique ID. schema: type: string format: UUID @@ -863,7 +865,7 @@ paths: - Carts Settings parameters: - name: channel_id - description: The channel ID of the settings overrides + description: The channel ID of the settings overrides. in: path required: true schema: @@ -884,12 +886,12 @@ paths: operationId: getChannelCartSettings put: summary: Update Channel Cart Settings - description: Update the per-channel overrides for the cart settings of a store + description: Update the per-channel overrides for the cart settings of a store. tags: - Carts Settings parameters: - name: channel_id - description: The channel ID of the settings overrides + description: The channel ID of the settings overrides. in: path required: true schema: @@ -971,7 +973,7 @@ components: type: number variant_id: type: number - description: Required if the product has variants + description: The variant ID. Required if the product has variants. list_price: type: number option_selections: @@ -1000,10 +1002,10 @@ components: properties: name: type: string - description: Given name for gift certificate line item. + description: Given name for a gift certificate line item. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number minimum: 1 @@ -1058,10 +1060,10 @@ components: properties: name: type: string - description: Given name for gift certificate line item. + description: Given name for a gift certificate line item. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number minimum: 1 @@ -1098,14 +1100,14 @@ components: - recipient channel_id: type: integer - description: 'If no channel is specified, defaults to 1. ' + description: The Channel ID. If no channel is specified, defaults to 1. currency: type: object properties: code: type: string format: ISO-4217 - description: 'The [transactional currency](/api-docs/multi-currency/guide/introduction#multi-currency-definitions) code for the cart as a [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) formatted string; required when multi-currency is enabled. Passing in a non-transactional display currency will result in a `400` error.' + description: 'The [transactional currency](/api-docs/multi-currency/guide/introduction#multi-currency-definitions) code for the cart, formatted as an [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) string. This code is required when multi-currency is enabled. Passing a non-transactional display currency will result in a `400` error.' example: usd locale: type: string @@ -1127,7 +1129,7 @@ components: type: number variant_id: type: number - description: Required if the product has variants + description: The Variant ID. Required if the product has variants. list_price: type: number option_selections: @@ -1155,7 +1157,7 @@ components: description: Given name for gift certificate line item. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number minimum: 1 @@ -1192,7 +1194,7 @@ components: - recipient channel_id: type: integer - description: 'If no channel is specified, defaults to 1. ' + description: The Channel ID. If no channel is specified, this defaults to 1. x-internal: false CartUpdatePutRequestData: type: object @@ -1211,7 +1213,7 @@ components: type: number variant_id: type: number - description: Required if the product has variants + description: Variant ID. Required if the product has variants. list_price: type: number option_selections: @@ -1253,7 +1255,7 @@ components: description: Given name for gift certificate line item. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number minimum: 1 @@ -1284,33 +1286,34 @@ components: title: Line Item Gift Certificate Request Data x-internal: false Cart_Full: - description: 'A cart contains a collection of items, prices, discounts, etc.. It does not contain customer-related data.' + description: 'A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.' type: object title: Cart_Full x-internal: false properties: id: - description: 'Cart ID, provided after creating a cart with a POST.' + description: 'Cart ID, provided after creating a cart with a POST request.' type: string format: UUID parent_id: type: string - description: Bundled items will have their parent's item Id. + description: Bundled items will have their parent’s item Id. customer_id: description: ID of the customer to which the cart belongs. type: integer email: - description: The cart's email. This is the same email that is used in the billing address + description: The cart’s email. This is the same email that is used in the billing address. type: string currency: type: object - description: This will always be the same between cart and checkout. + description: The currency. This is the same for both the cart and its subsequent checkout. title: Currency properties: code: type: string format: ISO-4217 - description: 'The [transactional currency](/api-docs/multi-currency/guide/introduction#multi-currency-definitions) code for the cart as a [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) formatted string.' + description: 'The [transactional currency](/api-docs/multi-currency/guide/introduction#multi-currency-definitions) code for the cart, formatted as an [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) string.' + example: usd tax_included: type: boolean base_amount: @@ -1331,11 +1334,25 @@ components: items: type: object title: Applied Discount - description: "Example as part of a Cart response:\n\n```\n\"discounts\": [\n\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"discounted_amount\": 2\n\t\t},\n\t\t{\n\t\t\t\t\"id\": \"coupon\",\n\t\t\t\t\"discounted_amount\": 0.42\n\t\t}\n]\n```" + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` properties: id: type: string - description: 'ID of the applied discount. ' + description: ID of the applied discount. example: coupon discounted_amount: type: number @@ -1352,7 +1369,7 @@ components: description: Time when the cart was last updated. channel_id: type: integer - description: 'If no channel is specified, defaults to 1. ' + description: 'The channel ID. If no channel is specified, defaults to 1.' locale: type: string description: Locale of the cart. @@ -1365,22 +1382,22 @@ components: type: object properties: id: - description: Id of the promotion. + description: ID of the promotion. type: string type: - description: Type of the banner + description: Type of the banner. type: string page: - description: An array of the locations where the banner will display + description: An array of the locations where the banner will display. type: array items: type: string text: - description: Text of the banner + description: Text of the banner. type: string Currency: type: object - description: This will always be the same between cart and checkout. + description: The currency. This is the same for both the cart and its subsequent checkout. properties: code: type: string @@ -1405,11 +1422,11 @@ components: example: 6e193ce6-f327-4dcc-b75e-72cf6738525e variant_id: type: number - description: The id of the variant. Required in the /PUT or /POST if the product has variants. + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. example: 358 product_id: type: number - description: The id of the product. Required in a /POST request. + description: The ID of the product. Required in a /POST request. example: 12 sku: type: string @@ -1417,7 +1434,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The item’s product name. example: T-Shirt url: description: The product URL. @@ -1431,7 +1448,7 @@ components: is_taxable: type: boolean example: false - description: Whether the item is taxable. + description: Boolean value that specifies whether the item is taxable or not. image_url: type: string format: uri @@ -1442,10 +1459,24 @@ components: items: type: object title: Applied Discount - description: "Example as part of a Cart response:\n\n```\n\"discounts\": [\n\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"discounted_amount\": 2\n\t\t},\n\t\t{\n\t\t\t\t\"id\": \"coupon\",\n\t\t\t\t\"discounted_amount\": 0.42\n\t\t}\n]\n```" + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` properties: id: - description: ID of the applied discount. Will return + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -1465,12 +1496,12 @@ components: properties: coupon_code: type: object - description: The coupon code + description: The coupon code. properties: id: type: integer example: 6 - description: Coupon Id + description: Coupon ID. code: type: string example: KV56053388J @@ -1478,7 +1509,7 @@ components: name: type: string example: Percentage off - description: Name given to the coupon in the Control Panel + description: Name given to the coupon in the control panel. discountType: type: integer description: |- @@ -1502,16 +1533,16 @@ components: expiresDate: type: integer example: 0 - description: Returns 0 if a expiration date is not set + description: Returns 0 if no expiration date is set. totalDiscount: type: number example: 4.19 - description: Total discount amount off cart + description: The total amount of all discounts applied to the cart. required: - coupon_code discount_amount: type: number - description: The total value of all discounts applied to this item. This includes coupons and cart level discounts + description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. example: 4 coupon_amount: type: number @@ -1524,13 +1555,13 @@ components: description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number - description: Item's price after all discounts are applied. (The final price before tax calculation.) + description: Price of the item after all discounts are applied. (The final price before tax calculation.) extended_list_price: type: number - description: Item's list price multiplied by the quantity. + description: List price of the item multiplied by the quantity. extended_sale_price: type: number - description: Item's sale price multiplied by the quantity. + description: Sale price of the item multiplied by the quantity. options: description: The list of selected options for this product. type: array @@ -1539,13 +1570,13 @@ components: properties: name: type: string - description: 'The product option name. For example, Color or Size' + description: 'The product option name; for example, Color or Size.' nameId: type: number description: The product option identifier. value: type: string - description: 'The product option value. For example, Red or Medium' + description: 'The product option value; for example, Red or Medium.' valueId: type: number description: The product option value identifier. @@ -1582,11 +1613,11 @@ components: example: 6e193ce6-f327-4dcc-b75e-72cf6738525e variant_id: type: number - description: The id of the variant. Required in the /PUT or /POST if the product has variants. + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. example: 358 product_id: type: number - description: The id of the product. Required in a /POST request. + description: The ID of the product. Required in a /POST request. example: 12 sku: type: string @@ -1594,7 +1625,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The item’s product name. example: T-Shirt url: description: The product URL. @@ -1619,10 +1650,24 @@ components: items: type: object title: Applied Discount - description: "Example as part of a Cart response:\n\n```\n\"discounts\": [\n\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"discounted_amount\": 2\n\t\t},\n\t\t{\n\t\t\t\t\"id\": \"coupon\",\n\t\t\t\t\"discounted_amount\": 0.42\n\t\t}\n]\n```" + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` properties: id: - description: ID of the applied discount. Will return + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -1642,12 +1687,12 @@ components: properties: coupon_code: type: object - description: The coupon code + description: The coupon code. properties: id: type: integer example: 6 - description: Coupon Id + description: Coupon ID. code: type: string example: KV56053388J @@ -1655,7 +1700,7 @@ components: name: type: string example: Percentage off - description: Name given to the coupon in the Control Panel + description: Name given to the coupon in the control panel. discountType: type: integer description: |- @@ -1679,16 +1724,16 @@ components: expiresDate: type: integer example: 0 - description: Returns 0 if a expiration date is not set + description: Returns 0 if no expiration date has been set. totalDiscount: type: number example: 4.19 - description: Total discount amount off cart + description: The total amount of all discounts applied to the cart. required: - coupon_code discount_amount: type: number - description: The total value of all discounts applied to this item. This includes coupons and cart level discounts + description: The total value of all discounts applied to this item. This includes coupons and cart level discounts. example: 4 coupon_amount: type: number @@ -1701,13 +1746,13 @@ components: description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number - description: Item's price after all discounts are applied. (The final price before tax calculation.) + description: Item’s price after all discounts are applied. (The final price before tax calculation.) extended_list_price: type: number - description: Item's list price multiplied by the quantity. + description: List price of the item multiplied by the quantity. extended_sale_price: type: number - description: Item's sale price multiplied by the quantity. + description: Sale price of the item multiplied by the quantity. options: description: The list of selected options for this product. type: array @@ -1716,13 +1761,13 @@ components: properties: name: type: string - description: 'The product option name. For example, Color or Size' + description: 'The product option name; for example, Color or Size.' nameId: type: number description: The product option identifier. value: type: string - description: 'The product option value. For example, Red or Medium' + description: 'The product option value; for example, Red or Medium.' valueId: type: number description: The product option value identifier. @@ -1761,13 +1806,13 @@ components: type: string name: type: string - description: GiftCertificate-provided name that will appear in the control panel. + description: Name provided for the gift certificate that will appear in the control panel. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number - description: 'Value must be between 1.00 and 1,000.00 in the stores default currency.' + description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' is_taxable: type: boolean sender: @@ -1796,20 +1841,20 @@ components: type: object title: Item Custom description: |- - Add a custom item to the shoppers cart. + Add a custom item to the shopper’s cart. * Custom items are not added to the catalog. * The price should be set to match the store settings for taxes. properties: id: type: string - description: Id of the custom item + description: ID of the custom item. sku: type: string - description: Custom item sku + description: SKU of the custom item. name: type: string - description: Item name + description: Item name. quantity: type: string list_price: @@ -1834,7 +1879,7 @@ components: description: Provided name that will appear in the control panel. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' @@ -1881,11 +1926,11 @@ components: example: 6e193ce6-f327-4dcc-b75e-72cf6738525e variant_id: type: number - description: The id of the variant. Required in the /PUT or /POST if the product has variants. + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. example: 358 product_id: type: number - description: The id of the product. Required in a /POST request. + description: The ID of the product. Required in a /POST request. example: 12 sku: type: string @@ -1893,7 +1938,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The item’s product name. example: T-Shirt url: description: The product URL. @@ -1907,7 +1952,7 @@ components: is_taxable: type: boolean example: false - description: Whether the item is taxable. + description: Boolean value that specifies whether the item is taxable. image_url: type: string format: uri @@ -1918,10 +1963,24 @@ components: items: type: object title: Applied Discount - description: "Example as part of a Cart response:\n\n```\n\"discounts\": [\n\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"discounted_amount\": 2\n\t\t},\n\t\t{\n\t\t\t\t\"id\": \"coupon\",\n\t\t\t\t\"discounted_amount\": 0.42\n\t\t}\n]\n```" + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` properties: id: - description: ID of the applied discount. Will return + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -1941,12 +2000,12 @@ components: properties: coupon_code: type: object - description: The coupon code + description: The coupon code. properties: id: type: integer example: 6 - description: Coupon Id + description: Coupon ID code: type: string example: KV56053388J @@ -1954,7 +2013,7 @@ components: name: type: string example: Percentage off - description: Name given to the coupon in the Control Panel + description: Name given to the coupon in the control panel. discountType: type: integer description: |- @@ -1978,16 +2037,16 @@ components: expiresDate: type: integer example: 0 - description: Returns 0 if a expiration date is not set + description: Returns 0 if no expiration date has been set. totalDiscount: type: number example: 4.19 - description: Total discount amount off cart + description: The total amount of all discounts applied to the cart. required: - coupon_code discount_amount: type: number - description: The total value of all discounts applied to this item. This includes coupons and cart level discounts + description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. example: 4 coupon_amount: type: number @@ -2000,13 +2059,13 @@ components: description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number - description: Item's price after all discounts are applied. (The final price before tax calculation.) + description: Item’s price after all discounts are applied. (The final price before tax calculation.) extended_list_price: type: number - description: Item's list price multiplied by the quantity. + description: List price of the item multiplied by the quantity. extended_sale_price: type: number - description: Item's sale price multiplied by the quantity. + description: Sale price of the item multiplied by the quantity. options: description: The list of selected options for this product. type: array @@ -2015,13 +2074,13 @@ components: properties: name: type: string - description: 'The product option name. For example, Color or Size' + description: 'The product option name; for example, Color or Size.' nameId: type: number description: The product option identifier. value: type: string - description: 'The product option value. For example, Red or Medium' + description: 'The product option value; for example, Red or Medium.' valueId: type: number description: The product option value identifier. @@ -2058,11 +2117,11 @@ components: example: 6e193ce6-f327-4dcc-b75e-72cf6738525e variant_id: type: number - description: The id of the variant. Required in the /PUT or /POST if the product has variants. + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. example: 358 product_id: type: number - description: The id of the product. Required in a /POST request. + description: The ID of the product. Required in a /POST request. example: 12 sku: type: string @@ -2070,7 +2129,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The item’s product name. example: T-Shirt url: description: The product URL. @@ -2084,7 +2143,7 @@ components: is_taxable: type: boolean example: false - description: Whether the item is taxable. + description: Boolean value that specifies whether the item is taxable. image_url: type: string format: uri @@ -2095,10 +2154,24 @@ components: items: type: object title: Applied Discount - description: "Example as part of a Cart response:\n\n```\n\"discounts\": [\n\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"discounted_amount\": 2\n\t\t},\n\t\t{\n\t\t\t\t\"id\": \"coupon\",\n\t\t\t\t\"discounted_amount\": 0.42\n\t\t}\n]\n```" + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` properties: id: - description: ID of the applied discount. Will return + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -2118,12 +2191,12 @@ components: properties: coupon_code: type: object - description: The coupon code + description: The coupon code. properties: id: type: integer example: 6 - description: Coupon Id + description: The coupon ID. code: type: string example: KV56053388J @@ -2131,7 +2204,7 @@ components: name: type: string example: Percentage off - description: Name given to the coupon in the Control Panel + description: Name given to the coupon in the control panel. discountType: type: integer description: |- @@ -2155,16 +2228,16 @@ components: expiresDate: type: integer example: 0 - description: Returns 0 if a expiration date is not set + description: Returns 0 if no expiration date has been set. totalDiscount: type: number example: 4.19 - description: Total discount amount off cart + description: The total amount of all discounts applied to the cart. required: - coupon_code discount_amount: type: number - description: The total value of all discounts applied to this item. This includes coupons and cart level discounts + description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. example: 4 coupon_amount: type: number @@ -2177,13 +2250,13 @@ components: description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number - description: Item's price after all discounts are applied. (The final price before tax calculation.) + description: Item’s price after all discounts are applied. (The final price before tax calculation.) extended_list_price: type: number - description: Item's list price multiplied by the quantity. + description: List price of the item multiplied by the quantity. extended_sale_price: type: number - description: Item's sale price multiplied by the quantity. + description: Sale price of the item multiplied by the quantity. options: description: The list of selected options for this product. type: array @@ -2192,13 +2265,13 @@ components: properties: name: type: string - description: 'The product option name. For example, Color or Size' + description: 'The product option name; for example, Color or Size.' nameId: type: number description: The product option identifier. value: type: string - description: 'The product option value. For example, Red or Medium' + description: 'The product option value; for example, Red or Medium.' valueId: type: number description: The product option value identifier. @@ -2233,11 +2306,11 @@ components: example: 6e193ce6-f327-4dcc-b75e-72cf6738525e variant_id: type: number - description: The id of the variant. Required in the /PUT or /POST if the product has variants. + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. example: 358 product_id: type: number - description: The id of the product. Required in a /POST request. + description: The ID of the product. Required in a /POST request. example: 12 sku: type: string @@ -2245,7 +2318,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The item’s product name. example: T-Shirt url: description: The product URL. @@ -2259,7 +2332,7 @@ components: is_taxable: type: boolean example: false - description: Whether the item is taxable. + description: Boolean value that specifies whether the item is taxable. image_url: type: string format: uri @@ -2270,10 +2343,24 @@ components: items: type: object title: Applied Discount - description: "Example as part of a Cart response:\n\n```\n\"discounts\": [\n\t\t{\n\t\t\t\t\"id\": 2,\n\t\t\t\t\"discounted_amount\": 2\n\t\t},\n\t\t{\n\t\t\t\t\"id\": \"coupon\",\n\t\t\t\t\"discounted_amount\": 0.42\n\t\t}\n]\n```" + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` properties: id: - description: ID of the applied discount. Will return + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -2293,12 +2380,12 @@ components: properties: coupon_code: type: object - description: The coupon code + description: The coupon code. properties: id: type: integer example: 6 - description: Coupon Id + description: The coupon ID. code: type: string example: KV56053388J @@ -2306,7 +2393,7 @@ components: name: type: string example: Percentage off - description: Name given to the coupon in the Control Panel + description: Name given to the coupon in the control panel. discountType: type: integer description: |- @@ -2330,16 +2417,16 @@ components: expiresDate: type: integer example: 0 - description: Returns 0 if a expiration date is not set + description: Returns 0 if no expiration date has been set. totalDiscount: type: number example: 4.19 - description: Total discount amount off cart + description: The total amount of all discounts applied to the cart. required: - coupon_code discount_amount: type: number - description: The total value of all discounts applied to this item. This includes coupons and cart level discounts + description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. example: 4 coupon_amount: type: number @@ -2352,13 +2439,13 @@ components: description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number - description: Item's price after all discounts are applied. (The final price before tax calculation.) + description: Item’s price after all discounts are applied. (The final price before tax calculation.) extended_list_price: type: number - description: Item's list price multiplied by the quantity. + description: List price of the item multiplied by the quantity. extended_sale_price: type: number - description: Item's sale price multiplied by the quantity. + description: Sale price of the item multiplied by the quantity. options: description: The list of selected options for this product. type: array @@ -2367,13 +2454,13 @@ components: properties: name: type: string - description: 'The product option name. For example, Color or Size' + description: 'The product option name; for example, Color or Size.' nameId: type: number description: The product option identifier. value: type: string - description: 'The product option value. For example, Red or Medium' + description: 'The product option value; for example, Red or Medium.' valueId: type: number description: The product option value identifier. @@ -2388,13 +2475,13 @@ components: properties: name: type: string - description: 'The product option name. For example, Color or Size' + description: 'The product option name; for example, Color or Size.' nameId: type: number description: The product option identifier. value: type: string - description: 'The product option value. For example, Red or Medium' + description: 'The product option value; for example, Red or Medium.' valueId: type: number description: The product option value identifier. @@ -2414,10 +2501,10 @@ components: |`5`|`promotion`| properties: code: - description: the coupon code + description: The coupon code. type: string id: - description: The coupon ID. Read Only + description: The coupon ID. (read-only) type: string readOnly: true coupon_type: @@ -2445,7 +2532,7 @@ components: title: Applied Discount properties: id: - description: ID of the applied discount. Will return + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -2476,18 +2563,18 @@ components: properties: id: type: string - description: Id of the custom item + description: Id of the custom item. sku: type: string - description: Custom item sku + description: SKU of the custom item. name: type: string - description: Item name + description: Item name. quantity: type: string list_price: type: string - description: 'Price of the item. With or without tax, depending on your store’s setup.' + description: 'Price of the item, with or without tax, depending on your store’s setup.' x-internal: false cart_PostVariant: type: object @@ -2500,38 +2587,38 @@ components: type: number list_price: type: number - description: Optional price override + description: Optional price override. variant_id: type: number - description: Exists only in Catalog V3 + description: Variant ID. Exists only in Catalog V3. name: type: string - description: 'Optionally, provide a value to override the product name' + description: Optionally, provide a value to override the product name. gift_wrapping: type: object properties: wrap_together: type: boolean - description: Indicates whether we want to wrap items together or separately + description: Boolean value that specifies whether items whether items should be wrapped together or wrapped individually. example: true wrap_details: type: array - description: Details of the Gift Wrapping option selected. This can be specified for each line items. + description: Details for the gift wrapping option selected. This can be specified for each line item. items: type: object properties: id: type: number - description: Identifier of the Gift Wrapping Option selected + description: Identifier of the gift wrapping option selected. example: 0 message: type: string - description: Custom gift message + description: Custom gift message. example: Happy Birthday required: - quantity - product_id - description: Product with a variant + description: Product with a variant. x-examples: example-1: quantity: 0 @@ -2556,13 +2643,13 @@ components: type: number list_price: type: number - description: Optional price override + description: Optional price override. name: type: string - description: 'Optionally, provide a value to override the product name' + description: Optionally, provide a value to override the product name. option_selections: type: array - description: Needed for Catalog V2 + description: Needed for Catalog V2. items: type: object properties: @@ -2572,10 +2659,10 @@ components: type: integer name: type: string - description: Override selected Option or Modifier Name + description: Override for the selected option or modifier name. value: type: string - description: Override selected Option Value + description: Override for the selected option value. nameId: type: integer valueId: @@ -2583,7 +2670,7 @@ components: required: - quantity - product_id - description: Product with a modifier + description: Product with a modifier. x-internal: false x-examples: example-1: @@ -2615,10 +2702,10 @@ components: properties: name: type: string - description: Given name for gift certificate line item. + description: Given name for a gift certificate line item. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number minimum: 1 @@ -2644,7 +2731,7 @@ components: type: string message: type: string - maximum: 200 + maxLength: 200 description: 'Message shown to recipient, as provided by sender.' required: - name @@ -2653,7 +2740,7 @@ components: - quantity - sender - recipient - custom_item: + custom_items: $ref: '#/components/schemas/cart_PostCustomItem' Cart_Line_Item_Update_Post: type: object @@ -2678,7 +2765,7 @@ components: description: Given name for gift certificate line item. theme: type: string - description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number minimum: 1 @@ -2731,7 +2818,7 @@ components: type: number x-internal: false CartSettings: - description: Represents all settings related to the shopping cart functionality of a store + description: Represents all settings related to the shopping cart functionality of a store. type: object properties: allow_purchasing: @@ -2739,7 +2826,7 @@ components: x-tags: - Models ChannelCartSettings: - description: Represents all settings overrides related to the shopping cart functionality of a store for a channel + description: Represents all settings overrides related to the shopping cart functionality of a store for a channel. type: object properties: allow_purchasing: @@ -2750,11 +2837,11 @@ components: ChannelCartSettingsRequest: allOf: - $ref: '#/components/schemas/ChannelCartSettings' - - description: The request object for updating the cart settings overrides of a store for a channel + - description: The request object for updating the cart settings overrides of a store for a channel. x-tags: - Models ChannelCartSettingsResponse: - description: The response object of cart settings overrides for a channel + description: The response object of cart settings overrides for a channel. type: object properties: data: @@ -2766,13 +2853,13 @@ components: GlobalCartSettingsRequest: allOf: - $ref: '#/components/schemas/CartSettings' - - description: The request object for updating the cart settings of a store at the global level + - description: The request object for updating the cart settings of a store at the global level. required: - allow_purchasing x-tags: - Models GlobalCartSettingsResponse: - description: The response object of cart settings at the global level + description: The response object of cart settings at the global level. type: object properties: data: @@ -2854,9 +2941,10 @@ components: name: include in: query description: |- - * `redirect_urls`: Create a direct link to a Cart. This can be used during the /POST request for Carts. - * `line_items.physical_items.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. - * `line_items.digital_items.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. + * `redirect_urls`: Create a direct link to a cart. This can be used for the /POST request for carts. + * `line_items.physical_items.options`: The cart returns an abbreviated result. Use this to return physical items product options. To return the extended cart object, use in a /POST request. + * `line_items.digital_items.options`: The cart returns an abbreviated result. Use this to return digital items product options. To return the extended cart object, use in a /POST request. + * `promotions.banners`: Returns a list of eligible banners. schema: type: string enum: @@ -2890,4 +2978,4 @@ components: X-Auth-Token: {access_token} ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + * For more information about authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). From 42c58a505a24d2bc6b90933ab76be55397efa130 Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Wed, 14 Sep 2022 11:11:03 -0500 Subject: [PATCH 025/360] DEVDOCS-4467: update get /v3/site/{site_id}/certificate endpoint (#974) * DEVDOCS-3351: [internal] Update PR templates (#957) * DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> * DEVDOCS-4467 Update schema Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/sites.v3.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/reference/sites.v3.yml b/reference/sites.v3.yml index f73abf4fe..f823cb128 100644 --- a/reference/sites.v3.yml +++ b/reference/sites.v3.yml @@ -595,7 +595,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CertificateResponse' + type: object + properties: + data: + $ref: '#/components/schemas/InstalledCertificateDetail' + meta: + type: object + examples: {} put: summary: Upsert a Site's SSL/TLS Certificate Information operationId: putSiteIdCertificate From 4aae0aa242a30dbe4baf9048e33d31d2fb69aafe Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 16 Sep 2022 12:43:05 -0500 Subject: [PATCH 026/360] Adjust Tax Provider ItemRequest Item Code description (#975) (#977) Co-authored-by: Brett Daniels <theromulans@gmail.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/tax_provider.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 8b676bbae..8593ae348 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -856,7 +856,7 @@ components: description: A unique identifier for this item used to map responses back to the corresponding item on the order. item_code: type: string - description: 'The SKU/UPC of the item, if available.' + description: 'The UPC/SKU of the item. The UPC value will be used when both UPC and SKU values are available on the item.' name: type: string description: A display name for this item. From caddb731918cdb35459331a67cc6025a1a468ceb Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 16 Sep 2022 12:48:08 -0500 Subject: [PATCH 027/360] Include tax properties on ItemRequest (#976) (#978) Co-authored-by: Brett Daniels <theromulans@gmail.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/tax_provider.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 8593ae348..09372c87e 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -885,6 +885,11 @@ components: type: boolean description: 'Flag whether or not this item is always tax-exempt. For example, gift certificate purchases and order-level refunds are tax-exempt. Tax-exempt items are included in the request for auditing purposes.' default: false + tax_properties: + type: array + description: Merchants may opt to include additional properties that a tax provider can choose to support, factoring these values into tax calculation. + items: + $ref: '#/components/schemas/request-item-tax-property' type: type: string description: |- From 525e440ac0cc4469fd3fcb8b80f16f01019418d3 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 20 Sep 2022 13:56:39 -0500 Subject: [PATCH 028/360] changed item_code description (#981) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/tax_provider.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 09372c87e..840c9909e 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -917,7 +917,7 @@ components: description: A unique identifier for this item used to map responses back to the corresponding item on the order. item_code: type: string - description: 'The SKU/UPC of the item, if available.' + description: 'The UPC/SKU of the item. The UPC value will be used when both UPC and SKU values are available on the item.' name: type: string description: A display name for this item. From c39f508877c17de6648549038474f5bc79579ff1 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Thu, 22 Sep 2022 18:27:32 -0500 Subject: [PATCH 029/360] DEVDOCS-4047, DEVDOCS-4433: [navigation] Promotions & Customer Segmentation API beta, add to toc (#973) --- toc.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/toc.json b/toc.json index 7c3c58730..84d740b3b 100644 --- a/toc.json +++ b/toc.json @@ -283,6 +283,20 @@ "title": "Tax Provider API", "uri": "reference/tax_provider.yml" }, + { + "type": "divider", + "title": "Beta APIs" + }, + { + "type": "item", + "title": "Promotions API", + "uri": "https://developer.bigcommerce.com/promotions/beta/api-reference" + }, + { + "type": "item", + "title": "Customer Segmentation API", + "uri": "https://developer.bigcommerce.com/customers/beta/api-reference" + }, { "type": "divider", "title": "Template Objects" From 0fd0ccce56acc562e035454aabb7c62ac2778310 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 27 Sep 2022 15:22:25 -0500 Subject: [PATCH 030/360] DEVDOCS-4377: [new] Orders V3, Create a refund, add 422 response (#948) * chore(customers): CUST-1745 add includes for segments (#895) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * Add 422 Reponse to Create a Refund OrdersV3 * Correct reference response * Fix build error. * DEVDOCS-3351: [internal] Update PR templates (#957) * DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/orders.v3.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 7d5bbc4f5..382f33d4b 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -384,6 +384,25 @@ paths: status: 503 error: Tax service gone away meta: {} + '422': + description: | + Unable to process a guest refund with store credit. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ErrorResponse' + examples: + response: + value: + data: + - status: 422 + title: "Unable to provide store credit for a guest customer." + type: "https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes" tags: - Payment Actions get: From 7168fad289f1ab5fa8a5786cdd825207a186f56f Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Wed, 28 Sep 2022 11:36:27 -0500 Subject: [PATCH 031/360] DEVDOCS-4443: [net new] Sites, document GET v3/sites/certificates (#968) * DEVDOCS-3351: [internal] Update PR templates (#957) * DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> * DEVDOCS-4443 add endpoint * DEVDOCS-4443 add schema Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/sites.v3.yml | 50 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/reference/sites.v3.yml b/reference/sites.v3.yml index f823cb128..fda9e9433 100644 --- a/reference/sites.v3.yml +++ b/reference/sites.v3.yml @@ -8,8 +8,7 @@ info: ## Authentication - Authenticate requests by sending an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` via `X-Auth-Token` HTTP header. - + Authenticate requests by sending an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` via `X-Auth-Token` HTTP heade ### Example ```http @@ -595,12 +594,7 @@ paths: content: application/json: schema: - type: object - properties: - data: - $ref: '#/components/schemas/InstalledCertificateDetail' - meta: - type: object + $ref: '#/components/schemas/CertificateResponse' examples: {} put: summary: Upsert a Site's SSL/TLS Certificate Information @@ -630,7 +624,33 @@ paths: } description: |- - If a value for `url` is not supplied, the saved certificate is associated with the specified site’s `primary` URL. - - Use caution. Because this endpoint upserts, supplying an SSL certificate for a domain that already has a certificate connected overwrites the domain’s existing certificate.' + - Use caution. Because this endpoint upserts, supplying an SSL certificate for a domain that already has a certificate connected overwrites the domain’s extant certificate.' + '/stores/{store_hash}/v3/sites/certificates': + parameters: + - schema: + type: string + name: store_hash + in: path + required: true + get: + summary: Get Site Certificates + tags: + - Site Certificate + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/GetCertificatesResponse' + operationId: get-sites-certificates + description: Return all SSL certificates connected to domains within a store. + parameters: + - schema: + type: string + in: query + name: 'urls:in' + description: Query certificates by one or more URLs components: schemas: _metaCollection: @@ -1104,6 +1124,18 @@ components: type: string x-tags: - Models + GetCertificatesResponse: + title: GetCertificatesResponse + x-stoplight: + id: wzfo263uqhopb + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/InstalledCertificateDetail' + meta: + type: object responses: 502_GatewayError: description: 'If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail.' From afa7139e868fa3ee069a940704821a4ef59f7f23 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 28 Sep 2022 16:48:45 -0500 Subject: [PATCH 032/360] DEVDOCS-4339: [maintenance] Price Lists, update MAP definition (#961) * chore(customers): CUST-1745 add includes for segments (#895) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * Add 422 Reponse to Create a Refund OrdersV3 * DEVDOCS-3351: [internal] Update PR templates (#957) * Modified reference/price_lists.v3.yml * Modified reference/price_lists.v3.yml * Remove Orders.V3 change that belongs to 4377 * DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> * Modified reference/price_lists.v3.yml * move and retitle securitySchemes * deletePriceListAssignments - indentation, includes, schemas for params * rename definitions section to schemas, embed under components * add top-level components section * update params; move type, format under schema * move schemas under components, indent accordingly * indent example per surrounding examples * Update reference/price_lists.v3.yml Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> * Update price_lists.v3.yml Making minor stylistical changes * Update price_lists.v3.yml Made some stylistic changes Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> --- reference/price_lists.v3.yml | 1814 +++++++++++++++++----------------- 1 file changed, 896 insertions(+), 918 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index ace64a622..4d65b4012 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -23,13 +23,13 @@ info: ## Price Lists - The association of a Price List to a customer group can be done either via the control panel or using the [Customer Groups API.](/api-reference/customer-subscribers/customers-api) + You can associate a Price List with a customer group either through the control panel or by using the [Customer Groups API.](/api-reference/customer-subscribers/customers-api) - [Price List Assignments](/api-reference/store-management/price-lists/price-lists-assignments/createpricelistassignments) can be created to assign Price Lists to a specific [channel](/api-reference/cart-checkout/channels-listings-api). Price Lists assigned to a channel apply to all shoppers on that channel, unless there are more specific assignments or customer group discounts set up for the shopper's customer group. + You can create [Price List Assignments](/api-reference/store-management/price-lists/price-lists-assignments/createpricelistassignments) to assign Price Lists to a specific [channel](/api-reference/cart-checkout/channels-listings-api). Price Lists assigned to a channel apply to all shoppers on that channel, unless there are more specific assignments or customer group discounts set up for the shopper's customer group. - If an active Price List does not contain prices for a variant, then the catalog pricing will be used. + If an active Price List does not contain prices for a variant, the catalog pricing will be used. - Price Lists provide overridden price values to the Stencil storefront. Final price display can be further customized using Stencil's [handlebars objects](/theme-objects). + Price Lists provide overridden price values to the Stencil storefront. You can further customize the final price display using Stencil's [handlebars objects](/theme-objects). To learn more about Price Lists, see [Price Lists API](/api-docs/store-management/price-list-overview). @@ -56,8 +56,8 @@ info: - Price Lists cannot be assigned to a customer group that has customer group discounts -- the customer group discounts must be deleted first. - Bulk pricing Tiers may additionally be associated with a price record to indicate different pricing as the quantity in the cart increases. - If a variant has a Price Record, any existing product-level bulk pricing will not apply in the cart. For variants without Price Records, any existing product bulk pricing will apply. - - [Price Lists Records](/api-reference/store-management/price-lists/price-lists-records/setpricelistrecordcollection) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one in parallel on the **same store** will cause a 429 error and the request will fail. - - There are no webhooks available for Price Lists. Since Price Lists directly relate to products, product webhooks will fire for corresponding changes such as pricing. + - [Price Lists Records](/api-reference/store-management/price-lists/price-lists-records/setpricelistrecordcollection) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one bulk upsert in parallel on the **same store** will cause a 429 error and the request will fail. + - There are no webhooks available for Price Lists. Since Price Lists directly relate to products, product webhooks will trigger for corresponding changes such as pricing. ## Additional information @@ -101,7 +101,7 @@ paths: - name: id in: query description: | - Filter items by id. + Filter items by ID. schema: type: integer - name: name @@ -195,7 +195,7 @@ paths: id: type: integer description: | - The unique numeric ID of the `Price List`; increments sequentially. + The unique numeric ID of the `Price List`; this number increments sequentially. example: 3 date_created: type: string @@ -216,16 +216,16 @@ paths: properties: name: type: string - description: The unique name of the Price List. Required in /POST. + description: The unique name of the Price List. Required in a POST request. example: Wholesale x-required: - post active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Boolean value that specifies whether this `Price List` and its prices are active or not. Defaults to `true`. example: true - description: Common Price List properties. + description: Specifies the Common Price List properties. meta: title: Collection Meta type: object @@ -277,25 +277,25 @@ paths: Link to the next page returned in the response. description: | Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - description: 'Data about the response, including pagination and collection totals.' + description: 'Data related to the response, including pagination and collection totals.' + description: 'Data related to the response, including pagination and collection totals.' description: Get All PriceLists. example: data: - id: 1 name: Warehouse - date_created: '2018-02-26T17:33:11Z' - date_modified: '2018-05-08T14:05:27Z' + date_created: '2022-02-26T17:33:11Z' + date_modified: '2022-05-08T14:05:27Z' active: true - id: 2 name: B2B - date_created: '2018-02-26T17:37:01Z' - date_modified: '2018-02-26T17:37:01Z' + date_created: '2022-02-26T17:37:01Z' + date_modified: '2022-02-26T17:37:01Z' active: true - id: 3 name: Wholesale - date_created: '2018-04-05T16:05:12Z' - date_modified: '2018-04-05T16:05:12Z' + date_created: '2022-04-05T16:05:12Z' + date_modified: '2022-04-05T16:05:12Z' active: true meta: pagination: @@ -344,16 +344,16 @@ paths: properties: name: type: string - description: The unique name of the Price List. Required in /POST. + description: The unique name of the Price List. Required in a POST request. example: Wholesale x-required: - post active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Boolean value that specifies whether this `Price List` and its prices are active or not. Defaults to `true`. example: true - description: Common Price List properties. + description: Specifies the Common Price List properties. required: true responses: '200': @@ -373,20 +373,20 @@ paths: id: type: integer description: | - The unique numeric ID of the `Price List`; increments sequentially. + The unique numeric ID of the `Price List`; this number increments sequentially. example: 3 date_created: type: string description: | The date on which the `Price List` was created. format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' date_modified: type: string description: | The date on which the `Price List` was created. format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' - title: PriceList Base required: - name @@ -394,16 +394,16 @@ paths: properties: name: type: string - description: The unique name of the Price List. Required in /POST. + description: The unique name of the Price List. Required in a POST request. example: Wholesale x-required: - post active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Boolean value that specifies whether this `Price List` and its prices are active or not. Defaults to `true`. example: true - description: Common Price List properties. + description: Specifies the Common Price List properties. meta: title: Meta type: object @@ -419,13 +419,13 @@ paths: data: id: 4 name: Wholesale Group - Trade Show - date_created: '2018-09-17T18:41:59Z' - date_modified: '2018-09-17T18:41:59Z' + date_created: '2022-09-17T18:41:59Z' + date_modified: '2022-09-17T18:41:59Z' active: false meta: {} '409': description: | - `Price List` was in conflict with another Price List. This is the result of duplicate unique values, such as `name`. + `Price List` conflicts with another Price List. This is the result of duplicate unique values, such as `name`. content: application/json: schema: @@ -451,7 +451,7 @@ paths: type: string '422': description: | - `Price List` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + `Price List` is not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: @@ -491,7 +491,7 @@ paths: - name: id in: query description: | - Filter items by id. + Filter items by ID. schema: type: integer - name: name @@ -512,7 +512,7 @@ paths: default: application/json responses: '204': - description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' + description: '`204 No Content`. The action has been performed and no further information will be supplied. `null` is returned.' content: application/json: schema: @@ -540,7 +540,7 @@ paths: type: string - name: id in: query - description: Filter items by id. + description: Filter items by ID. schema: type: integer - name: name @@ -556,7 +556,7 @@ paths: format: date-time - name: date_modified in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2022-06-15`' schema: type: string format: date-time @@ -567,7 +567,7 @@ paths: type: integer - name: limit in: query - description: Controls the number of items per page in a limited (paginated) list of products. + description: Specifies the number of items per page in a limited (paginated) list of products. schema: type: integer responses: @@ -588,32 +588,32 @@ paths: id: type: integer description: | - The unique numeric ID of the `Price List`; increments sequentially. + The unique numeric ID of the `Price List`; this number increments sequentially. example: 3 date_created: type: string description: | The date on which the `Price List` was created. format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' date_modified: type: string description: | The date on which the `Price List` was created. format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' name: type: string - description: The unique name of the Price List. Required in /POST. + description: The unique name of the Price List. Required in a POST request. example: Wholesale x-required: - post active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Boolean value that specifies whether this `Price List` and its prices are active or not. Defaults to `true`. example: true - description: Common Price List properties. + description: Specifies the Common Price List properties. meta: title: Meta type: object @@ -629,8 +629,8 @@ paths: data: id: 2 name: B2B - date_created: '2018-02-26T17:37:01Z' - date_modified: '2018-09-17T18:34:36Z' + date_created: '2022-02-26T17:37:01Z' + date_modified: '2022-09-17T18:34:36Z' active: true meta: {} put: @@ -666,14 +666,14 @@ paths: properties: name: type: string - description: The unique name of the Price List. Required in /POST. + description: The unique name of the Price List. Required in a POST request. example: Wholesale x-required: - post active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true description: Common Price List properties. required: true @@ -695,20 +695,20 @@ paths: id: type: integer description: | - The unique numeric ID of the `Price List`; increments sequentially. + The unique numeric ID of the `Price List`; this number increments sequentially. example: 3 date_created: type: string description: | The date on which the `Price List` was created. format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' date_modified: type: string description: | The date on which the `Price List` was created. format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' - title: PriceList Base required: - name @@ -741,8 +741,8 @@ paths: data: id: 2 name: BigCommerce - date_created: '2018-02-26T17:37:01Z' - date_modified: '2018-09-17T18:45:17Z' + date_created: '2022-02-26T17:37:01Z' + date_modified: '2022-09-17T18:45:17Z' active: false meta: {} '404': @@ -867,13 +867,13 @@ paths: type: string - name: 'variant_id:in' in: query - description: The ID of the `Variant` whose prices were requested. + description: The ID of the `Variant` for which prices were requested. schema: type: integer - name: 'product_id:in' in: query description: | - A comma-separated list of ids of `Product`s whose prices were requested. + A comma-separated list of IDs of `Product`s for which prices were requested. schema: type: string - name: currency @@ -896,7 +896,7 @@ paths: - name: include in: query description: | - Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. + Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. schema: type: string enum: @@ -941,14 +941,14 @@ paths: format: date-time - name: date_modified in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2022-06-15`' schema: type: string format: date-time - name: sku in: query description: | - Filter items by sku. + Filter items by SKU. schema: type: string - name: Content-Type @@ -1054,7 +1054,7 @@ paths: calculated_price: type: number description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double example: 24.64 date_created: @@ -1072,7 +1072,7 @@ paths: product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - title: Price Record Identifiers type: object @@ -1088,12 +1088,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The variant with which this price set is associated. Either SKU or variant_id is required. currency: type: string description: | @@ -1119,12 +1119,12 @@ paths: retail_price: type: number description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double map_price: type: number description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double bulk_pricing_tiers: type: array @@ -1219,7 +1219,7 @@ paths: description: |- PriceRecord Collection Response returns for: * Get All PriceList Records - * Get PriceList Records by Variant Id + * Get PriceList Records by Variant ID example: data: - price_list_id: 3 @@ -1229,8 +1229,8 @@ paths: retail_price: 25.48 map_price: 18.57 calculated_price: 25.48 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 187 bulk_pricing_tiers: [] @@ -1241,8 +1241,8 @@ paths: retail_price: 31.31 map_price: 31.31 calculated_price: 31.31 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 188 bulk_pricing_tiers: [] @@ -1253,8 +1253,8 @@ paths: retail_price: 18.57 map_price: 18.57 calculated_price: 18.57 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 189 bulk_pricing_tiers: [] @@ -1265,8 +1265,8 @@ paths: retail_price: 22.54 map_price: 22.54 calculated_price: 22.54 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 190 bulk_pricing_tiers: [] @@ -1277,8 +1277,8 @@ paths: retail_price: 27.39 map_price: 27.39 calculated_price: 27.39 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:51:26Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:51:26Z' currency: usd product_id: 191 bulk_pricing_tiers: @@ -1301,8 +1301,8 @@ paths: retail_price: 9.8 map_price: 9.8 calculated_price: 9.8 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 192 bulk_pricing_tiers: [] @@ -1313,8 +1313,8 @@ paths: retail_price: 24.5 map_price: 24.5 calculated_price: 24.5 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 192 bulk_pricing_tiers: [] @@ -1325,8 +1325,8 @@ paths: retail_price: 24.5 map_price: 24.5 calculated_price: 24.5 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 192 bulk_pricing_tiers: [] @@ -1337,8 +1337,8 @@ paths: retail_price: 9.8 map_price: 9.8 calculated_price: 9.8 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 193 bulk_pricing_tiers: [] @@ -1349,8 +1349,8 @@ paths: retail_price: 10.78 map_price: 10.78 calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:33:14Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:33:14Z' currency: usd product_id: 194 bulk_pricing_tiers: [] @@ -1361,8 +1361,8 @@ paths: retail_price: 10.78 map_price: 10.78 calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:35:42Z' currency: usd product_id: 195 bulk_pricing_tiers: @@ -1385,8 +1385,8 @@ paths: retail_price: 18.62 map_price: 18.62 calculated_price: 18.62 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:35:42Z' currency: usd product_id: 195 bulk_pricing_tiers: @@ -1409,8 +1409,8 @@ paths: retail_price: 10.78 map_price: 10.78 calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:35:42Z' currency: usd product_id: 195 bulk_pricing_tiers: @@ -1433,8 +1433,8 @@ paths: retail_price: 10.78 map_price: 10.78 calculated_price: 10.78 - date_created: '2018-09-17T20:33:14Z' - date_modified: '2018-09-17T20:35:42Z' + date_created: '2022-09-17T20:33:14Z' + date_modified: '2022-09-17T20:35:42Z' currency: usd product_id: 195 bulk_pricing_tiers: @@ -1489,7 +1489,7 @@ paths: - name: X-Strict-Mode in: header description: | - Header that determines whether the Batch API operates in strict mode or not. Strict mode will reject the entire request if any item in the batch has an error. + Header that determines whether the Batch API operates in strict mode or not. Strict mode will reject the entire request if any item in the batch has an error. schema: type: integer default: 0 @@ -1519,12 +1519,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 331 sku: type: string description: | - The sku for the variant with which this price set is associated. Either sku or variant_id is required. + The SKU for the variant with which this price set is associated. Either SKU or variant_id is required. example: SMB-123 currency: type: string @@ -1551,12 +1551,12 @@ paths: retail_price: type: number description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double map_price: type: number description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double bulk_pricing_tiers: type: array @@ -1567,12 +1567,12 @@ paths: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for the pricing of this tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for the pricing of this tier. example: 10 type: type: string @@ -1598,7 +1598,7 @@ paths: required: true responses: '200': - description: Success response for batch PUT of Price Records. + description: Success response for batch PUT requests of Price Records. content: application/json: schema: @@ -1616,7 +1616,7 @@ paths: meta: {} examples: {} '422': - description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. + description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. content: application/json: schema: @@ -1644,12 +1644,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The variant with which this price set is associated. Either SKU or variant_id is required. currency: type: string description: | @@ -1661,7 +1661,7 @@ paths: type: object additionalProperties: type: string - description: Error during Price Record batch PUT. Includes data sent in the request and errors. + description: Error during Price Record batch PUT request. Includes data sent in the request and errors. description: Errors during batch usage for the BigCommerce API. delete: tags: @@ -1684,7 +1684,7 @@ paths: type: string - name: 'variant_id:in' in: query - description: The ID of the `Variant` whose prices were requested. + description: The ID of the `Variant` for which prices were requested. schema: type: integer - name: Accept @@ -1766,7 +1766,7 @@ paths: description: |- PriceRecord Collection Response returns for: * Get All PriceList Records - * Get PriceList Records by Variant Id + * Get PriceList Records by Variant ID properties: data: type: array @@ -1778,7 +1778,7 @@ paths: calculated_price: type: number description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double example: 24.64 date_created: @@ -1786,17 +1786,17 @@ paths: description: | The date on which the Price entry was created. format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' date_modified: type: string description: | The date on which the Price entry was created. format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - title: Price Record Identifiers description: Price Record object used in batch create or update. @@ -1809,12 +1809,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The variant ID with which this price set is associated. Either SKU or variant_id is required. currency: type: string description: | @@ -1841,14 +1841,14 @@ paths: retail_price: type: number description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double minimum: 0 example: 6.99 map_price: type: number description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double minimum: 0 example: 5.99 @@ -1892,12 +1892,12 @@ paths: meta: title: Collection Meta type: object - description: 'Data about the response, including pagination and collection totals.' + description: 'Data related to the response, including pagination and collection totals.' properties: pagination: title: Pagination type: object - description: 'Data about the response, including pagination and collection totals.' + description: 'Data related to the response, including pagination and collection totals.' properties: total: type: integer @@ -1981,7 +1981,7 @@ paths: - name: include in: query description: | - Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. + Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. schema: type: string enum: @@ -2016,7 +2016,7 @@ paths: calculated_price: type: number description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double example: 24.64 date_created: @@ -2024,21 +2024,21 @@ paths: description: | The date on which the Price entry was created. format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' date_modified: type: string description: | The date on which the Price entry was created. format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The ID of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - title: Price Record Identifiers type: object - description: Price Record object used in batch create or update. + description: Price Record object used in batch create or update requests. allOf: - type: object properties: @@ -2050,12 +2050,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The variant with which this price set is associated. Either SKU or variant_id is required. currency: type: string description: | @@ -2081,12 +2081,12 @@ paths: retail_price: type: number description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double map_price: type: number description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double bulk_pricing_tiers: type: array @@ -2097,12 +2097,12 @@ paths: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for the pricing of this tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for the pricing of this tier. example: 10 type: type: string @@ -2140,8 +2140,8 @@ paths: retail_price: 22.544 map_price: 22.544 calculated_price: 22.544 - date_created: '2018-09-18T13:18:15Z' - date_modified: '2018-09-18T13:18:15Z' + date_created: '2022-09-18T13:18:15Z' + date_modified: '2022-09-18T13:18:15Z' currency: eur product_id: 185 meta: @@ -2225,7 +2225,7 @@ paths: map_price: type: number description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double bulk_pricing_tiers: type: array @@ -2271,45 +2271,39 @@ paths: content: application/json: schema: - title: Price Record Response + description: Response payload for the BigCommerce API. type: object properties: data: - title: Price Record - type: object description: The Price Record object. allOf: - - type: object - properties: + - properties: calculated_price: type: number - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. example: 24.64 date_created: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time example: '2018-08-23T19:59:23Z' date_modified: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time example: '2018-08-23T19:59:23Z' product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - - title: Price Record Identifiers - type: object - description: Price Record object used in batch create or update. + - description: Price Record object used in a batch create or update request. allOf: - - type: object - properties: + - properties: price_list_id: type: integer description: | @@ -2318,110 +2312,115 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The variant with which this price set is associated. Either SKU or variant_id is required. currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd - - title: PriceRecord Base + title: Price Record Identifiers type: object + - type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number + format: double description: | The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - format: double map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for the pricing of this tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for the pricing of this tier. example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number + format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + title: Price Record + type: object meta: - title: Meta type: object - properties: {} description: Empty meta object; may be used later. - description: Response payload for the BigCommerce API. - example: - data: - price_list_id: 4 - variant_id: 356 - price: 12.99 - sale_price: 10.99 - retail_price: 15.99 - map_price: 17.99 - calculated_price: 10.99 - date_created: '2018-09-18T13:18:15Z' - date_modified: '2018-09-18T13:30:48Z' - currency: eur - product_id: 185 - bulk_pricing_tiers: - - quantity_min: 5 - quantity_max: 10 - type: percent - amount: 1 - - quantity_min: 11 - quantity_max: 20 - type: percent - amount: 2 - meta: {} + title: Meta + title: Price Record Response + examples: + value: + value: + data: + price_list_id: 4 + variant_id: 356 + price: 12.99 + sale_price: 10.99 + retail_price: 15.99 + map_price: 17.99 + calculated_price: 10.99 + date_created: '2022-09-18T13:18:15Z' + date_modified: '2022-09-18T13:30:48Z' + currency: eur + product_id: 185 + bulk_pricing_tiers: + - quantity_min: 5 + quantity_max: 10 + type: percent + amount: 1 + - quantity_min: 11 + quantity_max: 20 + type: percent + amount: 2 + meta: {} '404': description: | The resource was not found. @@ -2500,7 +2499,7 @@ paths: tags: - Price Lists Records summary: Delete a Price Record by Currency Code - description: 'Deletes a *Price List Record* using the currency code. ' + description: 'Deletes a *Price List Record* using the currency code.' operationId: deletePriceListRecord parameters: - name: price_list_id @@ -2631,74 +2630,17 @@ paths: schema: $ref: '#/components/schemas/AssignmentsForGetResponse' post: - tags: - - Price Lists Assignments - summary: Create Price List Assignments - description: Creates a batch of Price List Assignments. - operationId: CreatePriceListAssignments - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - requestBody: - description: A BigCommerce Price List Assignments request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateBatchPriceListAssignmentsRequest' - required: true - responses: - '200': - description: Success response for batch POST of `Price List Assignments`. - '422': - description: Error response for batch POST of Price List Assignments. Includes the errors for each reference ID. - content: - application/json: - schema: - $ref: '#/components/schemas/PriceListAssignmentsBatchErrorResponse' - delete: tags: - Price Lists Assignments summary: Delete Price List Assignments description: Deletes one or more `Price List Assignments` objects from BigCommerce using a filter. operationId: deletePriceListAssignmentsByFilter parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: query - description: The ID of the `Price List Assignment`. - schema: - type: integer - - name: price_list_id - in: query - description: The ID of the `Price List`. - schema: - type: integer - - name: customer_group_id - in: query - description: The ID of the `Customer Group`. - schema: - type: integer - - name: channel_id - in: query - description: The ID of the `Channel`. - schema: - type: integer - - name: 'channel_id:in' - in: query - description: Filter results by a comma-separated list of `channel_id`s. - style: form - explode: false - schema: - type: array - items: - type: integer + - $ref: '#/components/parameters/FilterAssignmentIdParam' + - $ref: '#/components/parameters/FilterPriceListIdParam' + - $ref: '#/components/parameters/FilterCustomerGroupIdParam' + - $ref: '#/components/parameters/FilterChannelIdParam' + - $ref: '#/components/parameters/ChannelIdInParam' responses: '204': description: An empty response. @@ -2706,144 +2648,354 @@ paths: application/json: schema: $ref: '#/components/schemas/NoContent' + parameters: + - name: store_hash + in: path + required: true + schema: + type: string components: - schemas: - AssignmentsForRequest: - required: - - price_list_id - type: object - properties: - customer_group_id: - type: integer - description: Customer group id for assignment. - format: int32 - price_list_id: - type: integer - description: Pricelist id for assignment. - format: int32 - channel_id: - type: integer - description: Channel ID for assignment - format: int32 - description: '`Price List Assignments` object used in batch create.' - x-internal: false - PriceListAssignmentsBatchErrorResponse: - type: object - properties: - batch_errors: - type: array - items: - $ref: '#/components/schemas/PriceListAssignmentsBatchErrorSet' - description: Errors during batch usage for the BigCommerce API. - x-internal: false - PriceListAssignmentsBatchErrorSet: - type: object - properties: - data: - $ref: '#/components/schemas/PriceListAssignmentsIdentifiers' - field_errors: - $ref: '#/components/schemas/DetailedErrors' - description: Error during `Price List Assignments` batch POST. Includes data sent in the request and errors. - x-internal: false - PriceListAssignmentsIdentifiers: - description: '`Price List Assignments` object used in GET response.' - allOf: - - type: object - properties: - customer_group_id: - type: integer - description: The Customer Group with which this price list assignment is associated. A customer_group_id of 0 indicates default pricing for the channel given in the request. - price_list_id: - type: integer - description: The Price List with which this price set is associated. - channel_id: - type: integer - description: The Channel with which this price set is associated. This field is optional or may be null when a price list applies across channels for the customer_group_id in the assignment. - x-internal: false - AssignmentForGetResponse: - type: object - properties: - id: - type: integer - description: Unique identifier for this price list assignment. - format: int32 - customer_group_id: - type: integer - description: Customer group id for assignment. - format: int32 - price_list_id: - type: integer - description: Pricelist id for assignment. - format: int32 - channel_id: - type: integer - description: Channel ID for assignment - format: int32 - x-internal: false - AssignmentsForGetResponse: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/AssignmentForGetResponse' - meta: - $ref: '#/components/schemas/CollectionMeta' - description: Array of the price list assignments matching the filter. The response is paginated. - x-internal: false - PriceListCollectionResponse: - title: PriceList Collection Response - type: object - properties: - data: - type: array - items: - title: Price List - type: object - allOf: - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: - type: string - description: | - The date on which the `Price List` was created. - format: date-time - example: '2018-04-05T16:05:12Z' - date_modified: - type: string - description: | - The date on which the `Price List` was created. - format: date-time - example: '2018-04-05T16:05:12Z' - - title: PriceList Base - required: - - name - type: object - properties: - name: - type: string - description: The unique name of the Price List. Required in /POST. - example: Wholesale - x-required: - - post - active: - type: boolean + parameters: + ChannelIdInParam: + in: query + name: 'channel_id:in' + description: Filter results by a comma-separated list of `channel_id`s. + schema: + type: string + FilterIdParam: + name: id + description: | + Filter items by id. + required: false + in: query + schema: + type: integer + FilterSkuParam: + name: sku + description: | + Filter items by SKU. + required: false + in: query + schema: + type: string + FilterProductIdParam: + schema: + type: string + name: 'product_id:in' + in: query + required: false + description: | + A comma-separated list of IDs of `Product`s for which prices were requested. + FilterNameParam: + name: name + description: | + Filter items by name. + required: false + in: query + schema: + type: string + FilterPriceParam: + name: price + description: | + Filter items by price. + required: false + in: query + schema: + type: number + FilterSalePriceParam: + name: sale_price + description: | + Filter items by sale_price. + required: false + in: query + schema: + type: number + FilterRetailPriceParam: + name: retail_price + description: | + Filter items by retail_price. + required: false + in: query + schema: + type: number + FilterMapPriceParam: + name: map_price + description: | + Filter items by map_price. + required: false + in: query + schema: + type: number + FilterCalculatedPriceParam: + name: calculated_price + description: | + Filter items by calculated_price. + required: false + in: query + schema: + type: number + VariantIdParam: + name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + FilterDateModifiedParam: + name: date_modified + description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2022-06-15`' + required: false + in: query + schema: + type: string + format: date-time + FilterDateCreatedParam: + name: date_created + description: | + Filter items by date_created. + required: false + in: query + schema: + type: string + format: date-time + FilterIncludePriceRecordParam: + name: include + description: | + Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. + required: false + in: query + schema: + type: string + enum: + - bulk_pricing_tiers + - sku + FilterCurrencyParam: + name: currency + description: | + Filter items by currency. + required: false + in: query + schema: + type: string + format: ISO-4217 + PageParam: + name: page + description: Specifies the page number in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + LimitParam: + name: limit + description: Controls the number of items per page in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + PriceListIdParam: + schema: + type: integer + name: price_list_id + in: path + description: | + The ID of the `Price List` requested. + required: true + PriceRecordCurrencyParam: + name: currency_code + in: path + description: | + The currency code associated with the price record being acted upon. + required: true + schema: + type: string + format: ISO-4217 + FilterVariantIdParam: + schema: + type: integer + name: 'variant_id:in' + in: query + required: false + description: The ID of the `Variant` for which prices were requested. + Accept: + schema: + type: string + default: application/json + in: header + name: Accept + Content-Type: + name: Content-Type + in: header + schema: + type: string + default: application/json + FilterAssignmentIdParam: + description: The ID of the `Price List Assignment`. + required: false + in: query + schema: + type: integer + name: id + FilterPriceListIdParam: + name: price_list_id + description: The ID of the `Price List`. + required: false + in: query + schema: + type: integer + FilterCustomerGroupIdParam: + name: customer_group_id + description: The ID of the `Customer Group`. + required: false + in: query + schema: + type: integer + FilterChannelIdParam: + name: channel_id + description: The ID of the `Channel`. + required: false + in: query + schema: + type: integer + schemas: + AssignmentsForRequest: + type: object + description: '`Price List Assignments` object used in a batch create request.' + properties: + customer_group_id: + type: integer + format: int32 + description: Customer group id for assignment. + price_list_id: + type: integer + format: int32 + description: Pricelist id for assignment. + channel_id: + type: integer + format: int32 + description: Channel ID for assignment + required: + - price_list_id + x-internal: false + PriceListAssignmentsBatchErrorResponse: + description: Errors during batch usage for the BigCommerce API. + type: object + properties: + batch_errors: + type: array + items: + $ref: '#/components/schemas/PriceListAssignmentsBatchErrorSet' + x-internal: false + PriceListAssignmentsBatchErrorSet: + description: Error during `Price List Assignments` batch POST. Includes data sent in the request and errors. + type: object + properties: + data: + $ref: '#/components/schemas/PriceListAssignmentsIdentifiers' + field_errors: + $ref: '#/components/schemas/DetailedErrors' + x-internal: false + PriceListAssignmentsIdentifiers: + type: object + description: '`Price List Assignments` object used in GET response.' + allOf: + - type: object + properties: + customer_group_id: + type: integer + description: The Customer Group with which this price list assignment is associated. A customer_group_id of 0 indicates default pricing for the channel given in the request. + price_list_id: + type: integer + description: The Price List with which this price set is associated. + channel_id: + type: integer + description: The Channel with which this price set is associated. This field is optional or may be null when a price list applies across channels for the customer_group_id in the assignment. + x-internal: false + AssignmentForGetResponse: + type: object + properties: + id: + type: integer + format: int32 + description: Unique identifier for this price list assignment. + customer_group_id: + type: integer + format: int32 + description: Customer group ID for assignment. + price_list_id: + type: integer + format: int32 + description: Pricelist ID for assignment. + channel_id: + type: integer + format: int32 + description: Channel ID for assignment + x-internal: false + AssignmentsForGetResponse: + description: Array of the price list assignments matching the filter. The response is paginated. + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/AssignmentForGetResponse' + meta: + $ref: '#/components/schemas/CollectionMeta' + x-internal: false + PriceListCollectionResponse: + description: Get All PriceLists. + type: object + properties: + data: + type: array + items: + allOf: + - properties: + id: + type: integer description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true + The unique numeric ID of the `Price List`; this number increments sequentially. + example: 3 + date_created: + type: string + format: date-time + description: | + The date on which the `Price List` was created. + example: '2022-04-05T16:05:12Z' + date_modified: + type: string + format: date-time + description: | + The date on which the `Price List` was created. + example: '2022-04-05T16:05:12Z' + - type: object description: Common Price List properties. + title: PriceList Base + properties: + name: + type: string + description: | + The unique name of the Price List. Required in a POST request. + x-required: + - post + example: Wholesale + active: + type: boolean + description: | + Whether or not this `Price List` and its prices are active. Defaults to `true`. + example: true + required: + - name + title: Price List + type: object meta: - title: Collection Meta type: object + description: 'Data about the response, including pagination and collection totals.' properties: pagination: - title: Pagination type: object + description: 'Data about the response, including pagination and collection totals.' + title: Pagination properties: total: type: integer @@ -2872,6 +3024,8 @@ components: example: 1 links: type: object + description: | + Pagination links for the previous and next parts of the whole collection. properties: previous: type: string @@ -2886,22 +3040,21 @@ components: type: string description: | Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - description: 'Data about the response, including pagination and collection totals.' - description: Get All PriceLists. + title: Collection Meta + title: PriceList Collection Response x-internal: false PriceListResponse: - title: Price List Response + description: |- + PriceList Reponse returns for: + + * Create a PriceList + * Get a PriceList + * Update a PriceList type: object properties: data: - title: Price List - type: object allOf: - - type: object - properties: + - properties: id: type: integer description: | @@ -2909,69 +3062,65 @@ components: example: 3 date_created: type: string + format: date-time description: | The date on which the `Price List` was created. - format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' date_modified: type: string + format: date-time description: | The date on which the `Price List` was created. - format: date-time - example: '2018-04-05T16:05:12Z' - - title: PriceList Base - required: - - name - type: object + example: '2022-04-05T16:05:12Z' + - type: object + description: Common Price List properties. + title: PriceList Base properties: name: type: string - description: The unique name of the Price List. Required in /POST. - example: Wholesale + description: | + The unique name of the Price List. Required in a POST request. x-required: - post + example: Wholesale active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true - description: Common Price List properties. + required: + - name + title: Price List + type: object meta: - title: Meta type: object - properties: {} description: Empty meta object; may be used later. - description: |- - PriceList Reponse returns for: - - * Create a PriceList - * Get a PriceList - * Update a PriceList + title: Meta + title: Price List Response x-internal: false PriceListBase: - title: PriceList Base - required: - - name type: object + description: Common Price List properties. + title: PriceList Base properties: name: type: string - description: The unique name of the Price List. Required in /POST. - example: Wholesale + description: | + The unique name of the Price List. Required in a POST request. x-required: - post + example: Wholesale active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true - description: Common Price List properties. + required: + - name x-internal: false PriceList: - title: Price List allOf: - - type: object - properties: + - properties: id: type: integer description: | @@ -2979,120 +3128,126 @@ components: example: 3 date_created: type: string + format: date-time description: | The date on which the `Price List` was created. - format: date-time - example: '2018-04-05T16:05:12Z' + example: '2022-04-05T16:05:12Z' date_modified: type: string + format: date-time description: | The date on which the `Price List` was created. - format: date-time - example: '2018-04-05T16:05:12Z' - - title: PriceList Base - required: - - name - type: object + example: '2022-04-05T16:05:12Z' + - type: object + description: Common Price List properties. + title: PriceList Base properties: name: type: string - description: The unique name of the Price List. Required in /POST. - example: Wholesale + description: | + The unique name of the Price List. Required in a POST request. x-required: - post + example: Wholesale active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true - description: Common Price List properties. + required: + - name + title: Price List + type: object x-internal: false PriceListPost: - title: PriceList Post - description: 'Creates a Price List. ' + type: object allOf: - - title: PriceList Base - required: - - name - type: object + - type: object + description: Common Price List properties. + title: PriceList Base properties: name: type: string - description: The unique name of the Price List. Required in /POST. - example: Wholesale + description: | + The unique name of the Price List. Required in a POST request. x-required: - post + example: Wholesale active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true - description: Common Price List properties. + required: + - name + required: + - name + title: PriceList Post + description: 'Creates a Price List. ' x-internal: false PriceListPut: - title: PriceList Put - description: Update a PriceList + type: object allOf: - - title: PriceList Base - required: - - name - type: object + - type: object + description: Common Price List properties. + title: PriceList Base properties: name: type: string - description: The unique name of the Price List. Required in /POST. - example: Wholesale + description: | + The unique name of the Price List. Required in a POST request. x-required: - post + example: Wholesale active: type: boolean description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. + Whether or not this `Price List` and its prices are active. Defaults to `true`. example: true - description: Common Price List properties. + required: + - name + title: PriceList Put + description: Update a PriceList x-internal: false PriceRecordCollectionResponse: - title: PriceRecord Collection Response + description: |- + PriceRecord Collection Response returns for: + * Get All PriceList Records + * Get PriceList Records by Variant Id type: object properties: data: type: array items: - title: Price Record - type: object description: The Price Record object. allOf: - - type: object - properties: + - properties: calculated_price: type: number - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. example: 24.64 date_created: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' date_modified: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - - title: Price Record Identifiers - type: object - description: Price Record object used in batch create or update. + - description: Price Record object used in batch create or update. allOf: - - type: object - properties: + - properties: price_list_id: type: integer description: | @@ -3101,88 +3256,93 @@ components: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The SKU with which this price set is associated. Either SKU or variant_id is required. currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd - - title: PriceRecord Base + title: Price Record Identifiers type: object + - type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for this pricing of this tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for the pricing of this tier. example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number + format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + title: Price Record + type: object meta: - title: Collection Meta type: object + description: 'Data about the response, including pagination and collection totals.' properties: pagination: - title: Pagination type: object + description: 'Data about the response, including pagination and collection totals.' + title: Pagination properties: total: type: integer @@ -3211,6 +3371,8 @@ components: example: 1 links: type: object + description: | + Pagination links for the previous and next parts of the whole collection. properties: previous: type: string @@ -3225,55 +3387,43 @@ components: type: string description: | Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - description: 'Data about the response, including pagination and collection totals.' - description: |- - PriceRecord Collection Response returns for: - * Get All PriceList Records - * Get PriceList Records by Variant Id + title: Collection Meta + title: PriceRecord Collection Response x-internal: false PriceRecordResponse: - title: Price Record Response + description: Response payload for the BigCommerce API. type: object properties: data: - title: Price Record - type: object description: The Price Record object. allOf: - - type: object - properties: + - properties: calculated_price: type: number - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. example: 24.64 date_created: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' date_modified: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - - title: Price Record Identifiers - type: object - description: Price Record object used in batch create or update. + - description: Price Record object used in batch create or update. allOf: - - type: object - properties: + - properties: price_list_id: type: integer description: | @@ -3282,49 +3432,52 @@ components: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant_id with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The SKU with which this price set is associated. Either SKU or variant_id is required. currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd - - title: PriceRecord Base + title: Price Record Identifiers type: object + - type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer @@ -3338,64 +3491,65 @@ components: example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number + format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + title: Price Record + type: object meta: - title: Meta type: object - properties: {} description: Empty meta object; may be used later. - description: Response payload for the BigCommerce API. + title: Meta + title: Price Record Response x-internal: false PriceRecordBase: - title: PriceRecord Base type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer @@ -3409,60 +3563,55 @@ components: example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number + format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. x-internal: false PriceRecord: - title: Price Record description: The Price Record object. allOf: - - type: object - properties: + - properties: calculated_price: type: number - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double + description: | + The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. example: 24.64 date_created: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' date_modified: type: string + format: date-time description: | The date on which the Price entry was created. - format: date-time - example: '2018-08-23T19:59:23Z' + example: '2022-08-23T19:59:23Z' product_id: type: integer description: | The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. example: 158 - - title: Price Record Identifiers - description: Price Record object used in batch create or update. + - description: Price Record object used in batch create or update. allOf: - - type: object - properties: + - properties: price_list_id: type: integer description: | @@ -3471,49 +3620,52 @@ components: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The SKU with which this price set is associated. Either SKU or variant_id is required. currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd - - title: PriceRecord Base + title: Price Record Identifiers type: object + - type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer @@ -3527,305 +3679,304 @@ components: example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number + format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + title: Price Record + type: object x-internal: false BulkPricingTier: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for this pricing tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for this pricing tier. example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. format: double + description: | + The price adjustment amount. This value together with the adjustment type determines the price per variant for the pricing tier. example: 3 x-internal: false PriceRecordPut: - title: Price Record Put + type: object allOf: - - title: PriceRecord Base - type: object + - type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for the pricing of this tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for the pricing of this tier. example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number + format: double description: | The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - format: double example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + title: Price Record Put x-internal: false PriceRecordCollectionPut: - title: Price Record Collection Put type: array items: - title: PriceRecord Batch Item - type: object - description: Price Record object used in batch create or update. + description: Price Record object used in a batch create or update request. allOf: - - type: object - properties: + - properties: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 331 sku: type: string description: | - The sku for the variant with which this price set is associated. Either sku or variant_id is required. + The SKU for the variant with which this price set is associated. Either SKU or variant_id is required. example: SMB-123 currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd - - title: PriceRecord Base - type: object + - type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for this pricing tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for this pricing tier. example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. format: double + description: | + The price adjustment amount. This value together with the adjustment type will determine the price per variant for the pricing tier. example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + title: PriceRecord Batch Item + type: object + title: Price Record Collection Put x-internal: false PriceRecordBatchItem: - title: PriceRecord Batch Item - description: Price Record object used in batch create or update. + description: Price Record object used in batch create or update request. allOf: - - type: object - properties: + - properties: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 331 sku: type: string description: | - The sku for the variant with which this price set is associated. Either sku or variant_id is required. + The SKU for the variant with which this price set is associated. Either SKU or variant_id is required. example: SMB-123 currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd - - title: PriceRecord Base - type: object + - type: object + description: Common Price Record properties. + title: PriceRecord Base properties: price: type: number + format: double description: | The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - format: double - example: 3.99 x-required: - put + example: 3.99 sale_price: type: number + format: double description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - format: double retail_price: type: number - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + description: | + The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. map_price: type: number - description: | - The MAP (Manufacturer's Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + description: | + The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. bulk_pricing_tiers: type: array items: - title: Bulk Pricing Tier type: object + title: Bulk Pricing Tier properties: quantity_min: type: integer description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. + The minimum quantity of associated variant in the cart needed to qualify for this pricing tier. example: 1 quantity_max: type: integer description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. + The maximum allowed quantity of associated variant in the cart to qualify for this pricing tier. example: 10 type: type: string - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price enum: - fixed - price - percent + description: | + The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. + example: price amount: type: number - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. format: double + description: | + The price adjustment amount. This value together with the adjustment type will determine the price per variant for the pricing tier. example: 3 sku: type: string description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + title: PriceRecord Batch Item + type: object x-internal: false PriceRecordIdentifiers: - title: Price Record Identifiers - description: Price Record object used in batch create or update. + description: Price Record object used in batch create or update request. allOf: - - type: object - properties: + - properties: price_list_id: type: integer description: | @@ -3834,41 +3985,40 @@ components: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The SKU with which this price set is associated. Either SKU or variant_id is required. currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd + title: Price Record Identifiers + type: object x-internal: false SuccessBatchResponse: - title: Success Batch Response type: object description: Empty object for Success case for Batch API. + title: Success Batch Response x-internal: false PriceRecordBatchErrorResponse: - title: PriceRecord Batch Error Response + description: Errors during batch usage for the BigCommerce API. type: object properties: batch_errors: type: array items: - title: PriceRecord Batch Error Set + description: Error during Price Record batch PUT request. Includes data sent in the request and errors. type: object properties: - data: - title: Price Record Identifiers - type: object - description: Price Record object used in batch create or update. + data: + description: Price Record object used in a batch create or update request. allOf: - - type: object - properties: + - properties: price_list_id: type: integer description: | @@ -3877,52 +4027,52 @@ components: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The SKU with which this price set is associated. Either SKU or variant_id is required. currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd + title: Price Record Identifiers + type: object field_errors: - title: Detailed Errors type: object additionalProperties: type: string - description: Error during Price Record batch PUT. Includes data sent in the request and errors. - description: Errors during batch usage for the BigCommerce API. + title: Detailed Errors + title: PriceRecord Batch Error Set + title: PriceRecord Batch Error Response x-internal: false NoContent: + description: No-content response for the BigCommerce API. + title: No Content type: object properties: status: - type: integer description: 204 HTTP status code. + type: integer title: - type: string description: The error title describing the situation. + type: string type: type: string instance: type: string - description: No-content response for the BigCommerce API. x-internal: false PriceRecordBatchErrorSet: - title: PriceRecord Batch Error Set + description: Error during Price Record batch PUT request. Includes data sent in the request and errors. type: object properties: data: - title: Price Record Identifiers - type: object - description: Price Record object used in batch create or update. + description: Price Record object used in batch create or update request. allOf: - - type: object - properties: + - properties: price_list_id: type: integer description: | @@ -3931,32 +4081,35 @@ components: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or sku is required. + The variant ID with which this price set is associated. Either variant_id or SKU is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either sku or variant_id is required. + The SKU with which this price set is associated. Either SKU or variant_id is required. currency: type: string + format: ISO-4217 description: | The 3-letter currency code with which this price set is associated. - format: ISO-4217 example: usd + title: Price Record Identifiers + type: object field_errors: - title: Detailed Errors type: object additionalProperties: type: string - description: Error during Price Record batch PUT. Includes data sent in the request and errors. + title: Detailed Errors + title: PriceRecord Batch Error Set x-internal: false CollectionMeta: - title: Collection Meta type: object + description: 'Data related the response, including pagination and collection totals.' properties: pagination: - title: Pagination type: object + description: 'Data related to the response, including pagination and collection totals.' + title: Pagination properties: total: type: integer @@ -3985,6 +4138,8 @@ components: example: 1 links: type: object + description: | + Pagination links for the previous and next parts of the whole collection. properties: previous: type: string @@ -3999,14 +4154,12 @@ components: type: string description: | Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - description: 'Data about the response, including pagination and collection totals.' + title: Collection Meta x-internal: false Pagination: - title: Pagination type: object + description: 'Data related to the response, including pagination and collection totals.' + title: Pagination properties: total: type: integer @@ -4035,6 +4188,8 @@ components: example: 1 links: type: object + description: | + Pagination links for the previous and next parts of the whole collection. properties: previous: type: string @@ -4049,84 +4204,81 @@ components: type: string description: | Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' x-internal: false Meta: - title: Meta type: object description: Empty meta object; may be used later. + title: Meta x-internal: false ErrorResponse: - title: Error Response allOf: - - title: Base Error - type: object + - type: object + description: | + Error payload for the BigCommerce API. properties: status: - type: integer description: | The HTTP status code. + type: integer title: - type: string description: | The error title describing the particular error. + type: string type: type: string instance: type: string - description: | - Error payload for the BigCommerce API. + title: Base Error - type: object properties: errors: - title: Detailed Errors type: object additionalProperties: type: string + title: Detailed Errors + title: Error Response x-internal: false BaseError: - title: Base Error type: object + description: | + Error payload for the BigCommerce API. properties: status: - type: integer description: | The HTTP status code. + type: integer title: - type: string description: | The error title describing the particular error. + type: string type: type: string instance: type: string - description: | - Error payload for the BigCommerce API. + title: Base Error x-internal: false DetailedErrors: - title: Detailed Errors type: object additionalProperties: type: string + title: Detailed Errors x-internal: false NotFound: - title: Not Found + description: Error payload for the BigCommerce API. type: object properties: status: - type: integer description: | 404 HTTP status code. + type: integer title: - type: string description: The error title describing the particular error. + type: string type: type: string instance: type: string - description: Error payload for the BigCommerce API. + title: Not Found x-internal: false CreateBatchPriceListAssignmentsRequest: type: array @@ -4134,185 +4286,11 @@ components: items: $ref: '#/components/schemas/AssignmentsForRequest' x-internal: false - parameters: - FilterIdParam: - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - FilterSkuParam: - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - FilterProductIdParam: - name: 'product_id:in' - in: query - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - schema: - type: string - FilterNameParam: - name: name - in: query - description: | - Filter items by name. - schema: - type: string - FilterPriceParam: - name: price - in: query - description: | - Filter items by price. - schema: - type: number - FilterSalePriceParam: - name: sale_price - in: query - description: | - Filter items by sale_price. - schema: - type: number - FilterRetailPriceParam: - name: retail_price - in: query - description: | - Filter items by retail_price. - schema: - type: number - FilterMapPriceParam: - name: map_price - in: query - description: | - Filter items by map_price. - schema: - type: number - FilterCalculatedPriceParam: - name: calculated_price - in: query - description: | - Filter items by calculated_price. - schema: - type: number - VariantIdParam: - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - FilterDateModifiedParam: - name: date_modified - in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - schema: - type: string - format: date-time - FilterDateCreatedParam: - name: date_created - in: query - description: | - Filter items by date_created. - schema: - type: string - format: date-time - FilterIncludePriceRecordParam: - name: include - in: query - description: | - Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. - schema: - type: string - enum: - - bulk_pricing_tiers - - sku - FilterCurrencyParam: - name: currency - in: query - description: | - Filter items by currency. - schema: - type: string - format: ISO-4217 - PageParam: - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - LimitParam: - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - PriceListIdParam: - name: price_list_id - in: path - description: | - The ID of the `Price List` requested. - required: true - schema: - type: integer - PriceRecordCurrencyParam: - name: currency_code - in: path - description: | - The currency code associated with the price record being acted upon. - required: true - schema: - type: string - format: ISO-4217 - FilterVariantIdParam: - name: 'variant_id:in' - in: query - description: The ID of the `Variant` whose prices were requested. - schema: - type: integer - Accept: - name: Accept - in: header - schema: - type: string - default: application/json - Content-Type: - name: Content-Type - in: header - schema: - type: string - default: application/json - FilterAssignmentIdParam: - name: id - in: query - description: The ID of the `Price List Assignment`. - schema: - type: integer - FilterPriceListIdParam: - name: price_list_id - in: query - description: The ID of the `Price List`. - schema: - type: integer - FilterCustomerGroupIdParam: - name: customer_group_id - in: query - description: The ID of the `Customer Group`. - schema: - type: integer - FilterChannelIdParam: - name: channel_id - in: query - description: The ID of the `Channel`. - schema: - type: integer securitySchemes: X-Auth-Token: type: apiKey + name: X-Auth-Token + in: header description: |- ### OAuth Scopes | **UI Name** | **Permission** | **Parameter** | @@ -4320,25 +4298,25 @@ components: | Products | modify | `store_v2_products` | | Products | read-only | `store_v2_products_read_only` | - ### Headers + ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + |Header|Parameter|Description| + |-|-|-| + |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example + ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ```http + GET /stores/{store_hash}/v3/catalog/summary + host: api.bigcommerce.com + Content-Type: application/json + X-Auth-Token: {access_token} + ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token - in: header + * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + name: X-Auth-Token + in: header x-stoplight: - docs: - includeDownloadLink: true - showModels: false + docs: + includeDownloadLink: true + showModels: false From 41fdd83f5965f97668fdcdf837192ac8320ce096 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 29 Sep 2022 11:42:55 -0500 Subject: [PATCH 033/360] DEVDOCS-4209: [maintenance] product video (#996) * fixed description * inline code block --- reference/catalog.v3.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 0b1c0d535..ed4e38738 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -903,7 +903,8 @@ paths: - 250 characters product name length. **Usage Notes** - * `POST` requests to `/products` accepts a single `video` object; to send an array of video objects, see: `/products/{product_id}/videos`. + * `POST` requests to `/products` accept a `video` array. + * `POST` requests to `/products/{product_id}/videos` accept a `video` object. operationId: createProduct parameters: - name: store_hash From 6786c9b251a7be29dad507af909725511171abce Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 29 Sep 2022 11:50:10 -0500 Subject: [PATCH 034/360] DEVDOCS-4449: [maintenance] Add Date Fields to Customs Information API (#993) * DEVDOCS-4449: [maintenance] Add Date Fields to Customs Information API (#985) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> * small copyedit * copyedit Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> * copyedit Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Paya Alaee <54223816+payaalaee@users.noreply.github.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/shipping.v3.yml | 105 ++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 62 deletions(-) diff --git a/reference/shipping.v3.yml b/reference/shipping.v3.yml index 4d229ead6..dd53a07fc 100644 --- a/reference/shipping.v3.yml +++ b/reference/shipping.v3.yml @@ -125,7 +125,7 @@ paths: schema: type: array items: - $ref: '#/components/schemas/customsInformation' + $ref: '#/components/schemas/customsInformation_request' examples: {} x-examples: Example: @@ -313,77 +313,46 @@ components: * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). schemas: - shippingMethod_Full: - title: shippingMethod_Full - allOf: - - type: object - properties: - id: - description: Shipping-method ID. READ-ONLY - example: 1 - type: integer - - $ref: '#/components/schemas/shippingMethod_Base' - x-internal: false - shippingMethod_Base: - title: shippingMethod_Base + customsInformation_request: + title: customsInformationRequest + description: Data about the customs information object. type: object + x-internal: false properties: - name: - description: Display name for shipping method. - example: Flat Rate + product_id: + description: The product ID to which the customs information data applies. + type: integer + format: int32 + example: 77 + country_of_origin: type: string - type: - title: Shipping Method Type - example: perorder + description: 'The country of manufacture, production, or growth represented in ISO 3166-1 alpha-2 format.' + example: US + commodity_description: + description: Description that provides information for customs to identify and verify the shapes, physical characteristics, and packaging of each shipment. type: string + minLength: 0 + maxLength: 100 + example: Baseball caps + international_shipping: + description: Flag to determine whether this product will be shipped internationally + type: boolean enum: - - perorder - - peritem - - weight - - total - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - upsready - settings: - description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' - type: object - properties: - rate: - type: number - description: 'Flat rate per order. ' - example: 7 - enabled: - description: Whether or not this shipping-zone method is enabled. + - true + - false example: true - type: boolean - handling_fees: - type: object - oneOf: - - properties: - fixed_surcharge: - type: number - description: Flat-rate handling fee applied to shipping cost - example: 0 - - properties: - percentage_surcharge: - type: number - description: Percentage handling fee applied to shipping cost - example: 0 - is_fallback: - description: Whether or not this shipping zone is the fallback if all others are not valid for the order. - example: false - type: boolean - x-internal: false + hs_codes: + $ref: '#/components/schemas/harmonizedSystemCodes' + required: + - product_id + - country_of_origin + - commodity_description + - international_shipping + - hs_codes customsInformation: title: customsInformation description: Data about the customs information object. type: object - minProperties: 5 - maxProperties: 5 x-internal: false properties: product_id: @@ -410,6 +379,18 @@ components: example: true hs_codes: $ref: '#/components/schemas/harmonizedSystemCodes' + createdAt: + type: string + description: Date and time when the customs information was created. + readOnly: true + format: date-time + example: 2022-09-21T14:15:00+00:00 + updatedAt: + type: string + description: Date and time when the customs information was last updated. + readOnly: true + format: date-time + example: 2022-09-21T14:15:00+00:00 harmonizedSystemCodes: title: harmonizedSystemCodes description: |- From ef13dc7e31f4c0d52fd3ec260b4a0093cd042d74 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 4 Oct 2022 05:32:59 -0500 Subject: [PATCH 035/360] DEVDOCS-4506: [maint] Email template models, "Approved" to "Return Requested" (#994) --- models/email_templates/_all.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/email_templates/_all.yml b/models/email_templates/_all.yml index 39cc1f557..8fb29e2a1 100644 --- a/models/email_templates/_all.yml +++ b/models/email_templates/_all.yml @@ -66,8 +66,8 @@ properties: allOf: - $ref: ./product_review_email.yml type: object - Return Approved Email Template Objects: - description: Return approved email triggers after a customer's return is approved. + Return Requested Email Template Objects: + description: Return requested email triggers after a customer's return is approved. allOf: - $ref: ./return_confirmation_email.yml type: object From 9d43e6747dce16baf5966e688a01fea31a977c7d Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Tue, 4 Oct 2022 22:37:25 +0300 Subject: [PATCH 036/360] DEVDOCS-4445: [maint] Email templates add brand item (#995) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- models/email_templates/combined_order_status_email.yml | 2 ++ models/email_templates/invoice_email.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/models/email_templates/combined_order_status_email.yml b/models/email_templates/combined_order_status_email.yml index da68a07db..5b91422b8 100644 --- a/models/email_templates/combined_order_status_email.yml +++ b/models/email_templates/combined_order_status_email.yml @@ -69,6 +69,8 @@ properties: type: integer thumbnail: type: string + brand: + type: string tracking: type: array items: diff --git a/models/email_templates/invoice_email.yml b/models/email_templates/invoice_email.yml index 20debb284..775be637f 100644 --- a/models/email_templates/invoice_email.yml +++ b/models/email_templates/invoice_email.yml @@ -80,6 +80,8 @@ properties: type: string thumbnail: type: string + brand: + type: string event: type: object properties: From fe2b749b7f9c4a8482a641a33f1bea4c4bc7c8fb Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Fri, 7 Oct 2022 20:50:47 +0300 Subject: [PATCH 037/360] DEVDOCS-4431: [maintenance] Fix endpoint, clean up file; Abandoned Cart emails (#980) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> --- reference/abandoned_cart_emails.v3.yaml | 40 +++++++------------------ 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/reference/abandoned_cart_emails.v3.yaml b/reference/abandoned_cart_emails.v3.yaml index ec091fcba..e1630b529 100644 --- a/reference/abandoned_cart_emails.v3.yaml +++ b/reference/abandoned_cart_emails.v3.yaml @@ -8,23 +8,21 @@ info: name: BigCommerce url: 'https://www.bigcommerce.com' email: support@bigcommerce.com - schemes: - - https -consumes: - - application/json -produces: - - application/json servers: - url: 'https://api.bigcommerce.com' description: BigCommerce API Gateway +tags: + - name: Abandoned Cart Emails + - name: Template settings paths: - '/stores/{store_hash}/v3/settings/marketing/abandoned-cart-emails': + '/stores/{store_hash}/v3/marketing/abandoned-cart-emails': get: - description: An array of abandoned cart emails on the store. + description: An array of abandoned cart emails pertaining to a store. parameters: - $ref: '#/components/parameters/ChannelIdOptional' responses: '200': + description: OK content: application/json: schema: @@ -51,8 +49,6 @@ paths: keys: hello_phrase: 'Welcome back,' meta: {} - produces: - - application/json tags: - Abandoned Cart Emails summary: Get all email templates @@ -60,8 +56,6 @@ paths: post: summary: Create email template operationId: createEmailTemplate - produces: - - application/json tags: - Abandoned Cart Emails responses: @@ -82,7 +76,7 @@ paths: application/json: schema: $ref: '#/components/schemas/SaveError' - description: Create Abandoned Cart Email template. + description: Create an Abandoned Cart Email template. requestBody: content: application/json: @@ -125,8 +119,6 @@ paths: $ref: '#/components/schemas/AbandondedCartEmail' meta: type: object - produces: - - application/json tags: - Abandoned Cart Emails operationId: getAbandonedCartEmailTemplateId @@ -134,8 +126,6 @@ paths: summary: Update an email template description: Update an email template. operationId: updateAbandonedCartEmailsId - produces: - - application/json tags: - Abandoned Cart Emails responses: @@ -162,7 +152,7 @@ paths: schema: $ref: '#/components/schemas/AbandondedCartEmailPayload' examples: - Update Abandoned Cart email template: + Update Abandoned Cart Email template: value: is_active: true coupon_code: FF11-22X4 @@ -193,8 +183,6 @@ paths: responses: '204': description: No Content - produces: - - application/json parameters: - schema: type: integer @@ -202,7 +190,7 @@ paths: name: id in: path required: true - description: Abandoned Cart email template ID + description: ID of the Abandoned Cart Email template. - schema: type: string name: store_hash @@ -214,8 +202,6 @@ paths: description: Return default Abandoned Cart Email template. tags: - Abandoned Cart Emails - produces: - - application/json operationId: GetDefaultAbandonedCartEmailTemplate responses: '200': @@ -283,8 +269,6 @@ paths: $ref: '#/components/schemas/AbandonedCartSettings' operationId: GetAbandonedCartEmailTemplateSettings description: Read Abandoned Cart Email Template settings. - produces: - - application/json parameters: - $ref: '#/components/parameters/ChannelIdRequired' put: @@ -305,8 +289,6 @@ paths: schema: $ref: '#/components/schemas/AbandonedCartSettings' description: Update Abandoned Cart Email template settings. - produces: - - application/json parameters: - $ref: '#/components/parameters/ChannelIdOptional' parameters: @@ -359,7 +341,7 @@ components: properties: use_global: type: boolean - description: Indicates inheritance state + description: Boolean value that specifies the inheritance state. required: - use_global x-internal: false @@ -406,7 +388,7 @@ components: description: 'Locale code for this language, such as ''en'', ''en-us'', ''fr-ca''.' keys: type: string - description: Language keys for the template. User-defined. Should match any lang keys used in the template. + description: Language keys for the template. User-defined. Should match any language keys used in the template. additionalProperties: type: string required: From b6b075c45983495db13df33d4669a065feab9828 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Tue, 11 Oct 2022 22:00:36 +0300 Subject: [PATCH 038/360] DEVDOCS-4530: [edit] Abandoned Carts, move deprecated schema (#1000) * DEVDOCS-4530-moving-deprecated-schema * Modified models/email_templates/_all.yml (#994) * DEVDOCS-4445-add-brand-item (#995) * DEVDOCS-4445-add-brand-item * Added brand to invoice_email.yml Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- .../email_templates/abandoned_cart_email.yml | 251 ++++++++++++------ 1 file changed, 167 insertions(+), 84 deletions(-) diff --git a/models/email_templates/abandoned_cart_email.yml b/models/email_templates/abandoned_cart_email.yml index a335b9b4d..1218cb2c3 100644 --- a/models/email_templates/abandoned_cart_email.yml +++ b/models/email_templates/abandoned_cart_email.yml @@ -1,87 +1,4 @@ oneOf: - - deprecated: true - properties: - abandoned_cart: - type: object - deprecated: true - properties: - body: - type: string - unsubscribe_link: - type: string - store: - type: object - deprecated: true - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - deprecated: true - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - deprecated: true - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - deprecated: true - properties: - year: - type: integer - translations: - type: object - deprecated: true - properties: - en: - type: object - properties: - unsubscribe: - type: string - properties: notification: type: array @@ -318,4 +235,170 @@ oneOf: properties: year: type: integer -type: object + - deprecated: true + properties: + abandoned_cart: + type: object + title: deprecated + deprecated: true + properties: + body: + type: string + unsubscribe_link: + type: string + store: + type: object + deprecated: true + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + deprecated: true + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + deprecated: true + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + deprecated: true + properties: + year: + type: integer + translations: + type: object + deprecated: true + properties: + en: + type: object + properties: + unsubscribe: + type: string +examples: + - notification: + - unsubscribe_link: string + checkout_link: string + coupon: + - code: string + type: + - value: string + formatted: string + amount: + - value: 0 + formatted: string + cart: + - products: + - '0': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + '1': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + store: + - name: string + domain_name: string + logo: + - title: string + name: string + url: string + ssl_path: string + cdn_path: string + image_directory: string + img_path: string + path_normal: string + path: string + address: string + phone_number: string + language: + - code: string + direction: string + customer: + - first_name: string + full_name: string + email: string + group: + - id: 0 + name: string + misc: + - year: 0 +description: '' +type: object \ No newline at end of file From 5b3e7afe5584ebf4ebafc7a0ff5154192e75f06a Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Wed, 12 Oct 2022 11:15:50 -0500 Subject: [PATCH 039/360] DEVDOCS-4495: [update] Orders V2, add wrapping_id to orderCatalogProductPost (#1003) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Matthew Evangelidis <matthew.evangelidis@bigcommerce.com.au> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> --- reference/orders.v2.oas2.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 0bbc7efa7..119e6e9e6 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -4632,14 +4632,20 @@ components: variant_id: type: integer description: '""' + wrapping_id: + type: integer + description: 'ID of the gift wrapping that will be used for this product. If provided, then `wrapping_cost_ex_tax` and `wrapping_cost_inc_tax` are required. When updating an order product line item, if `wrapping_id` is set to `0` and no other wrapping fields are provided,then the wrapping will be removed from the order product.' wrapping_name: type: string + description: 'If the `wrapping_id` is provided, this field will populate with the name of the gift wrapping that is to be used.' wrapping_message: type: string wrapping_cost_ex_tax: type: number + description: 'When provided, this value should be equal to `wrapping_cost_ex_tax` times quantity to accurately reflect wrapping cost per unit.' wrapping_cost_inc_tax: type: number + description: 'When provided, this value should be equal to `wrapping_cost_inc_tax` times quantity to accurately reflect wrapping cost per unit.' x-internal: false orderCustomProduct_Post: title: orderCustomProduct_Post @@ -4714,8 +4720,8 @@ components: type: array items: anyOf: - - $ref: '#/components/schemas/orderCustomProduct_Post' - $ref: '#/components/schemas/orderCatalogProduct_Post' + - $ref: '#/components/schemas/orderCustomProduct_Post' shipping_addresses: type: array items: From 62e2991197dffd9039b930e89cfdd8c23f6df16a Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Thu, 13 Oct 2022 05:08:32 +0300 Subject: [PATCH 040/360] DEVDOCS-4489: [update] Catalog, indicate that product name + SKU are unique (#991) Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> --- reference/catalog.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index ed4e38738..844d075dc 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -23692,7 +23692,7 @@ components: minLength: 1 type: string description: | - The product name. + A unique product name. example: Smith Journal 13 x-required: - post @@ -23711,7 +23711,7 @@ components: minLength: 0 type: string description: | - User defined product code/stock keeping unit (SKU). + A unique user-defined product code/stock keeping unit (SKU). example: SM-13 description: type: string From 82d1848eefa71f3f0e3d65e86bd95ef37f589d79 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 14 Oct 2022 13:55:04 -0500 Subject: [PATCH 041/360] DEVDOCS-4508: [maint] Correct date-time examples, Tax Classes (#1015) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> --- reference/tax_classes.v2.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/reference/tax_classes.v2.yml b/reference/tax_classes.v2.yml index 45148c510..0ba3d9065 100644 --- a/reference/tax_classes.v2.yml +++ b/reference/tax_classes.v2.yml @@ -69,26 +69,26 @@ paths: example: - id: '1' name: Non-Taxable Products - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 - id: '2' name: Shipping - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 - id: '3' name: Gift Wrapping - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 Response Schema: example: - id: proident irure consequat anim name: sed non commodo et tempor - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 - id: consequat voluptate name: sunt ex - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 x-unitTests: [] x-operation-settings: CollectParameters: false @@ -134,14 +134,14 @@ paths: example: id: '1' name: Shipping - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 Response Schema: example: id: ut pariatur eiusmod non name: dolore nulla Duis Ut ea - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 x-unitTests: [] x-operation-settings: CollectParameters: false @@ -167,17 +167,17 @@ components: type: string description: Date and time of the tax class' creation. Read-Only. format: date-time - example: 2018-05-07T20:14:17Z + example: 2018-05-07T20:14:17+00:00 updated_at: type: string description: Date and time when the tax class was last updated. Read-Only. format: date-time - example: 2018-05-07T20:14:17Z + example: 2018-05-07T20:14:17+00:00 example: id: '1' name: Shipping - created_at: 1973-01-20T21:34:57.903Z - updated_at: 1990-12-30T00:29:23.515Z + created_at: 1973-01-20T21:34:57.903+00:00 + updated_at: 1990-12-30T00:29:23.515+00:00 x-internal: false securitySchemes: X-Auth-Token: From d86986598c9d95e6fdf7ecddb454782b6afb8e37 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 18 Oct 2022 12:01:51 -0500 Subject: [PATCH 042/360] DEVDOCS-4511: [remove] Orders v2, remove form_fields from Create an Order (#1004) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> --- reference/orders.v2.oas2.yml | 226 +++++++++++++++++------------------ 1 file changed, 110 insertions(+), 116 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 119e6e9e6..b4b32c93a 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -561,7 +561,7 @@ paths: | 9 | Awaiting Shipment | Order has been pulled and packaged, and is awaiting collection from a shipping provider. | | 10 | Completed | Client has paid for their digital product and their file(s) are available for download. | | 11 | Awaiting Fulfillment | Customer has completed the checkout process and payment has been confirmed. | - | 12 | Manual Verification Required | Order on hold while some aspect needs to be manually confirmed. | + | 12 | Manual Verification Required | Order is on hold while some aspect needs to be manually confirmed. | | 13 | Disputed | Customer has initiated a dispute resolution process for the PayPal transaction that paid for the order. | | 14 | Partially Refunded | Seller has partially refunded the order. | summary: Get All Order Statuses @@ -600,7 +600,7 @@ paths: | 9 | Awaiting Shipment | Order has been pulled and packaged, and is awaiting collection from a shipping provider. | | 10 | Completed | Client has paid for their digital product and their file(s) are available for download. | | 11 | Awaiting Fulfillment | Customer has completed the checkout process and payment has been confirmed. | - | 12 | Manual Verification Required | Order on hold while some aspect needs to be manually confirmed. | + | 12 | Manual Verification Required | Order is on hold while some aspect needs to be manually confirmed. | | 13 | Disputed | Customer has initiated a dispute resolution process for the PayPal transaction that paid for the order. | | 14 | Partially Refunded | Seller has partially refunded the order. | summary: Get a Single Order Status by Id @@ -1056,7 +1056,7 @@ paths: description: |- Update a shipping address associated with an order. - **Note**: Updating will NOT trigger the recalculation of shipping cost and tax + **Note**: Updating a shipping address will NOT trigger the recalculation of shipping cost and tax tags: - Order Shipping Addresses '/stores/{store_hash}/v2/orders/{order_id}/shipping_addresses/{shipping_address_id}/shipping_quotes': @@ -1068,7 +1068,7 @@ paths: description: |- Gets all shipping quotes persisted on an order. - This is a read only endpoint and the output can vary based on the shipping quote. A shipping quote can only be generated using the storefront at this time. Orders that are created in the control panel or using the API return a 204 for this endpoint since a shipping quote is not generated during that process. + This is a read-only endpoint and the output can vary based on the shipping quote. A shipping quote can only be generated using the storefront at this time. Orders that are created in the control panel or using the API return a 204 for this endpoint since a shipping quote is not generated during that process. parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -1128,14 +1128,14 @@ components: min_total: name: min_total in: query - description: The minimum order total in float format. eg. 12.50 + description: The minimum order total in floating point format. eg. 12.50 schema: type: number format: float max_total: name: max_total in: query - description: The maximum order total in float format. eg. 12.50 + description: The maximum order total in floating point format. eg. 12.50 schema: type: number customer_id: @@ -1409,7 +1409,7 @@ components: name: Manual Verification Required system_label: Manual Verification Required custom_label: Manual Verification Required - system_description: Order on hold while some aspect needs to be manually confirmed. + system_description: Order is on hold while some aspect needs to be manually confirmed. order: 13 - id: 13 name: Disputed @@ -1538,7 +1538,7 @@ components: store_default_to_transactional_exchange_rate: '1.0000000000' custom_status: Awaiting Fulfillment customer_locale: en - external_order_id: 'external-order-id' + external_order_id: external-order-id ordersCount_Resp: description: Order Countr response collection. content: @@ -1644,7 +1644,7 @@ components: name: Manual Verification Required system_label: Manual Verification Required custom_label: Manual Verification Required - system_description: Order on hold while some aspect needs to be manually confirmed. + system_description: Order is on hold while some aspect needs to be manually confirmed. count: 0 sort_order: 13 - id: 14 @@ -1755,7 +1755,7 @@ components: store_default_to_transactional_exchange_rate: '1.0000000000' custom_status: Awaiting Payment customer_locale: en - external_order_id: 'external-order-id' + external_order_id: external-order-id Multiple Items: id: 247 customer_id: 11 @@ -1847,7 +1847,7 @@ components: store_default_to_transactional_exchange_rate: 1 custom_status: Awaiting Fulfillment customer_locale: en - external_order_id: 'external-order-id' + external_order_id: external-order-id orderCouponsCollection_Resp: description: '' content: @@ -2739,11 +2739,11 @@ components: external_id: null external_merchant_id: null custom_status: Awaiting Payment - external_order_id: 'external-order-id' + external_order_id: external-order-id type: object properties: id: - description: 'The ID of the order, a read-only value. Do not pass in PUT or POST.' + description: 'The ID of the order, a read-only value. Do not pass in PUT or POST request.' example: 118 type: integer customer_id: @@ -2752,27 +2752,27 @@ components: type: number date_created: type: string - description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`' + description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST request) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`' date_modified: type: string - description: A read-only value representing the last modification of the order. Do not attempt to modify or set this value in a POST or PUT operation. RFC-2822 + description: A read-only value representing the last modification of the order. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 date_shipped: type: string - description: A read-only value representing the date of shipment. Do not attempt to modify or set this value in a POST or PUT operation. RFC-2822 + description: A read-only value representing the date of shipment. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 status_id: description: The status ID of the order. example: 11 type: integer cart_id: - description: 'The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request.' + description: 'The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a read-only field; do not set or modify its value in a POST or PUT request.' example: a8458391-ef68-4fe5-9ec1-442e6a767364 type: string status: - description: 'The status will include one of the (string, optional) - values defined under Order Statuses. This value is read-only. Do not attempt to modify or set this value in a POST or PUT operation.' + description: 'The status will include one of the (string, optional) - values defined under Order Statuses. This is a read-only value. Do not attempt to modify or set this value in a POST or PUT request.' example: Awaiting Fulfillment type: string custom_status: - description: 'Contains the same (string, optional) - value as the Order Statuses object’s `custom_label` property.' + description: 'Contains the same (string, optional) - value as the `custom_label` property of the Order Statuses object.' example: Awaiting Fulfillment type: string subtotal_ex_tax: @@ -2784,7 +2784,7 @@ components: example: '225.0000' type: string subtotal_tax: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string base_shipping_cost: @@ -2800,11 +2800,11 @@ components: example: '0.0000' type: string shipping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string shipping_cost_tax_class_id: - description: 'Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: 'Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' example: 2 type: integer base_handling_cost: @@ -2821,11 +2821,11 @@ components: - number - string handling_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string handling_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' example: 2 type: integer base_wrapping_cost: @@ -2843,11 +2843,11 @@ components: example: '0.0000' type: string wrapping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string wrapping_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' example: 3 type: integer total_ex_tax: @@ -2859,7 +2859,7 @@ components: example: '225.0000' type: string total_tax: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string items_total: @@ -2880,7 +2880,7 @@ components: type: string nullable: true payment_status: - description: A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. + description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. type: string refunded_amount: description: 'The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) ' @@ -2891,11 +2891,11 @@ components: example: false type: boolean store_credit_amount: - description: 'Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT. (Float, Float-As-String, Integer)' + description: 'Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string gift_certificate_amount: - description: 'A read-only value. Do not pass in a POST or PUT. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string ip_address: @@ -2911,23 +2911,23 @@ components: example: US type: string currency_id: - description: The display currency ID. May be different from transactional currency. A read-only value. Do not pass in a POST or PUT. + description: The display currency ID. May be different from transactional currency. A read-only value. Do not pass in a POST or PUT request. example: 1 type: integer currency_code: - description: The currency code of the display currency used to present prices on the storefront. May be different from transactional currency. A read-only value. Do not pass in a POST or PUT. + description: The currency code of the display currency used to present prices on the storefront. May be different from transactional currency. A read-only value. Do not pass in a POST or PUT request. example: USD type: string currency_exchange_rate: - description: 'A read-only value. Do not pass in a POST or PUT. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' example: '1.0000000000' type: string default_currency_id: - description: The transactional currency ID. A read-only value. Do not pass in a POST or PUT. + description: The transactional currency ID. A read-only value. Do not pass in a POST or PUT request. example: 1 type: integer default_currency_code: - description: The currency code of the transactional currency the shopper pays in. A read-only value. Do not pass in a POST or PUT. + description: The currency code of the transactional currency the shopper pays in. A read-only value. Do not pass in a POST or PUT request. type: string example: USD staff_notes: @@ -2944,18 +2944,18 @@ components: example: '0.0000' type: string coupon_discount: - description: 'A read-only value. Do not pass in a POST or PUT. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' example: '5.0000' type: string shipping_address_count: type: number - description: The number of shipping addresses associated with this transaction. A read-only value. Do not pass in a POST or PUT. + description: The number of shipping addresses associated with this transaction. A read-only value. Do not pass in a POST or PUT request. is_deleted: - description: 'Indicates whether the order was deleted (archived). Set to to true, to archive an order.' + description: Boolean value that indicates whether the order was deleted (archived). Set to to true, to archive an order.' example: false type: boolean is_email_opt_in: - description: Indicates whether the shopper has selected an opt-in check box (on the checkout page) to receive emails. A read-only value. Do not pass in a POST or PUT. + description: Boolean value that indicates whether the shopper has selected an opt-in check box (on the checkout page) to receive emails. A read-only value. Do not pass in a POST or PUT request. example: false type: boolean credit_card_type: @@ -3037,7 +3037,7 @@ components: readOnly: true readOnly: true order_source: - description: Orders submitted from the store’s website will include a `www` value. Orders submitted with the API will be set to `external`. A read-only value. Do not pass in a POST or PUT. + description: Orders submitted from the store’s website will include a `www` value. Orders submitted with the API will be set to `external`. A read-only value. Do not pass in a POST or PUT request. example: www type: string external_source: @@ -3057,7 +3057,7 @@ components: coupons: $ref: '#/components/schemas/coupons_Resource' external_id: - description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set.' + description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a POST request, but using a PUT request to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set.' example: 'null' type: string nullable: true @@ -3088,7 +3088,7 @@ components: description: The customer’s locale. external_order_id: type: string - example: 'external-order-id' + example: external-order-id description: The external id of the order. requestBodies: null securitySchemes: @@ -3191,7 +3191,7 @@ components: discount: description: |- The amount off the order the discount is worth. For example, if an order subtotal is $90 and the discount is $3 then it will return as 3.000. If the discount is - 3% then will return as 2.7000 or the amount of the order. (Float, Float-As-String, Integer) + 3% then will return as 2.7000 or the amount of the order. (Float, Float-As-String, Integer) example: 2.7 type: number x-internal: false @@ -3419,7 +3419,7 @@ components: gift_certificate_id: type: integer example: 52 - description: ID of the associated gift certificate. + description: ID of the associated gift certificate. nullable: true orderCount: title: orderCount @@ -3549,7 +3549,7 @@ components: example: 0 type: number priority_amount: - description: 'The amount of tax calculated on the order. (Float, Float-As-String, Integer)' + description: 'The amount of tax calculated on the order. (Float, Float-As-String, Integer)' example: '1.5200' type: string line_amount: @@ -3649,18 +3649,6 @@ components: type: number example: 2 x-internal: false - billingAddress_Full: - allOf: - - $ref: '#/components/schemas/billingAddress_Base' - - type: object - properties: - form_fields: - type: array - items: - $ref: '#/components/schemas/formFields' - title: billingAddress_Full - description: Required to create an order. - x-internal: false products_Resource: title: products_Resource type: object @@ -3683,7 +3671,7 @@ components: readOnly: true properties: url: - description: URL of the shipping address for api requests. + description: URL of the shipping address for API requests. readOnly: true example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/shippingaddresses' type: string @@ -3699,7 +3687,7 @@ components: readOnly: true properties: url: - description: URL of the coupons for api requests. + description: URL of the coupons for API requests. readOnly: true example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/coupons' type: string @@ -3819,15 +3807,15 @@ components: title: formFields type: object readOnly: true - description: Read-Only. If you have required address form fields they will need to be set as optional before creating an order with the API. + description: Read-Only. properties: name: - description: Read-Only. If you have required address form fields they will need to be set as optional before creating an order with the API. + description: Read-Only. readOnly: true type: string - example: License Id + example: License ID value: - description: Read-Only. If you have required address form fields they will need to be set as optional before creating an order with the API. + description: Read-Only. readOnly: true type: string example: 123BAF @@ -3891,7 +3879,7 @@ components: example: '24' uuid: type: string - description: uuid of the shipping quote. + description: UUID of the shipping quote. example: a72acc8d-504b-4a40-8534-7c54d997ed59 timestamp: type: string @@ -4024,7 +4012,7 @@ components: type: object properties: id: - description: The id of the type of order status. + description: The ID of the type of order status. example: 0 type: integer name: @@ -4075,11 +4063,11 @@ components: example: '0.0000' type: string base_wrapping_cost: - description: 'The value of the base wrapping cost expressed as a floating point number to four decimal places in string format.' + description: The value of the base wrapping cost expressed as a floating point number to four decimal places in string format. example: '0.0000' type: string billing_address: - $ref: '#/components/schemas/billingAddress_Full' + $ref: '#/components/schemas/billingAddress_Base' channel_id: description: Shows where the order originated. The channel_id will default to 1. example: 1 @@ -4091,7 +4079,7 @@ components: example: Thank you type: string date_created: - description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`' + description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`.' type: string default_currency_code: description: The currency code of the transactional currency the shopper pays in; writeable when multi-currency is enabled. @@ -4105,13 +4093,13 @@ components: example: '0' type: string external_id: - description: 'The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a /POST request, but a /PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: 'The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' example: null oneOf: - type: string - type: null external_merchant_id: - description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a /POST request, but a /PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' example: null oneOf: - type: string @@ -4234,7 +4222,7 @@ components: description: The customer’s locale. external_order_id: type: string - example: 'external-order-id' + example: external-order-id description: The external id of the order. total_ex_tax: description: 'Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer)' @@ -4278,7 +4266,7 @@ components: zip: type: string example: '12345' - description: The billing address must include the zip code. The zip code must be two or more characters. + description: The billing address must include the ZIP code. The ZIP code must be two or more characters. country: type: string example: United States @@ -4353,12 +4341,12 @@ components: example: 118 date_modified: type: string - description: A read-only value representing the last modification of the order. Do not attempt to modify or set this value in a POST or PUT operation. RFC-2822 + description: A read-only value representing the last modification of the order. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 date_shipped: type: string - description: A read-only value representing the date of shipment. Do not attempt to modify or set this value in a POST or PUT operation. RFC-2822 + description: A read-only value representing the date of shipment. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 cart_id: - description: 'The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request.' + description: 'The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a read-only field; do not set or modify its value in a POST or PUT request.' example: a8458391-ef68-4fe5-9ec1-442e6a767364 type: string status: @@ -4366,36 +4354,36 @@ components: description: 'The status will include one of the (string, options) - values defined under Order Statuses. This value is read-only. Do not attempt to modify or set this value in a POST or PUT operation.' example: Awaiting Fulfillment subtotal_tax: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string shipping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string shipping_cost_tax_class_id: - description: 'Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: 'Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' example: 2 type: integer handling_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string handling_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' example: 2 type: integer wrapping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT operation. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string wrapping_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' example: 3 type: integer payment_status: type: string - description: A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. + description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. enum: - authorized - captured @@ -4409,27 +4397,27 @@ components: - void - void pending store_credit_amount: - description: 'Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT. (Float, Float-As-String, Integer)' + description: 'Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string gift_certificate_amount: - description: 'A read-only value. Do not pass in a POST or PUT. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' type: string currency_id: - description: 'The display currency ID. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT. In v2 display currency is set to the transactional currency, ''default_currency_id''.' + description: 'The display currency ID. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT request. In v2 display currency is set to the transactional currency, ''default_currency_id''.' example: 1 type: integer currency_code: - description: 'The currency code of the display currency used to present prices to the shopper on the storefront. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT.' + description: 'The currency code of the display currency used to present prices to the shopper on the storefront. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT request.' example: USD type: string currency_exchange_rate: - description: 'The exchange rate between the store’s default currency and the display currency. A read-only value. Do not pass in a POST or PUT. For orders created using the V2 endpoints, this value is always 1 (only in the storefront this value can be different to 1). (Float, Float-As-String, Integer)' + description: 'The exchange rate between the store’s default currency and the display currency. A read-only value. Do not pass in a POST or PUT request. For orders created using the V2 endpoints, this value is always 1 (only in the storefront this value can be different to 1). (Float, Float-As-String, Integer)' example: '1.0000000000' type: string default_currency_id: - description: The transactional currency ID. A read-only value. Do not pass in a POST or PUT. + description: The transactional currency ID. A read-only value. Do not pass in a POST or PUT request. example: 1 type: integer default_currency_code: @@ -4445,7 +4433,7 @@ components: example: '100.0000000000' type: string coupon_discount: - description: 'A read-only value. Do not pass in a POST or PUT. (Float, Float-As-String, Integer)' + description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' example: '5.0000' type: string shipping_address_count: @@ -4469,24 +4457,30 @@ components: type: integer example: 7 description: The staus ID of the order. - x-internal: false + billing_address: + type: object + properties: + form_fields: + type: array + items: + $ref: '#/components/schemas/formFields' orderCustomProduct_Put: type: object title: orderCustomProduct_Put description: | - **Usage notes:** + **Usage notes:** - To `add` a custom product to an existing order, don't include `id` in the payload. You must provide a nonempty value for at least one of these fields: `name`, `name_customer`, or `name_merchant`. - To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. You cannot change omitted fields. + To `add` a custom product to an existing order, don't include `id` in the payload. You must provide a non-empty value for at least one of these fields: `name`, `name_customer`, or `name_merchant`. + To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. You cannot change omitted fields. - Note the following constraints and default field values: - - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. - - `name` and `name_customer` always hold the same value; updating either `name` or `name_customer` will change the value for both of those fields. - - If both fields `name` and `name_customer` are present, they must have the same value. - - When updating an existing order product, if you omit both fields `name` and `name_customer` from the request, they will not be updated. - - When updating an existing order product, if you omit `name_merchant` from the request, it will not be updated. - - When adding a product, if you omit `name_merchant`, it will be set to the value of `name` (or `name_customer`). - - When adding a new product to an existing order, if you omit both fields `name` and `name_customer`, they will be set to the value of `name_merchant`. + Note the following constraints and default field values: + - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. + - `name` and `name_customer` always hold the same value; updating either `name` or `name_customer` will change the value for both of those fields. + - If both fields `name` and `name_customer` are present, they must have the same value. + - When updating an existing order product, if you omit both fields `name` and `name_customer` from the request, they will not be updated. + - When updating an existing order product, if you omit `name_merchant` from the request, it will not be updated. + - When adding a product, if you omit `name_merchant`, it will be set to the value of `name` (or `name_customer`). + - When adding a new product to an existing order, if you omit both fields `name` and `name_customer`, they will be set to the value of `name_merchant`. properties: name: type: string @@ -4523,19 +4517,19 @@ components: orderCatalogProduct_Put: title: orderCatalogProduct_Put description: | - **Usage notes** + **Usage notes** - To `add` a product to an existing order, don't include `id` in the payload. When adding a product with variants, `product_options` are required. - To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. The fields that you omit will not be changed. - - Note the following constraints and default field values: - - `xxx` and `xxx_customer` always hold the same value. Updating either `xxx` or `xxx_customer` will change the value of both fields. - - If both fields `xxx` and `xxx_customer` are present, they must have same value. - - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. - - When updating an existing order product without changing the variant, product, or product options, requests that do not contain `xxx_merchant` will fail. - - When updating an existing order product, requests that do not contain both fields `xxx` and `xxx_customer` will fail. - - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer, and `xxx_merchant`. If `xxx_merchant` is omitted, it will default to have the catalog value. - - If both fields `xxx` and `xxx_customer` are omitted from the request, they will default to the catalog value. + To `add` a product to an existing order, don't include `id` in the payload. When adding a product with variants, `product_options` are required. + To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. The fields that you omit will not be changed. + + Note the following constraints and default field values: + - `xxx` and `xxx_customer` always hold the same value. Updating either `xxx` or `xxx_customer` will change the value of both fields. + - If both fields `xxx` and `xxx_customer` are present, they must have same value. + - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. + - When updating an existing order product without changing the variant, product, or product options, requests that do not contain `xxx_merchant` will fail. + - When updating an existing order product, requests that do not contain both fields `xxx` and `xxx_customer` will fail. + - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer, and `xxx_merchant`. If `xxx_merchant` is omitted, it will default to have the catalog value. + - If both fields `xxx` and `xxx_customer` are omitted from the request, they will default to the catalog value. allOf: - type: object properties: @@ -4619,7 +4613,7 @@ components: display_value_customer: type: string example: bleu - description: 'The product option value that is shown to customer in storefront.`xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' + description: 'The product option value that is shown to a customer in storefront.`xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' minLength: 1 quantity: type: number @@ -4653,7 +4647,7 @@ components: description: |- **Usage notes** - Provide one of these fields with a nonempty value: + Provide one of these fields with a non-empty value: - `name` - `name_customer` - `name_merchant` From 7b3dda0678371466ba9a60b6b884d4f06978b8d3 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 19 Oct 2022 15:59:17 -0500 Subject: [PATCH 043/360] DEVDOCS-4521: [maint] Price Lists v3, Upsert body example cleanup (#1005) Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> --- reference/price_lists.v3.yml | 92 +++++++++++++++++++++++++----------- 1 file changed, 65 insertions(+), 27 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 4d65b4012..549bb6605 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1511,11 +1511,9 @@ paths: type: array items: title: PriceRecord Batch Item - type: object description: Price Record object used in batch create or update. allOf: - - type: object - properties: + - properties: variant_id: type: integer description: | @@ -1533,7 +1531,7 @@ paths: format: ISO-4217 example: usd - title: PriceRecord Base - type: object + description: Common Price Record properties. properties: price: type: number @@ -1548,16 +1546,22 @@ paths: description: | The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. format: double + minimum: 0 + example: 3.49 retail_price: type: number description: | The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. format: double + minimum: 0 + example: 4.99 map_price: type: number description: | The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double + minimum: 0 + example: 2.50 bulk_pricing_tiers: type: array items: @@ -1594,26 +1598,60 @@ paths: description: | The SKU code associated with this `Price Record` if requested and it exists. example: SMB-123 - description: Common Price Record properties. + type: object required: true + description: '' responses: '200': description: Success response for batch PUT requests of Price Records. content: application/json: schema: - type: object - properties: - data: - type: object - properties: {} - meta: - type: object - properties: {} + type: array + items: + type: object + properties: + variant_id: + type: integer + sku: + type: string + currency: + type: string + price: + type: number + sale_price: + type: integer + retail_price: + type: integer + map_price: + type: integer + bulk_pricing_tiers: + type: array + items: + type: object + properties: + quantity_min: + type: integer + quantity_max: + type: integer + type: + type: string + amount: + type: integer x-examples: example-1: - data: {} - meta: {} + - variant_id: 331 + sku: SMB-123 + currency: usd + price: 3.99 + sale_price: 3.49 + retail_price: 4.99 + map_price: 2.50 + bulk_pricing_tiers: + - quantity_min: 1 + quantity_max: 10 + type: fixed + amount: 3 examples: {} '422': description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. @@ -2412,14 +2450,14 @@ paths: currency: eur product_id: 185 bulk_pricing_tiers: - - quantity_min: 5 - quantity_max: 10 - type: percent - amount: 1 - - quantity_min: 11 - quantity_max: 20 - type: percent - amount: 2 + - quantity_min: 5 + quantity_max: 10 + type: percent + amount: 1 + - quantity_min: 11 + quantity_max: 20 + type: percent + amount: 2 meta: {} '404': description: | @@ -2499,7 +2537,7 @@ paths: tags: - Price Lists Records summary: Delete a Price Record by Currency Code - description: 'Deletes a *Price List Record* using the currency code.' + description: Deletes a *Price List Record* using the currency code. operationId: deletePriceListRecord parameters: - name: price_list_id @@ -4317,6 +4355,6 @@ components: name: X-Auth-Token in: header x-stoplight: - docs: - includeDownloadLink: true - showModels: false + docs: + includeDownloadLink: true + showModels: false From fcbf63f19a5631455fa5aaa2adf8b4df72b1e349 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 19 Oct 2022 16:27:29 -0500 Subject: [PATCH 044/360] DEVDOCS-4445: [add] Orders v2, Add Brand to Orders Object (#992) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> --- reference/orders.v2.oas2.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index b4b32c93a..f1edd1387 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -1941,6 +1941,7 @@ components: bin_picking_number: '' external_id: null fulfillment_source: '' + brand: BigCommerce applied_discounts: - id: manual-discount amount: '1.5900' @@ -2049,6 +2050,7 @@ components: bin_picking_number: BIN external_id: null fulfillment_source: '' + brand: BigCommerce applied_discounts: [] product_options: [] configurable_fields: [] @@ -2108,6 +2110,7 @@ components: bin_picking_number: '' external_id: null fulfillment_source: '' + brand: BigCommerce applied_discounts: [] product_options: - id: 89 @@ -2177,6 +2180,7 @@ components: bin_picking_number: '' external_id: null fulfillment_source: '' + brand: BigCommerce applied_discounts: [] product_options: [] configurable_fields: [] @@ -2232,6 +2236,7 @@ components: bin_picking_number: '' external_id: {} fulfillment_source: '' + brand: BigCommerce applied_discounts: [] product_options: - id: 143 From 829bfa8325815e949932c95f700c8308a0cf580e Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Wed, 19 Oct 2022 17:22:06 -0500 Subject: [PATCH 045/360] DEVDOCS-4544: [review] Webhooks, add more error code responses (#1008) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Tom Knight-Markiegi <tom-knight@users.noreply.github.com> --- reference/webhooks.v3.yml | 509 +++++++++++++++++++++++--------------- 1 file changed, 306 insertions(+), 203 deletions(-) diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index 58731857a..313cb6732 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -1,8 +1,13 @@ -openapi: 3.0.0 +openapi: '3.0.3' info: title: Webhooks v3 version: '' description: 'Get notified when specific events occur on a BigCommerce store. For more information, see [Webhooks Overview](/api-docs/store-management/webhooks/overview).' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + email: support@bigcommerce.com + name: BigCommerce + url: 'https://www.bigcommerce.com' paths: '/stores/{store_hash}/v3/hooks': post: @@ -95,17 +100,18 @@ paths: - $ref: '#/components/parameters/FilterByScope' - $ref: '#/components/parameters/FilterByDestination' parameters: - - schema: - type: string - name: store_hash - in: path - required: true - description: Hash of your BigCommerce store + - $ref: '#/components/parameters/StoreHash' '/stores/{store_hash}/v3/hooks/{webhook_id}': get: responses: '200': $ref: '#/components/responses/webhook_Resp' + '400': + $ref: '#/components/responses/400_BadRequest' + '401': + $ref: '#/components/responses/401_Unauthorized' + '404': + $ref: '#/components/responses/404_NotFound' description: Return a webhook by ID. operationId: getWebhook summary: Get a Webhook @@ -116,12 +122,7 @@ paths: - $ref: '#/components/parameters/Content-Type' parameters: - $ref: '#/components/parameters/WebhookId' - - schema: - type: string - name: store_hash - in: path - required: true - description: Hash of your BigCommerce store + - $ref: '#/components/parameters/StoreHash' put: responses: '200': @@ -165,18 +166,8 @@ paths: summary: Get Admin Info description: 'List all notification emails, webhooks, and denylisted domains associated with the API account.' parameters: - - name: is_active - in: query - description: Enables user to filter for webhooks that are active or not. - schema: - type: boolean - example: true - - schema: - type: string - name: store_hash - in: path - required: true - description: Hash of your BigCommerce store + - $ref: '#/components/parameters/IsActive' + - $ref: '#/components/parameters/StoreHash' responses: '200': description: Successful operation. @@ -207,11 +198,11 @@ paths: client_id: type: string minLength: 1 - description: 'Client ID, unique to the store' + description: 'Client ID, unique to the store or app.' store_hash: minLength: 1 type: string - description: Store permanent ID + description: Permanent ID of the BigCommerce store. scope: type: string minLength: 1 @@ -277,7 +268,6 @@ paths: summary: Upsert Email Notifications description: | Update email addresses that are sent notification emails when any domain associated with the API account is denylisted or when a webhook is deactivated. Supports `upsert` functionality in the case that no email address exists yet. - requestBody: description: List of notification emails. content: @@ -309,12 +299,7 @@ paths: tags: - Webhooks Admin parameters: - - schema: - type: string - name: store_hash - in: path - required: true - description: Hash of your BigCommerce store + - $ref: '#/components/parameters/StoreHash' '/stores/{store_hash}/v3/hooks/events': get: tags: @@ -350,12 +335,7 @@ paths: description: | Get a list of events that were sent but not successfully received. Events are stored for not less than one week. parameters: - - schema: - type: string - name: store_hash - in: path - required: true - description: Hash of your BigCommerce store + - $ref: '#/components/parameters/StoreHash' tags: - name: Webhooks - name: Webhooks Admin @@ -366,6 +346,14 @@ servers: - url: 'https://api.bigcommerce.com' components: parameters: + StoreHash: + name: store_hash + in: path + required: true + description: Permanent ID of the BigCommerce store. + schema: + type: string + example: lkjsdflo WebhookId: name: webhook_id in: path @@ -382,6 +370,7 @@ components: Enables user to filter for webhooks that are active or not. schema: type: boolean + example: true FilterByScope: name: scope in: query @@ -525,8 +514,7 @@ components: errors: {} 400_BadRequest: description: |- - Malformed request syntax. Typically need to fix the JSON - Body to resend successfully. + Malformed request syntax. Typically need to fix the JSON request body to resend successfully. content: application/json: schema: @@ -562,7 +550,7 @@ components: title: Unauthorized Access. You do not have permission to make this request. type: /api-docs/getting-started/api-status-codes 404_NotFound: - description: 'If the requested account resource is not found for the franchise, return a 404 Not Found.' + description: 'If the requested webhook is not found, return a 404 Not Found.' content: application/json: schema: @@ -571,7 +559,7 @@ components: response: value: status: 404 - title: 'Account with {id} not found' + title: 'Webhook with id [{webhook_id}] not found' type: /api-docs/getting-started/api-status-codes 422_UnprocessableEntity: description: This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values for the fields listed in the errors object. @@ -689,15 +677,25 @@ components: * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). schemas: store_cart_wildcard: - description: "Subscribes to the following events:\n- `store/cart/created`\n- `store/cart/updated`\n- `store/cart/deleted`\n- `store/cart/couponApplied`\n- `store/cart/abandoned`\n- `store/cart/converted`\n- `store/cart/lineItem`\n\t\t\t\nSee individual events for more information.\n" + description: |- + Subscribes to the following events: + * `store/cart/created` + * `store/cart/updated` + * `store/cart/deleted` + * `store/cart/couponApplied` + * `store/cart/abandoned` + * `store/cart/converted` + * `store/cart/lineItem` + + See individual events for more information. title: store/cart/* x-examples: {} x-internal: false store_cart_created: description: |- This webhook fires on new cart creation when any of the following occur: - - a storefront shopper adding their first product to a cart during a new session - - a successful `POST` request to `/carts` using either the [storefront](/api-reference/storefront/carts/cart/createacart) or [server-to-server](/api-reference/store-management/carts/cart/createacart) API + * a storefront shopper adds their first product to a cart during a new session + * thereʼs a successful `POST` request to `/carts` using either the [Storefront](/api-reference/storefront/carts/cart/createacart) API or the [Store Management](/api-reference/store-management/carts/cart/createacart) API Cart creation also fires the `store/cart/updated` webhook. @@ -743,15 +741,15 @@ components: store_cart_updated: title: store/cart/updated description: |- - This webhook fires when the following occur: - - Modifying a cartʼs line items by adding a new item to a cart, updating an existing itemʼs quantity, or deleting an item. - - Entering or changing their email address during guest checkout. This includes logging into a customer account after creating a guest cart, which associates the accountʼs email address with the cart. + This webhook fires when one of the following occurs: + * A cartʼs line items are modified by adding a new item to a cart, updating an existing itemʼs quantity, or deleting an item. + * A shopper enters or changes their email address during guest checkout. This includes signing in to a customer account after creating a guest cart, which associates the accountʼs email address with the cart. The `store/cart/created` webhook firing also triggers this webhook because adding a product to an empty cart is considered an update. - Fields that trigger this webhook event: - - Quantity - - Item Price + Changes to the following fields trigger this event: + * Quantity + * Item Price ```json title="Example callback object" lineNumbers { @@ -950,7 +948,7 @@ components: properties: type: type: string - description: Will always be `cart` + description: The type will always be `cart`. default: cart id: type: string @@ -958,7 +956,7 @@ components: example: 09346904-4175-44fd-be53-f7e598531b6c orderId: type: integer - description: ID of the order created + description: ID of the order created. example: 252 x-tags: - created @@ -994,13 +992,13 @@ components: properties: type: type: string - description: can be `cart` or `cart_line_item` + description: Can be `cart` or `cart_line_item`. id: type: string - description: ID of the cart + description: ID of the cart. cartId: type: string - description: ID of the cart + description: ID of the cart. x-tags: - created type: object @@ -1055,9 +1053,9 @@ components: description: |- This webhook fires when an item’s quantity has changed or the product options change. - Fields that trigger event: - - Quantity - - Item Price + Changes to the following fields trigger this event: + * Quantity + * Item Price ```json title="Example callback object" lineNumbers { @@ -1130,15 +1128,15 @@ components: properties: type: type: string - description: can be `cart` or `cart_line_item` + description: Can be `cart` or `cart_line_item`. example: cart id: type: string - description: ID of the line item + description: ID of the line item. example: 09346904-4175-44fd-be53-f7e598531b6c cartId: type: string - description: ID of the cart + description: ID of the cart. example: b0386708-fef3-45de-9d8b-fbe3031450a4 type: object x-tags: @@ -1183,7 +1181,24 @@ components: store_category_updated: title: store/category/updated description: |- - This webhook fires when a category is updated. <br><br>Changes to the following fields trigger this event:<ul><li>Url</li><li>Name</li><li>Redirect old URLs</li><li>Description</li><li>Parent Category</li><li>Template Layout File</li><li>Sort Order</li><li>Default Product Sort</li><li>Category Image</li><li>Page Title</li><li>Meta Keywords</li><li>Meta Description</li><li>Search Keywords</li><li>Google Product Category</li><li>Enable Google Shopping</li></ul> + This webhook fires when a category is updated. + + Changes to the following fields trigger this event: + * URL + * Name + * Redirect Old URLs + * Description + * Parent Category + * Template Layout File + * Sort Order + * Default Product Sort + * Category Image + * Page Title + * Meta Keywords + * Meta Description + * Search Keywords + * Google Product Category + * Enable Google Shopping ```json title="Example callback object" lineNumbers @@ -1210,7 +1225,7 @@ components: properties: type: type: string - description: will always be `category` + description: The type will always be `category`. default: category id: type: integer @@ -1249,7 +1264,7 @@ components: properties: type: type: string - description: will always be `category` + description: The type will always be `category`. default: category example: category id: @@ -1270,7 +1285,7 @@ components: store_channel_created: title: store/channel/created description: |- - This webhook fires when a channel is created via control panel or API. + This webhook fires when a channel is created in the control panel or by API. ```json title="Example callback object" lineNumbers { @@ -1297,7 +1312,7 @@ components: properties: type: type: string - description: will always be `channel` + description: The type will always be `channel`. default: channel example: channel readOnly: true @@ -1312,9 +1327,15 @@ components: store_channel_updated: title: store/channel/updated description: |- - This webhook fires when a channel is updated via control panel or API. + This webhook is triggered when a channel is updated in the control panel or by API. - Changes to the following fields trigger this event:<ul><li>name</li><li>external_id</li><li>status</li><li>is_listable_from_ui</li><li>is_visible</li><li>config_meta</li></ul> + Changes to the following fields trigger this event: + * name + * external_id + * status + * is_listable_from_ui + * is_visible + * config_meta ```json title="Example callback object" lineNumbers @@ -1342,7 +1363,7 @@ components: properties: type: type: string - description: will always be `channel` + description: The type will always be `channel`. default: channel example: channel readOnly: true @@ -1393,7 +1414,7 @@ components: properties: type: type: string - description: will always be `customer` + description: The type will always be `customer`. default: customer example: customer readOnly: true @@ -1408,7 +1429,7 @@ components: store_customer_updated: title: store/customer/updated description: |- - This webhook fires when a customer is updated. In addition, this webhook fires when a shopper initially enters custom form field values within the account sign-up form. Please note that neither changing existing data in customer form fields nor changing a customerʼs address will trigger the webhook. + This webhook is triggered when a customer is updated. In addition, this webhook is triggered when a shopper initially enters custom form field values within the account sign-up form. Please note that neither changing existing data in customer form fields nor changing a customerʼs address will trigger the webhook. ```json title="Example callback object" lineNumbers @@ -1436,7 +1457,7 @@ components: properties: type: type: string - description: will always be `customer` + description: The type will always be `customer`. default: customer example: customer readOnly: true @@ -1451,7 +1472,7 @@ components: store_customer_deleted: title: store/customer/deleted description: |- - This webhook fires when a customer is deleted. + This webhook is triggered when a customer is deleted. ```json title="Example callback object" lineNumbers { @@ -1477,13 +1498,13 @@ components: properties: type: type: string - description: will always be `customer` + description: The type will always be `customer`. default: customer example: customer readOnly: true id: type: integer - description: ID of the customer + description: ID of the customer. example: 32 x-tags: - created @@ -1522,18 +1543,18 @@ components: properties: type: type: string - description: will always be `customer` + description: The type will always be `customer`. example: customer id: type: integer - description: ID of the customer address + description: ID of the customer address. example: 60 address: type: object properties: customer_id: type: integer - description: ID of the customer + description: ID of the customer. example: 32 x-tags: - created @@ -1572,18 +1593,18 @@ components: properties: type: type: string - description: will always be `customer` + description: The type will always be `customer`. example: customer id: type: integer - description: ID of the customer address + description: ID of the customer address. example: 60 address: type: object properties: customer_id: type: integer - description: ID of the customer + description: ID of the customer. example: 32 x-tags: - created @@ -1622,18 +1643,18 @@ components: properties: type: type: string - description: will always be `customer` + description: The type will always be `customer`. example: customer id: type: integer - description: ID of the customer address + description: ID of the customer address. example: 60 address: type: object properties: customer_id: type: integer - description: ID of the customer + description: ID of the customer. example: 32 x-tags: - created @@ -1674,7 +1695,7 @@ components: readOnly: true id: type: integer - description: ID of the customer + description: ID of the customer. example: 32 x-tags: - created @@ -1682,13 +1703,13 @@ components: x-internal: false store_order_wildcard: title: store/order/* - description: Subscribe to all store/order events + description: Subscribe to all store/order events. type: object x-internal: false store_order_created: title: store/order/created description: |- - This webhook fires if an order is created using the control panel, an app or via the API. + This webhook is triggered when an order is created in the control panel, using an app, or by API. ```json title="Example callback object" lineNumbers { @@ -1715,12 +1736,12 @@ components: properties: type: type: string - description: will always be `order` + description: The type will always be `order`. default: order example: order id: type: integer - description: ID of the order + description: ID of the order. example: 250 x-tags: - created @@ -1729,9 +1750,27 @@ components: store_order_updated: title: store/order/updated description: |- - This webhook fires when an already created order is updated. - - Fields that trigger event: <ul><li>Status</li><li>Coupon Code</li><li>Billing and Shipping Address</li><li>Product Type</li><li>Search Keywords</li><li>Related Products</li><li>Warranty Information</li><li>Page Title</li><li>Meta Description</li><li>Gift Wrapping options</li><li>Bin Picking Number (BPN)</li><li>Fixed Shipping Price</li><li>Free Shipping</li><li>Open Graph Sharing Type</li><li>Availability Text</li><li>Purchasability</li><li>Release Date</li><li>Remove pre-order status on this date</li></ul> + This webhook fires when a previously-created order is updated. + + Changes to the following fields trigger this event: + * Status + * Coupon Code + * Billing and Shipping Address + * Product Type + * Search Keywords + * Related Products + * Warranty Information + * Page Title + * Meta Description + * Gift Wrapping options + * Bin Picking Number (BPN) + * Fixed Shipping Price + * Free Shipping + * Open Graph Sharing Type + * Availability Text + * Purchasability + * Release Date + * Remove pre-order status on this date ```json title="Example callback object" lineNumbers { @@ -1758,12 +1797,12 @@ components: properties: type: type: string - description: will always be `order` + description: The type will always be `order`. default: order example: order id: type: integer - description: ID of the order + description: ID of the order. example: 250 x-tags: - created @@ -1798,12 +1837,12 @@ components: properties: type: type: string - description: will always be `order` + description: The type will always be `order`. default: order example: order id: type: integer - description: ID of the order + description: ID of the order. example: 250 x-tags: - created @@ -1812,7 +1851,7 @@ components: store_order_statusUpdated: title: store/order/statusUpdated description: |- - This webhook only fires if the order status has changed, such as `Pending` to `Awaiting Payment` + This webhook is triggered when an order status changes; for example, from `Pending` to `Awaiting Payment`. ```json title="Example callback object" lineNumbers { @@ -1843,22 +1882,22 @@ components: properties: type: type: string - description: Will always be `order` + description: The type will always be `order`. example: order id: type: integer - description: ID of the order + description: ID of the order. example: 250 status: type: object properties: previous_status_id: type: integer - description: Previous status ID + description: ID of the previous status. example: 1 new_status_id: type: integer - description: Updated status ID + description: ID of the updated status. example: 11 x-tags: - created @@ -1867,7 +1906,7 @@ components: store_order_message_created: title: store/order/message/created description: |- - This webhook fires when an order message is created by customer or in control panel. + This webhook is triggered when an order message is created by a customer or in the control panel. ```json title="Example callback object" lineNumbers { @@ -1897,18 +1936,18 @@ components: properties: type: type: string - description: will always be `order` + description: The type will always be `order`. example: order id: type: integer - description: ID of the order + description: ID of the order. example: 250 message: type: object properties: order_message_id: type: integer - description: ID of the message on the order + description: ID of the message on the order. example: 3 x-tags: - created @@ -1917,7 +1956,7 @@ components: store_order_refund_created: title: store/order/refund/created description: |- - This webhook fires when a refund has been submitted against an order. + This webhook is triggered when a refund is submitted against an order. ```json title="Example callback object" lineNumbers { @@ -1947,18 +1986,18 @@ components: properties: type: type: string - description: will always be `order` + description: The type will always be `order`. example: order id: type: integer - description: ID of the order + description: ID of the order. example: 250 refund: type: object properties: refund_id: type: integer - description: ID of the refund submitted against the order + description: ID of the refund submitted against the order. example: 3 x-tags: - created @@ -1966,13 +2005,13 @@ components: x-internal: false store_product_wildcard: title: store/product/* - description: Subscribe to all `store/product` events + description: Subscribe to all `store/product` events. type: object x-internal: false store_product_deleted: title: store/product/deleted description: |- - This webhook fires when a product is deleted. + This webhook is triggered when a product is deleted. ```json title="Example callback object" lineNumbers { @@ -1999,12 +2038,12 @@ components: properties: type: type: string - description: Will always be `product` + description: The type ill always be `product`. default: product example: product id: type: integer - description: ID of the product + description: ID of the product. example: 205 x-tags: - created @@ -2040,12 +2079,12 @@ components: properties: type: type: string - description: Will always be `product` + description: The type will always be `product`. default: product example: product id: type: integer - description: ID of the product + description: ID of the product. example: 205 x-tags: - created @@ -2056,9 +2095,57 @@ components: description: |- This webhook fires when product details are edited. - Fields that trigger event<ul><li>Product Type</li><li>Search Keywords</li><li>Related Products</li><li>Warranty Information</li><li>Page Title</li><li>Meta Description</li><li>Gift Wrapping options</li><li>Bin Picking Number (BPN)</li><li>Fixed Shipping Price</li><li>Free Shipping</li><li>Open Graph Sharing Type</li><li>Availability Text</li><li>Purchasability</li><li>Release Date</li><li>Remove pre-order status on this date</li><li>Preorder Message</li><li>Inventory Stock</li><li>Inventory Low Stock</li><li>Track inventory</li><li>Product UPC/EAN</li><li>SKU</li><li>Cost</li><li>Tax Class</li><li>Weight</li><li>Width</li><li>Height</li><li>Depth</li><li>Condition</li><li>Show condition on storefront</li><li>Brand</li><li>Default Price</li><li>Sale Price</li><li>MSRP</li><li>Product Name</li><li>Description</li><li>Visible on Storefront</li><li>Sort Order</li><li>Categories</li><li>Product URL</li><li>Set as a Featured Product on my Storefront</li></ul> - - Fields that do not trigger event<ul><li>Manufacturer Part Number (MPN)</li><li>Global Trade Number (GTN)</li><li>Tax Provider Tax Code</li><li>Product Image</li><li>Product Image Description</li><li>Product Files</li><li>Customs Information</li></ul> + Changes to the following fields trigger this event: + * Product Type + * Search Keywords + * Related Products + * Warranty Information + * Page Title + * Meta Description + * Gift Wrapping options + * Bin Picking Number (BPN) + * Fixed Shipping Price + * Free Shipping + * Open Graph Sharing Type + * Availability Text + * Purchasability + * Release Date + * Remove pre-order status on this date + * Preorder Message + * Inventory Stock + * Inventory Low Stock + * Track inventory + * Product UPC/EAN + * SKU + * Cost + * Tax Class + * Weight + * Width + * Height + * Depth + * Condition + * Show condition on storefront + * Brand + * Default Price + * Sale Price + * MSRP + * Product Name + * Description + * Visible on Storefront + * Sort Order + * Categories + * Product URL + * Set as a Featured Product on my Storefront + + However, changes to the following fields don't trigger this event: + + * Manufacturer Part Number (MPN) + * Global Trade Number (GTN) + * Tax Provider Tax Code + * Product Image + * Product Image Description + * Product Files + * Customs Information ```json title="Example callback object" lineNumbers { @@ -2085,12 +2172,12 @@ components: properties: type: type: string - description: Will always be `product` + description: The type ill always be `product`. default: product example: product id: type: integer - description: ID of the product + description: ID of the product. example: 205 x-tags: - created @@ -2099,7 +2186,14 @@ components: store_product_inventory_updated: title: store/product/inventory/updated description: |- - This webhook fires when product inventory is updated. <br><br>Changes to the following fields trigger this event: <ul><li>Inventory Stock</li></ul>Fields that do not trigger event: <ul><li>Track Inventory</li><li>Inventory Low Stock</li></ul> + This webhook is triggered when product inventory is updated. + + Changes to the following fields trigger this event: + * Inventory Stock + + However, changes to the following fields don't trigger this event: + * Track Inventory + * Inventory Low Stock ```json title="Example callback object" lineNumbers @@ -2132,25 +2226,25 @@ components: properties: type: type: string - description: will always be `product` + description: The type will always be `product`. example: product id: type: integer - description: ID of the product + description: ID of the product. example: 167 inventory: type: object properties: product_id: type: integer - description: ID of the product + description: ID of the product. example: 167 method: type: string description: |- How the inventory was adjusted. Value will be one of the following: - - `absolute` - inventory updated using the API or the control panel - - `relative` - inventory updated by an order + * `absolute` - inventory updated through the API or the control panel. + * `relative` - inventory updated by an order. enum: - absolute - relative @@ -2165,7 +2259,10 @@ components: store_product_inventory_order_updated: title: store/product/inventory/order/updated description: |- - This webhook fires if a product’s inventory increases or decreases. <br><br>Fields that trigger event: <ul><li>Quantity</li></ul> + This webhook is triggered when a product’s inventory increases or decreases. + + Changes to the following fields trigger this event: + * Quantity ```json title="Example callback object" lineNumbers { @@ -2197,25 +2294,25 @@ components: properties: type: type: string - description: will always be `product` + description: Type will always be `product`. example: product id: type: integer - description: ID of the product + description: ID of the product. example: 167 inventory: type: object properties: product_id: type: integer - description: ID of the product + description: ID of the product. example: 167 method: type: string description: |- How the inventory was adjusted. Value will be one of the following: - - `absolute` - inventory updated using the API or the control panel - - `relative` - inventory updated by an order + * `absolute` - inventory updated using the API or the control panel. + * `relative` - inventory updated by an order. enum: - absolute - relative @@ -2263,15 +2360,15 @@ components: properties: type: type: string - description: Will always be `shipment` + description: The type will always be `shipment`. example: shipment id: type: integer - description: ID of the shipment + description: ID of the shipment. example: 12 orderId: type: integer - description: ID of the order + description: ID of the order. example: 251 x-tags: - created @@ -2282,7 +2379,8 @@ components: description: |- This webhook fires when a shipment is updated. - Fields that trigger event:<ul><li>Shipping Tracking Number</li></ul> + Changes to the following fields trigger this event: + * Shipping Tracking Number ```json title="Example callback object" lineNumbers { @@ -2310,15 +2408,15 @@ components: properties: type: type: string - description: Will always be `shipment` + description: The type will always be `shipment`. example: shipment id: type: integer - description: ID of the shipment + description: ID of the shipment. example: 12 orderId: type: integer - description: ID of the order + description: ID of the order. example: 251 x-tags: - created @@ -2327,7 +2425,7 @@ components: store_shipment_deleted: title: store/shipment/deleted description: |- - This webhook fires when a shipment is deleted. + This webhook is triggered when a shipment is deleted. ```json title="Example callback object" lineNumbers { @@ -2355,15 +2453,15 @@ components: properties: type: type: string - description: Will always be `shipment` + description: The type will always be `shipment`. example: shipment id: type: integer - description: ID of the shipment + description: ID of the shipment. example: 12 orderId: type: integer - description: ID of the order + description: ID of the order. example: 251 x-tags: - created @@ -2371,13 +2469,13 @@ components: x-internal: false store_sku_wildcard: title: store/sku/* - description: Subscribe to all `store/sku` events + description: Subscribe to all `store/sku` events. type: object x-internal: false store_sku_created: title: store/sku/created description: |- - This webhook fires when a new SKU is created. + This webhook is triggered when a new SKU is created. ```json title="Example callback object" lineNumbers { @@ -2408,22 +2506,22 @@ components: properties: type: type: string - description: Will always be `"sku"` + description: The type will always be `"sku"`. example: sku id: type: integer - description: ID of the SKU + description: ID of the SKU. example: 461 sku: type: object properties: product_id: type: integer - description: ID of the product + description: ID of the product. example: 206 variant_id: type: integer - description: ID of the variant + description: ID of the variant. example: 509 x-tags: - created @@ -2463,22 +2561,22 @@ components: properties: type: type: string - description: Will always be `"sku"` + description: The type will always be `"sku"`. example: sku id: type: integer - description: ID of the SKU + description: ID of the SKU. example: 461 sku: type: object properties: product_id: type: integer - description: ID of the product + description: ID of the product. example: 206 variant_id: type: integer - description: ID of the variant + description: ID of the variant. example: 509 x-tags: - created @@ -2518,22 +2616,22 @@ components: properties: type: type: string - description: Will always be `"sku"` + description: The type will always be `"sku"`. example: sku id: type: integer - description: ID of the SKU + description: ID of the SKU. example: 461 sku: type: object properties: product_id: type: integer - description: ID of the product + description: ID of the product. example: 206 variant_id: type: integer - description: ID of the variant + description: ID of the variant. example: 509 x-tags: - created @@ -2575,35 +2673,35 @@ components: properties: type: type: string - description: will always be `sku` + description: The type will always be `sku`. example: sku id: type: integer - description: ID of the SKU + description: ID of the SKU. example: 461 inventory: type: object properties: product_id: type: integer - description: ID of the product + description: ID of the product. example: 167 method: type: string description: |- How the inventory was adjusted. Value will be one of the following: - - `absolute` - inventory updated by an order - - `relative` - inventory updated using the API or the control panel + * `absolute` - inventory updated by an order. + * `relative` - inventory updated using the API or the control panel. enum: - absolute - relative value: type: integer - description: 'the number of items that the inventory changed by. This can be negative if the inventory is decreased `-3` or positive if an item is returned to the inventory from an order, `2`' + description: 'The number of items that the inventory changed by. This can be negative if the inventory is decreased `-3` or positive if an item is returned to the inventory from an order, `2`' example: 2 variant_id: type: integer - description: ID of the variant + description: ID of the variant. example: 509 x-tags: - created @@ -2612,7 +2710,10 @@ components: store_sku_inventory_order_updated: title: store/sku/inventory/order/updated description: |- - This webhook fires when the inventory is updated.<br><br>Fields that trigger event:<ul><li>Quantity</li></ul> + This webhook fires when the inventory is updated. + + Changes to the following fields trigger this event: + * Quantity ```json title="Example callback object" lineNumbers { @@ -2645,35 +2746,35 @@ components: properties: type: type: string - description: will always be `sku` + description: The type will always be `sku`. example: sku id: type: integer - description: ID of the SKU + description: ID of the SKU. example: 461 inventory: type: object properties: product_id: type: integer - description: ID of the product + description: ID of the product. example: 167 method: type: string description: |- How the inventory was adjusted. Value will be one of the following: - - `absolute` - inventory updated by an order - - `relative` - inventory updated using the API or the control panel + * `absolute` - inventory updated by an order. + * `relative` - inventory updated using the API or the control panel. enum: - absolute - relative value: type: integer - description: 'the number of items that the inventory changed by. This can be negative if the inventory is decreased `-3` or positive if an item is returned to the inventory from an order, `2`' + description: 'The number of items that the inventory changed by. This can be negative if the inventory is decreased `-3` or positive if an item is returned to the inventory from an order, `2`' example: 2 variant_id: type: integer - description: ID of the variant + description: ID of the variant. example: 509 x-tags: - created @@ -2708,7 +2809,7 @@ components: properties: type: type: string - description: will always be `store` + description: The type will always be `store`. example: store x-tags: - created @@ -2720,8 +2821,12 @@ components: This webhook fires when changes are made to store settings. Changes to the following fields trigger this event: - - <ul><li>Store Name</li><li>Store Address</li><li>Store Country</li><li>Address Type</li><li>Email</li><li>Phone</li></ul> + * Store Name + * Store Address + * Store Country + * Address Type + * Email + * Phone ```json title="Example callback object" lineNumbers { @@ -2828,11 +2933,11 @@ components: properties: type: type: string - description: Will always be `subscriber` + description: The type will always be `subscriber`. example: subscriber id: type: integer - description: ID of the subscriber + description: ID of the subscriber. example: 5 x-tags: - created @@ -2841,7 +2946,7 @@ components: store_subscriber_deleted: title: store/subscriber/deleted description: |- - This webhook fires when a subscriber is deleted. + This webhook is triggered when a subscriber is deleted. ```json title="Example callback object" lineNumbers { @@ -2868,11 +2973,11 @@ components: properties: type: type: string - description: Will always be `subscriber` + description: The type will always be `subscriber`. example: subscriber id: type: integer - description: ID of the subscriber + description: ID of the subscriber. example: 5 x-tags: - created @@ -2891,7 +2996,7 @@ components: The error title describing the particular error. type: string type: - description: Typically a link to BigCommerce API Status codes + description: This value is typically a link to BigCommerce API Status codes. type: string x-internal: false errorDetailed_Full: @@ -2920,7 +3025,7 @@ components: scope: type: string example: store/order/* - description: Event you subscribe to + description: Event you subscribe to. destination: type: string example: 'https://665b65a6.ngrok.io/webhooks' @@ -2928,14 +3033,14 @@ components: is_active: type: boolean example: true - description: If webhook is active or not + description: Boolean value that indicates whether the webhook is active or not. events_history_enabled: type: boolean example: true - description: Identifies whether events are stored that could not be received. + description: Boolean value that identifies whether events are stored that could not be received. headers: type: object - description: 'You can pass in any number of custom headers to validate webhooks being returned. ' + description: 'Headers used to validate that webhooks are active. You can pass in any number of custom headers to validate webhooks are being returned. ' nullable: true properties: custom: @@ -2946,31 +3051,29 @@ components: - headers webhook_Full: allOf: - - type: object + - $ref: '#/components/schemas/webhook_Base' + - title: webhook_Full properties: id: type: integer - description: Id of the webhook + description: ID of the webhook. example: 18048287 client_id: type: string - description: 'Client ID, unique to the store' + description: 'Client ID, unique to the store or app.' example: m9r6keqmo7h7f23btnpwernbez1kglkl store_hash: type: string - description: 'Store permanent ID. ' + description: Permanent ID of the BigCommerce store. example: sftg45fsd created_at: type: integer example: 1561488106 - description: Created time + description: Time when the webhook was created. updated_at: type: integer example: 1561488106 - description: Updated time - - $ref: '#/components/schemas/webhook_Base' - title: webhook_Full - x-internal: false + description: Time when the webhook was updated. HistoryEvent: type: object properties: @@ -2985,11 +3088,11 @@ components: description: A lightweight description of the event that triggered the webhook. Will vary depending on the event registered. hash: type: string - description: The payload data json encoded then passed through SH1 encryption. + description: The payload data encoded in JSON format and then passed through SH1 encryption. created_at: type: integer format: int64 - description: UTC timestamp in seconds that the events was created. + description: UTC timestamp, in seconds, that the events was created. producer: type: string description: Will always follow the pattern stores/store_hash. This is the store that created the webhook. @@ -3041,7 +3144,7 @@ components: created_at: type: integer example: 1561482670 - description: Hook creation date as a Unix timestamp. + description: Hook creation date, in Unix timestamp format. readOnly: true store_id: type: string @@ -3062,7 +3165,7 @@ components: type: string minLength: 1 example: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - description: The payload data JSON encoded then passed through SH1 encryption. + description: The payload data encoded in JSON format and then passed through SH1 encryption. type: object x-internal: false callback_category_data: @@ -3076,10 +3179,10 @@ components: properties: type: type: string - description: will always be `category` + description: This type will always be `category`. default: category id: type: integer - description: ID of the category + description: ID of the category. example: 42 x-internal: false From 56fb1c36568e88ddb1a65a39e1fb31c83078fcc2 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Thu, 20 Oct 2022 20:35:18 +0300 Subject: [PATCH 046/360] DEVDOCS-4491: [net new] Checkouts, Create checkout token (#1012) Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/checkouts.v3.yml | 606 ++++++++++++++----------------------- 1 file changed, 235 insertions(+), 371 deletions(-) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 5981a4ce3..046b88fef 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -1,4 +1,4 @@ -openapi: 3.0.1 +openapi: '3.0.3' info: title: Checkouts description: |- @@ -6,6 +6,11 @@ info: Create and manage checkouts from existing carts using BigCommerce checkout logic. version: '3.0' + termsOfService: 'http://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - url: 'https://api.bigcommerce.com' tags: @@ -16,8 +21,15 @@ tags: - name: Checkout Discounts - name: Checkout Orders - name: Checkout Settings + - name: Checkout Token +security: + - X-Auth-Token: [] paths: '/stores/{store_hash}/v3/checkouts/{checkoutId}': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' get: tags: - Checkout @@ -30,29 +42,6 @@ paths: The cart ID and checkout ID are the same. operationId: CheckoutsByCheckoutIdGet parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: include in: query description: |- @@ -809,7 +798,7 @@ paths: - cartpage text: Some text '404': - description: When a given checkout ID is not found. + description: Error code that is displayed when a given checkout ID is not found. content: application/json: schema: @@ -836,44 +825,20 @@ paths: detail: type: string description: '' - security: - - X-Auth-Token: [] put: tags: - Checkout summary: Update Customer Messages description: |- - Change customer message to an existing *Checkout*. + Change customer message pertaining to an existing *Checkout*. **Limits:** * 2000 characters for customer message operationId: CheckoutsByCheckoutIdPut parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: ID of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/Content-Type' requestBody: - description: '`customer_message` is required (max length is 2000).' + description: '`customer_message` is required (maximum length is 2000).' content: application/json: schema: @@ -1619,8 +1584,6 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false @@ -1644,28 +1607,10 @@ paths: * discounted_amount operationId: post-store_hash-v3-checkouts-checkoutId-discounts parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Type' requestBody: content: application/json: @@ -2429,8 +2374,6 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] x-codegen-request-body-name: body '/stores/{store_hash}/v3/checkouts/{checkoutId}/billing-address': post: @@ -2438,36 +2381,17 @@ paths: - Checkout Billing Address summary: Add Checkout Billing Address description: |- - Adds a billing address to an existing *Checkout*. + Adds a billing address to an existing checkout. **Required Fields** * email * country_code operationId: CheckoutsBillingAddressByCheckoutIdPost parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Type' requestBody: content: application/json: @@ -3214,8 +3138,6 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false @@ -3228,32 +3150,13 @@ paths: tags: - Checkout Billing Address summary: Update Checkout Billing Address - description: Updates an existing billing address on *Checkout*. + description: Updates an existing billing address on a checkout. operationId: CheckoutsBillingAddressByCheckoutIdAndAddressIdPut parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Type' - name: addressId in: path required: true @@ -4005,8 +3908,6 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false @@ -4033,35 +3934,16 @@ paths: * `email` * `country_code` - Depending on the country, the following `address` properties can also be required: + Depending on the country, the following `address` properties may also be required: * `postal_code` * `state_or_province` operationId: CheckoutsConsignmentsByCheckoutIdPost parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Type' - name: include in: query schema: @@ -4814,8 +4696,6 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false @@ -4824,49 +4704,33 @@ paths: IsMultiContentStreaming: false x-codegen-request-body-name: body '/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments/{consignmentId}': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + - name: consignmentId + in: path + required: true + schema: + type: string put: tags: - Checkout Consignments summary: Update Checkout Consignment description: |- - Updates an existing consignment. Address, line item IDs or the shipping option ID can be updated using this endpoint. - - There are two steps to add a new address and shipping options with line items. - 1. Add a new [consignment](/api-reference/store-management/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidpost) to a checkout. - 2. Assign a shipping option to the new consignment by sending a `PUT` request to update the consignment's `shipping_option_id` with a returned value from `data.consignments[N].available_shipping_option[N].id` in step one. + Updates an existing consignment. The address, line item IDs, and the shipping option ID can be updated using this endpoint. + + To add a new address and shipping options with line items, complete the following steps. + + 1. Add a new [consignment](/api-reference/store-management/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidpost) to a checkout. + + 2. Assign a shipping option to the new consignment by sending a `PUT` request to update the consignment's `shipping_option_id` with a returned value from `data.consignments[N].available_shipping_option[N].id` obtained in Step One. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: consignmentId - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Content-Type' - name: include in: query - description: Include to get available shipping options + description: Include to get available shipping options. schema: type: string enum: @@ -5623,8 +5487,6 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] x-codegen-request-body-name: body delete: tags: @@ -5633,37 +5495,8 @@ paths: description: |- Removes an existing consignment from a checkout. - Removing the last consigment will remove the Cart from the customer it is assigned to. Create a new redirect url for the customer to access it again. + Removing the last consignment will remove the cart from the customer it is assigned to. Create a new redirect URL for the customer so they can access the cart again. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdDelete - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: consignmentId - in: path - required: true - schema: - type: string responses: '200': description: '' @@ -6404,46 +6237,25 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] '/stores/{store_hash}/v3/checkouts/{checkoutId}/coupons': post: tags: - Checkout Coupons summary: Add Coupon to Checkout description: |- - Adds a *Coupon Code* to *Checkout*. + Adds a coupon code to a checkout. **Required Fields** * coupon_code **Limits** - * Coupon codes have a 50 character limit. + * Coupon codes have a 50-character limit. operationId: CheckoutsCouponsByCheckoutIdPost parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Type' requestBody: content: application/json: @@ -7190,8 +7002,6 @@ paths: - homepage - cartpage text: Some text - security: - - X-Auth-Token: [] x-unitTests: [] x-operation-settings: CollectParameters: false @@ -7204,35 +7014,15 @@ paths: tags: - Checkout Coupons summary: Delete Checkout Coupon - description: Deletes a *Coupon Code* from *Checkout*. + description: Deletes a coupon code from a checkout. operationId: CheckoutsCouponsByCheckoutIdAndCouponCodeDelete parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: checkoutId - in: path - description: Id of the Checkout - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' - name: couponCode in: path - description: 'The actual couponCode, not the couponId.' + description: 'The actual coupon code value, not the coupon ID.' required: true schema: type: string @@ -7784,8 +7574,6 @@ paths: - cartpage text: Some text meta: {} - security: - - X-Auth-Token: [] '/stores/{store_hash}/v3/checkouts/{checkoutId}/orders': post: tags: @@ -7796,35 +7584,16 @@ paths: ## Usage notes * Orders created will be set to incomplete order status. - * You can create as many orders from the same order(cart) as you want. - * Order duplication creates the same order with a new order number with the incomplete status. - * Once the order is paid, then the cart is deleted. + * You can create as many orders from the same order (cart) as you want. + * Order duplication copies the existing order, assigns a new order number, and sets the new order status to `incomplete`. + * Once the order is paid, the cart is deleted. * Cart deletion occurs if you are using BigCommerce to accept payments on orders. operationId: createAnOrder parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: checkoutId - in: path - description: ID of the checkout (same as the cart ID). - required: true - schema: - type: string + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Type' responses: '200': description: '' @@ -7842,21 +7611,16 @@ paths: data: id: 75 meta: {} - security: - - X-Auth-Token: [] '/stores/{store_hash}/v3/checkouts/settings': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' get: tags: - Checkout Settings summary: Get Checkout Settings description: Get checkout settings operationId: GetCheckoutSettings - parameters: - - name: store_hash - in: path - required: true - schema: - type: string responses: '200': description: '' @@ -7884,8 +7648,6 @@ paths: order_confirmation_use_custom_checkout_script: false custom_order_confirmation_script_url: 'webdav:vtz-order-confirmation/dist/auto-loader.js' meta: {} - security: - - X-Auth-Token: [] put: tags: - Checkout Settings @@ -7893,11 +7655,7 @@ paths: description: Update checkout settings operationId: UpdateCheckoutSettings parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Content-Type' requestBody: content: application/json: @@ -7931,8 +7689,103 @@ paths: order_confirmation_use_custom_checkout_script: false custom_order_confirmation_script_url: 'webdav:vtz-order-confirmation/dist/auto-loader.js' meta: {} - security: - - X-Auth-Token: [] + '/stores/{store_hash}/v3/checkouts/{checkoutId}/token': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' + - $ref: '#/components/parameters/Accept' + post: + tags: + - Checkout Token + summary: Create Checkout Token + operationId: checkout-token + parameters: + - $ref: '#/components/parameters/Content-Type' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + checkoutToken: + type: string + example: beb3590088be88f59ba980d54a68df655cd8a1052a3e9caf535f3f820146c226 + meta: + type: object + examples: + example-1: + value: + data: + checkoutToken: beb3590088be88f59ba980d54a68df655cd8a1052a3e9caf535f3f820146c226 + meta: {} + '401': + description: Unauthorized - the v3 Auth client ID or token in the request are not a valid combination for this store. + content: + application/json: + schema: + type: object + properties: + status: + type: integer + format: int32 + description: The HTTP status code. + example: 401 + title: + type: string + description: The error title describing the particular error. + example: Unauthorized + type: + type: string + description: | + A link to a list of BigCommerce API status codes. + example: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' + errors: + type: object + '422': + description: Invalid JSON request body - missing or invalid data. + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: '422' + description: The HTTP status code. + format: int32 + title: + type: string + example: Invalid input + description: The error title describing the particular error. + type: + type: string + example: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' + description: A link to a list of BigCommerce API status codes. + requestBody: + content: + application/json: + schema: + type: object + properties: + maxUses: + type: number + example: 1 + ttl: + type: number + example: 86400 + description: Time-to-live (TTL) is the number of seconds the token is set to exist before being discarded. + minimum: 1 + maximum: 2592000 + examples: + example-1: + value: + '0': null + '592': null + maxUses: 1 + ttl: 2 + description: Use the checkout token to display a confirmation page for a guest shopper. components: schemas: Checkout: @@ -7951,7 +7804,7 @@ components: properties: id: type: string - description: 'Cart ID, provided after creating a cart with a POST.' + description: 'Cart ID, provided after creating a cart with a POST request.' format: uuid example: 497f6eca-6276-4993-bfeb-53cbbbba6f08 customer_id: @@ -7960,7 +7813,7 @@ components: example: 1 email: type: string - description: The cart's email. This is the same email that is used in the billing address. + description: The email address of the cart. This is the same email address that is used in the billing address. example: user@example.com currency: title: Currency @@ -7972,7 +7825,7 @@ components: example: USD base_amount: type: number - description: 'Sum of cart line-item amounts before cart-level discounts, coupons, or taxes.' + description: 'Sum of cart line-item amounts before cart-level discounts, coupons, or taxes are applied.' format: double example: 5 channel_id: @@ -7985,12 +7838,12 @@ components: example: 0.5 cart_amount_inc_tax: type: number - description: Sum of cart line-item amounts minus cart-level discounts and coupons including tax + description: Sum of cart line-item amounts minus cart-level discounts and coupons including tax. format: double example: 4.14 cart_amount_ex_tax: type: number - description: Sum of cart line-item amounts minus cart-level discounts and coupons excluding tax + description: Sum of cart line-item amounts minus cart-level discounts and coupons excluding tax. format: double example: 3.6 coupons: @@ -8002,7 +7855,7 @@ components: properties: code: type: string - description: the coupon code + description: The coupon code. example: SHOPNOW id: type: integer @@ -8066,7 +7919,7 @@ components: description: '' name: type: string - description: The item's product name. + description: The product name of the item. url: type: string description: The product URL. @@ -8100,22 +7953,22 @@ components: format: double original_price: type: number - description: An item’s original price is the same as the product default price in the admin panel. + description: An item’s original price is the same as the default price of the product configured in the admin panel. list_price: type: number - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + description: 'The net item price before discounts and coupons are applied. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' format: double sale_price: type: number - description: Item's price after all discounts are applied. (The final price before tax calculation.) + description: Price of the item after all discounts are applied. (The final price before tax calculation.) format: double extended_list_price: type: number - description: Item's list price multiplied by the quantity. + description: List price of the item multiplied by the quantity. format: double extended_sale_price: type: number - description: Item's sale price multiplied by the quantity. + description: Sale price of the item multiplied by the quantity. format: double is_require_shipping: type: boolean @@ -8179,7 +8032,7 @@ components: description: '' name: type: string - description: The item's product name. + description: The product name of the item. url: type: string description: The product URL. @@ -8223,19 +8076,19 @@ components: description: An item’s original price is the same as the product default price in the admin panel. list_price: type: number - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + description: 'The net item price before discounts and coupons are applied. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' format: double sale_price: type: number - description: Item's price after all discounts are applied. (The final price before tax calculation.) + description: Price of the item after all discounts are applied. (The final price before tax calculation.) format: double extended_list_price: type: number - description: Item's list price multiplied by the quantity. + description: List price of the item multiplied by the quantity. format: double extended_sale_price: type: number - description: Item's sale price multiplied by the quantity. + description: Sale price of the item multiplied by the quantity. format: double required: - quantity @@ -8375,7 +8228,7 @@ components: description: '' field_value: type: string - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' - properties: id: type: string @@ -8387,7 +8240,7 @@ components: items: title: Consignment type: object - description: 'This allows us to have multiple addresses. Where there is only one address, this array will contain only one value, with all the items.' + description: 'This allows the use of multiple addresses. When there is only one address, this array will contain only one value, with all the items.' properties: id: type: string @@ -8449,7 +8302,7 @@ components: description: '' field_value: type: string - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' required: - email - country_code @@ -8473,7 +8326,7 @@ components: description: '' type: type: string - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' + description: Specifies the type of shipping option, such as flat rate, UPS, etc. image_url: type: string description: '' @@ -8486,7 +8339,8 @@ components: description: An estimate of the arrival time. additional_description: type: string - description: 'ReadOnly, Field used for Shipping Provider API.' + readOnly: true + description: 'Read-only field that is used for the Shipping Provider API.' selected_shipping_option: title: Selected Shipping Option type: object @@ -8499,7 +8353,7 @@ components: description: '' type: type: string - description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' + description: Specifies the type of shipping option, such as flat rate, UPS, etc. image_url: type: string description: '' @@ -8511,31 +8365,32 @@ components: description: An estimate of the arrival time. additional_description: type: string - description: 'ReadOnly, Field used for Shipping Provider API.' + readOnly: true + description: 'Read-only field that is used for the Shipping Provider API.' coupon_discounts: type: array - description: List of consignment discounts applied through coupons + description: List of consignment discounts applied through coupons. items: title: Consignment Coupon Discount type: object properties: code: type: string - description: Coupon code that applied this discount + description: Coupon code through which this discount was applied. amount: type: number description: '' format: double discounts: type: array - description: List of consignment discounts applied through cart level discounts + description: List of consignment discounts applied through cart-level discounts. items: title: Consignment Discount type: object properties: id: type: integer - description: Discount rule ID that applied this discount + description: Discount rule ID that applied this discount. shipping_cost_inc_tax: type: number description: The shipping cost for this consignment including tax. @@ -8602,15 +8457,15 @@ components: format: double subtotal_inc_tax: type: number - description: Subtotal of the checkout before applying item level discounts including tax. + description: Subtotal of the checkout before applying item-level discounts including tax. format: double subtotal_ex_tax: type: number - description: Subtotal of the checkout before applying item level discounts excluding tax. + description: Subtotal of the checkout before applying item-level discounts excluding tax. format: double grand_total: type: number - description: 'The total payable amount, before applying any store credit or gift certificate.' + description: 'The total payable amount, before applying any store credit or a gift certificate.' format: double created_time: type: string @@ -8634,18 +8489,18 @@ components: properties: id: type: string - description: Id of the promotion. + description: ID of the promotion. type: type: string - description: Type of the banner + description: Type of the banner. page: type: array - description: An array of the locations where the banner will display + description: An array of the locations where the banner will display. items: type: string text: type: string - description: Text of the banner + description: Text of the banner. Checkout_Put: title: Checkout_Put required: @@ -8664,7 +8519,7 @@ components: properties: code: type: string - description: the coupon code + description: The coupon code. example: SHOPNOW id: type: integer @@ -8726,7 +8581,7 @@ components: description: '' custom_fields: type: array - description: 'You can retreive custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' + description: 'You can retrieve custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' items: title: Custom Field type: object @@ -8736,7 +8591,7 @@ components: description: '' field_value: type: string - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' x-internal: false CreateConsignmentRequest: title: Create Consignment Request @@ -8787,7 +8642,7 @@ components: description: '' custom_fields: type: array - description: 'You can retreive custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' + description: 'You can retrieve custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' items: title: Custom Field type: object @@ -8797,7 +8652,7 @@ components: description: '' field_value: type: string - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' line_items: type: array description: '' @@ -8876,7 +8731,7 @@ components: description: '' field_value: type: string - description: 'This can also be an array for fields that need to support list of values (e.g., a set of check boxes.)' + description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' line_items: type: array description: '' @@ -8897,7 +8752,7 @@ components: shipping_option_id: type: string description: '' - description: One or more of these three fields are mandatory. `address` and `line_items` can be updated in one request. `shipping_option_id` has to be updated in a separate request since changing the address or line items can invalidate the previously available shipping options. + description: One or more of these three fields are mandatory. `address` and `line_items` can be updated in one request. `shipping_option_id` has to be updated in a separate request because changing the address or line items can invalidate the previously available shipping options. x-internal: false CouponCodeRequest: title: Coupon Code Request @@ -8905,7 +8760,7 @@ components: properties: coupon_code: type: string - description: Coupon codes have a 50 character limit. + description: Coupon codes have a 50-character limit. x-internal: false Order: title: Order @@ -8913,7 +8768,7 @@ components: properties: id: type: integer - description: The order Id. + description: The order ID. example: 75 x-internal: false CheckoutsSettings: @@ -8934,16 +8789,16 @@ components: properties: custom_checkout_script_url: type: string - description: 'Custom checkout script url to replace our default checkout. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' + description: 'Custom checkout script URL to replace our default checkout. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' order_confirmation_use_custom_checkout_script: type: boolean - description: When order_confirmation_use_custom_checkout_script=true we default custom_order_confirmation_script_url to empty string. + description: When order_confirmation_use_custom_checkout_script=true, the default custom_order_confirmation_script_url defaults to an empty string. custom_order_confirmation_script_url: type: string - description: 'Custom order confirmation script url to replace our default order confirmation. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' + description: 'Custom order confirmation script URL to replace the default order confirmation. To reset a store to optimized one-page checkout, pass an empty string for `custom_checkout_script_url` and `custom_order_confirmation_script_url`.' custom_checkout_supports_uco_settings: type: boolean - description: This checkout supports Optimized One-Page Checkout settings. + description: Boolean value that specifies whether this checkout supports Optimized One-Page Checkout settings. description: '' responses: CheckoutResponse: @@ -9728,10 +9583,17 @@ components: id: 75 meta: {} parameters: + storeHash: + name: store_hash + in: path + required: true + description: Permanent ID of the BigCommerce store. + schema: + type: string checkoutId: name: checkoutId in: path - description: Id of the Checkout + description: ID of the checkout; the same as the cart ID. required: true schema: type: string @@ -9750,7 +9612,7 @@ components: couponCode: name: couponCode in: path - description: 'The actual couponCode, not the couponId.' + description: 'The coupon code value, not the coupon ID.' required: true schema: type: string @@ -9758,6 +9620,7 @@ components: 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 @@ -9765,6 +9628,7 @@ components: 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 From 7a48a24706096e1f39f2d87cb1e03f3d2331ecda Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Thu, 20 Oct 2022 20:41:10 +0300 Subject: [PATCH 047/360] DEVDOCS-4471: [fix] Checkouts V3, wrap consignments requests in an array (#982) --- reference/checkouts.v3.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 046b88fef..46be78f41 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -3955,6 +3955,28 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateConsignmentRequest' + example: + example-1: + value: + - address: + first_name: string + last_name: string + email: string + company: string + address1: string + address2: string + city: string + state_or_province: string + state_or_province_code: string + country_code: string + postal_code: string + phone: string + custom_fields: + - field_id: string + field_value: string + line_items: + - item_id: string + quantity: 0 required: true responses: '200': From 30203a134dc616594dd12541ed1225eaaa360563 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Thu, 20 Oct 2022 13:48:53 -0500 Subject: [PATCH 048/360] DEVDOCS-4471: [fix] Checkout Consignments, wrap request bodies in arrays (#1020) --- reference/checkouts.v3.yml | 314 +++++++++++++++++-------------------- 1 file changed, 148 insertions(+), 166 deletions(-) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 46be78f41..5a288f42e 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -3955,28 +3955,6 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateConsignmentRequest' - example: - example-1: - value: - - address: - first_name: string - last_name: string - email: string - company: string - address1: string - address2: string - city: string - state_or_province: string - state_or_province_code: string - country_code: string - postal_code: string - phone: string - custom_fields: - - field_id: string - field_value: string - line_items: - - item_id: string - quantity: 0 required: true responses: '200': @@ -8617,163 +8595,167 @@ components: x-internal: false CreateConsignmentRequest: title: Create Consignment Request - type: object - properties: - address: - title: Address Properties - required: - - country_code - - email - type: object - properties: - first_name: - type: string - description: '' - last_name: - type: string - description: '' - email: - type: string - description: '' - company: - type: string - description: '' - address1: - type: string - description: '' - address2: - type: string - description: '' - city: - type: string - description: '' - state_or_province: - type: string - description: Represents state or province. - state_or_province_code: - type: string - description: '' - country_code: - type: string - description: '' - postal_code: - type: string - description: '' - phone: - type: string - description: '' - custom_fields: - type: array - description: 'You can retrieve custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' - items: - title: Custom Field - type: object - properties: - field_id: - type: string - description: '' - field_value: - type: string - description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' - line_items: - type: array - description: '' - items: - title: Consignment Line Item + type: array + items: + type: object + properties: + address: + title: Address Properties required: - - item_id - - quantity + - country_code + - email type: object properties: - item_id: + first_name: + type: string + description: '' + last_name: + type: string + description: '' + email: + type: string + description: '' + company: + type: string + description: '' + address1: + type: string + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + state_or_province: + type: string + description: Represents state or province. + state_or_province_code: type: string - description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' - quantity: - type: integer description: '' - format: int32 + country_code: + type: string + description: '' + postal_code: + type: string + description: '' + phone: + type: string + description: '' + custom_fields: + type: array + description: 'You can retrieve custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' + items: + title: Custom Field + type: object + properties: + field_id: + type: string + description: '' + field_value: + type: string + description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' + line_items: + type: array + description: '' + items: + title: Consignment Line Item + required: + - item_id + - quantity + type: object + properties: + item_id: + type: string + description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' + quantity: + type: integer + description: '' + format: int32 x-internal: false UpdateConsignmentRequest: title: Update Consignment Request - type: object - properties: - address: - title: Address Properties - required: - - country_code - - email - type: object - properties: - first_name: - type: string - description: '' - last_name: - type: string - description: '' - email: - type: string - description: '' - company: - type: string - description: '' - address1: - type: string - description: '' - address2: - type: string - description: '' - city: - type: string - description: '' - state_or_province: - type: string - description: Represents state or province. - state_or_province_code: - type: string - description: '' - country_code: - type: string - description: '' - postal_code: - type: string - description: '' - phone: - pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' - type: string - description: '' - custom_fields: - type: array - description: '' - items: - title: Custom Field - type: object - properties: - field_id: - type: string - description: '' - field_value: - type: string - description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' - line_items: - type: array - description: '' - items: - title: Consignment Line Item + type: array + items: + type: object + properties: + address: + title: Address Properties required: - - item_id - - quantity + - country_code + - email type: object properties: - item_id: + first_name: type: string - description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' - quantity: - type: integer description: '' - format: int32 - shipping_option_id: - type: string - description: '' + last_name: + type: string + description: '' + email: + type: string + description: '' + company: + type: string + description: '' + address1: + type: string + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + state_or_province: + type: string + description: Represents state or province. + state_or_province_code: + type: string + description: '' + country_code: + type: string + description: '' + postal_code: + type: string + description: '' + phone: + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + type: string + description: '' + custom_fields: + type: array + description: '' + items: + title: Custom Field + type: object + properties: + field_id: + type: string + description: '' + field_value: + type: string + description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' + line_items: + type: array + description: '' + items: + title: Consignment Line Item + required: + - item_id + - quantity + type: object + properties: + item_id: + type: string + description: 'Corresponds to `line_items.physical_items[N].id` value from `GET`checkout response.' + quantity: + type: integer + description: '' + format: int32 + shipping_option_id: + type: string + description: '' description: One or more of these three fields are mandatory. `address` and `line_items` can be updated in one request. `shipping_option_id` has to be updated in a separate request because changing the address or line items can invalidate the previously available shipping options. x-internal: false CouponCodeRequest: From 1bbbc39f1a202f9ba24e3c0717614216bc19caf2 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 21 Oct 2022 14:26:30 -0500 Subject: [PATCH 049/360] DEVDOCS-4449 fixed date fields (#1023) * fixed date fields * Update shipping.v3.yml Making minor updates * Update shipping.v3.yml Fixing some formatting issues Co-authored-by: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> --- reference/shipping.v3.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/reference/shipping.v3.yml b/reference/shipping.v3.yml index dd53a07fc..a48f9f119 100644 --- a/reference/shipping.v3.yml +++ b/reference/shipping.v3.yml @@ -161,7 +161,7 @@ components: format: int32 responses: 502_GatewayError: - description: 'If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail.' + description: If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail. content: application/json: schema: @@ -174,7 +174,7 @@ components: type: /api-docs/getting-started/api-status-codes errors: {} 504_GatewayTimeout: - description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)' + description: If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually) content: application/json: schema: @@ -226,7 +226,7 @@ components: type: /api-docs/getting-started/api-status-codes errors: {} 422_UnprocessableEntity: - description: This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values for the fields listed in the errors object. + description: This error occurs when missing or unacceptable data is passed for one or more fields. Please correct the values for the fields listed in the errors object. content: application/json: schema: @@ -242,7 +242,7 @@ components: description: |- If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually) - Occurs hen the store is down for maintenance, being upgraded to a new version, or is suspended due to administrative action or a billing issue. + Occurs when the store is down for maintenance, being upgraded to a new version, or is suspended due to administrative action or a billing issue. content: application/json: schema: @@ -267,19 +267,19 @@ components: schema: $ref: '#/components/schemas/error_Full' 429_Too_Many_Requests: - description: 'When an OAuth client exceeds the [rate limit](/api-docs/getting-started/best-practices#api-rate-limits) for API requests to a store..' + description: 'When an OAuth client exceeds the [rate limit](/api-docs/getting-started/best-practices#api-rate-limits) for API requests to a store.' content: application/json: schema: $ref: '#/components/schemas/error_Full' 405_Method_Not_Allowed: - description: 'The resource was found, but doesn''t support the request method. Issued when either a specific method isn''t yet implemented on a resource, or the resource doesn''t support the method at all. For example, a `PUT` on `/orders` is invalid, but a PUT on `/orders/{order_id}` is valid.' + description: The resource was found, but doesn't support the request method. Issued when either a specific method isn't yet implemented on a resource, or the resource doesn't support the method at all. For example, a PUT request on `/orders` is invalid, but a PUT request on `/orders/{order_id}` is valid. content: application/json: schema: $ref: '#/components/schemas/error_Full' 500_Internal_Server_Error: - description: 'Expensive API calls or an internal server error in BigCommerce; Re-attempt the request three to five times, with increasing delays of at least a minute between attempts.' + description: Expensive API calls or an internal server error in BigCommerce; Re-attempt the request three to five times, with increasing delays of at least a minute between attempts. content: application/json: schema: @@ -335,7 +335,7 @@ components: maxLength: 100 example: Baseball caps international_shipping: - description: Flag to determine whether this product will be shipped internationally + description: Flag to determine whether this product will be shipped internationally. type: boolean enum: - true @@ -356,7 +356,7 @@ components: x-internal: false properties: product_id: - description: The id of the product which the customs information data will apply to. + description: The ID of the product which the customs information data will apply to. type: integer format: int32 example: 77 @@ -371,7 +371,7 @@ components: maxLength: 100 example: Baseball caps international_shipping: - description: Flag to determine whether this product will be shipped internationally + description: Flag to determine whether this product will be shipped internationally. type: boolean enum: - true @@ -379,13 +379,13 @@ components: example: true hs_codes: $ref: '#/components/schemas/harmonizedSystemCodes' - createdAt: + created_at: type: string description: Date and time when the customs information was created. readOnly: true format: date-time example: 2022-09-21T14:15:00+00:00 - updatedAt: + updated_at: type: string description: Date and time when the customs information was last updated. readOnly: true @@ -394,9 +394,9 @@ components: harmonizedSystemCodes: title: harmonizedSystemCodes description: |- - Key value pair commonly used in the form of **countryISO2:'/^[0-9A-Za-z]{6,14}$/'**. This is to represent a country and the associated hs code that applies to that country. Eg {"US":"508313","AU":"850610"}. + Key value pair commonly used in the form of **countryISO2:'/^[0-9A-Za-z]{6,14}$/'**. This is to represent a country and the associated has code that applies to that country. Eg {"US":"508313","AU":"850610"}. - There is a special value of **'ALL'** which can be used in place of the countryISO2 to represent that the hs code applies to all countries. Eg {"ALL":"634000"}. This can be combined with other countries in the hs codes object. For Eg {"All":"640000", "US":"641000"} + There is a special value of **'ALL'**, which can be used in place of the countryISO2 to represent that the hs code applies to all countries. Eg {"ALL":"634000"}. This can be combined with other countries in the hs codes object, for example {"All":"640000", "US":"641000"}. type: object example: CA: '508313' @@ -405,7 +405,7 @@ components: x-internal: false metaCollection: title: metaCollection - description: Meta data relating to pagination + description: Meta data relating to pagination. type: object properties: pagination: From f21111342ba09795d7cc2a057378f713bd7a1497 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Fri, 21 Oct 2022 15:47:55 -0500 Subject: [PATCH 050/360] DEVDOCS-4449: [fix] Shipping V3, fix hs_code references (#1025) --- reference/shipping.v3.yml | 109 +++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/reference/shipping.v3.yml b/reference/shipping.v3.yml index a48f9f119..a57927450 100644 --- a/reference/shipping.v3.yml +++ b/reference/shipping.v3.yml @@ -1,10 +1,24 @@ -openapi: 3.0.0 +openapi: '3.0.3' info: version: '' title: Shipping V3 description: V3 REST API shipping endpoints. + termsOfService: 'http://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +tags: + - name: Customs Information +security: + - X-Auth-Token: [] +servers: + - url: 'https://api.bigcommerce.com' paths: '/stores/{store_hash}/v3/shipping/products/customs-information': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/store_hash' get: operationId: getCustomsInformation responses: @@ -33,19 +47,11 @@ paths: - Customs Information summary: Get Customs Information parameters: - - in: header - name: Accept - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json - in: query name: 'product_id:in' description: 'A comma-separated list of product IDs. For more information, see [Filtering](/api-docs/getting-started/filtering).' + style: form + explode: false schema: type: array items: @@ -77,16 +83,6 @@ paths: tags: - Customs Information parameters: - - in: header - name: Accept - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json - in: query name: 'product_id:in' required: true @@ -96,6 +92,8 @@ paths: type: integer put: operationId: putCustomsInformation + parameters: + - $ref: '#/components/parameters/ContentType' responses: '200': description: OK @@ -137,28 +135,31 @@ paths: CA: '508313' AU: '817355' ALL: '501000' - parameters: - - name: store_hash - in: path - required: true - schema: - type: string -tags: - - name: Customs Information -security: - - X-Auth-Token: [] -servers: - - url: 'https://api.bigcommerce.com' components: parameters: - product_id: - in: query - name: product_id + store_hash: + name: store_hash + in: path + required: true + description: Permanent ID of the BigCommerce store. schema: - type: array - items: - type: integer - format: int32 + type: string + Accept: + in: header + name: Accept + 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: + in: header + name: Content-Type + 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 responses: 502_GatewayError: description: If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail. @@ -174,7 +175,7 @@ components: type: /api-docs/getting-started/api-status-codes errors: {} 504_GatewayTimeout: - description: If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually) + description: If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; however, if you are unable to successfully make a request, please check the [BigCommerce system status](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up. content: application/json: schema: @@ -240,9 +241,9 @@ components: errors: {} 503_ServiceUnavailable: description: |- - If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually) + If this occurs, you should retry the request. If you are unable to successfully make a request, please check the [BigCommerce system status](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up. - Occurs when the store is down for maintenance, being upgraded to a new version, or is suspended due to administrative action or a billing issue. + Occurs when the store is down for maintenance, is being upgraded to a new version, or is suspended for administrative or billing reasons. content: application/json: schema: @@ -273,13 +274,13 @@ components: schema: $ref: '#/components/schemas/error_Full' 405_Method_Not_Allowed: - description: The resource was found, but doesn't support the request method. Issued when either a specific method isn't yet implemented on a resource, or the resource doesn't support the method at all. For example, a PUT request on `/orders` is invalid, but a PUT request on `/orders/{order_id}` is valid. + description: The resource was found, but doesnʼt support the request method. Issued when either a specific method isnʼt yet implemented on a resource, or the resource doesnʼt support the method at all. For example, a PUT request to `/orders` is invalid, but a PUT request to `/orders/{order_id}` is valid. content: application/json: schema: $ref: '#/components/schemas/error_Full' 500_Internal_Server_Error: - description: Expensive API calls or an internal server error in BigCommerce; Re-attempt the request three to five times, with increasing delays of at least a minute between attempts. + description: Expensive API calls or an internal server error in BigCommerce; re-attempt the request three to five times, with increasing delays of at least a minute between attempts. content: application/json: schema: @@ -291,16 +292,16 @@ components: in: header description: |- ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | + | UI Name | Permission | Parameter | + |:---------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + | Header | Parameter | Description | + |:-------|:----------|:------------| + | `X-Auth-Token` | `access_token `| Obtained by creating an API account or installing an app in a BigCommerce control panel. | ### Example @@ -394,9 +395,9 @@ components: harmonizedSystemCodes: title: harmonizedSystemCodes description: |- - Key value pair commonly used in the form of **countryISO2:'/^[0-9A-Za-z]{6,14}$/'**. This is to represent a country and the associated has code that applies to that country. Eg {"US":"508313","AU":"850610"}. + Key value pair commonly used in the form of **countryISO2:'/^[0-9A-Za-z]{6,14}$/'**. This is to represent a country and the associated `hs_code` that applies to that country. Eg {"US":"508313","AU":"850610"}. - There is a special value of **'ALL'**, which can be used in place of the countryISO2 to represent that the hs code applies to all countries. Eg {"ALL":"634000"}. This can be combined with other countries in the hs codes object, for example {"All":"640000", "US":"641000"}. + There is a special value of **'ALL'**, which can be used in place of the countryISO2 to represent that the `hs_code` applies to all countries. Eg {"ALL":"634000"}. This can be combined with other countries in the `hs_code` object, for example {"All":"640000", "US":"641000"}. type: object example: CA: '508313' From 3aabd59f497584eb82218c181cac2fc08ea4361b Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Mon, 24 Oct 2022 10:57:06 -0500 Subject: [PATCH 051/360] DEVDOCS-3648: [update] Pages V3, add include query parameter (#972) * previously identified typos * remove double spaces, remove enum for a csv list * remove more problematic enums * add nullable to meta_keywords * more nullable string properties. spectral is happy. * has errors, NRFPT. componentize parameters, add include parameter. explore other componentization. errors, responses, examples, etc, a work in progress * fix example ref * progress, see errors for stuff that is WIP * add name:like definition * revise store_hash, include definitions; rename schemas * update API description * update OAS version * add security schemes and headers * remove some erroring sections * preview desired * publish * more preview desired * publish * remove header * experiment with info page display * continue display experiment * overview and security * link to more about store vs app API accounts * move terms of service * shared properties * pages v3 json share * DEVDOCS-3648-added-include-query-parameter * Modified models/email_templates/_all.yml (#994) * DEVDOCS-4445-add-brand-item (#995) * DEVDOCS-4445-add-brand-item * Added brand to invoice_email.yml Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> * DEVDOCS-4506: [maint] Email template models, "Approved" to "Return Requested" (#994) * DEVDOCS-4445: [maint] Email templates add brand item (#995) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> * DEVDOCS-4431: [maintenance] Fix endpoint, clean up file; Abandoned Cart emails (#980) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> * DEVDOCS-4489: [update] Catalog, indicate that product name + SKU are unique (#991) Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> * Update pages.v3.yml Made some minor stylistic updates. * DEVDOCS-4521: [maint] Price Lists v3, Upsert body example cleanup (#1005) Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> * DEVDOCS-4445: [add] Orders v2, Add Brand to Orders Object (#992) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> * DEVDOCS-4544: [review] Webhooks, add more error code responses (#1008) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Tom Knight-Markiegi <tom-knight@users.noreply.github.com> * add contact info, tags, oas string * add new tags, header objects * add store_hash parameter, PageId * move servers object * leftovers * resolve conflicts, work on constructing objects * fix tokenUrl Co-authored-by: sarah.riehl@bigcommerce.com <sarah.riehl@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> Co-authored-by: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> Co-authored-by: Tom Knight-Markiegi <tom-knight@users.noreply.github.com> --- reference/pages.v3.yml | 909 +++++++++++++++++++++++++++-------------- 1 file changed, 595 insertions(+), 314 deletions(-) diff --git a/reference/pages.v3.yml b/reference/pages.v3.yml index 43d176acf..d75d130ae 100644 --- a/reference/pages.v3.yml +++ b/reference/pages.v3.yml @@ -1,11 +1,40 @@ -openapi: 3.0.0 +openapi: '3.0.3' info: title: Pages V3 - version: '3.0' - description: 'Manage content pages, such as contact forms, rss feeds, and custom HTML pages. All endpoints without a `pageId` path parameter support bulk operations.' + version: '' termsOfService: 'http://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + description: |- + ## Overview + + A **page** appears on a **site** that is associated with a **channel**. + + Some pages, such as blog pages, contact forms, and plain-text or HTML pages, are web pages in the traditional sense. They contain markup (a `body`) and load at a relative page location on the site itself (the `url`). Other pages, such as link and feed pages, make external or non-visual content available from the menu of a parent page or by direct link. + + ### Bulk operations + All endpoints without a `pageId` path parameter support bulk operations. + + ### Page types + + The following table describes the types of pages that the Pages API can manage: + + | Page Type | Description | Body | + |:----------|:------------|:-----| + | `page` | A user-defined plain-text page. | text | + | `contact_form` | A user-customizable page that contains a contact form. | HTML | + | `raw` | A user-defined page that contains HTML markup or other stringified code. | HTML, other code | + | `blog` | A page that contains blog posts. Use caution; `blog`-type pages can only be created in the store control panel, but you may be able to change the type of a blog page to something else with this API. Use the [Store Content API](/api-reference/store-management/store-content/blog-posts/createablogposts) to work with blog posts and tags. | empty string | + | `feed` | Makes RSS-syndicated content feeds available in the menu of other pages that contain markup. | — | + | `link` | A link to an external absolute URL. Displays in the menu of other pages that contain markup. | — | +servers: + - url: 'https://api.bigcommerce.com' + description: OAuth API Gateway tags: - - name: Pages + - name: Pages (Bulk) + - name: Pages (Single) security: - X-Auth-Token: [] paths: @@ -13,7 +42,7 @@ paths: get: operationId: content-pages-get tags: - - Pages + - Pages (Bulk) description: Returns one or more content pages. This endpoint supports bulk operations. responses: '200': @@ -22,123 +51,32 @@ paths: application/json: schema: $ref: '#/components/schemas/PagesCollectionResponse' - examples: - example-1: - value: - data: - - id: 1 - channel_id: 1 - name: Content page - meta_title: Content page - email: '' - is_visible: false - parent_id: 0 - sort_order: 0 - type: page - meta_keywords: '' - meta_description: string - is_homepage: false - is_customers_only: false - search_keywords: string - content_type: text/html - url: /my-content-page - - id: 2 - channel_id: 1 - name: Feed page - meta_title: string - email: '' - is_visible: false - parent_id: 0 - sort_order: 3 - feed: 'https://bigcommerce.com/feed/' - type: feed - meta_keywords: '' - meta_description: string - is_homepage: false - is_customers_only: true - search_keywords: string - content_type: text/html - url: /rss-feed-page - - id: 3 - channel_id: 1 - name: Link page - meta_title: '' - email: '' - is_visible: false - parent_id: 0 - sort_order: 0 - link: '1' - type: link - meta_keywords: '' - meta_description: '' - is_homepage: false - is_customers_only: false - search_keywords: '' - content_type: text/html - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' '400': - description: 'Bad Request; reasons for failure include passing query parameters that are not support on this endpoint, but are common on other BigCommerce endpoints.' + description: 'Bad Request; reasons for failure include passing query parameters that are not supported on this endpoint, but are common on other BigCommerce endpoints.' content: application/problem+json: schema: - $ref: '#/components/schemas/DetailedErrorResponse' - '404': - description: Not Found - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: '#/components/schemas/ResponseErrorDetailed' '422': description: Invalid input. Reasons for failure include passing supported parameters with values that have the incorrect datatype. content: application/problem+json: schema: - $ref: '#/components/schemas/ListedErrorResponse' + $ref: '#/components/schemas/ResponseErrorItemized' parameters: - - schema: - type: integer - in: query - name: channel_id - description: Return only pages associated with the specified channel. - - schema: - type: string - in: query - name: 'id:in' - description: 'A comma-separated string of page IDs to fetch. Supports bulk operations. If none of the page IDs passed exist, the query will return an empty `data` array.' - - schema: - type: string - in: query - name: name - description: Name of the page. - - schema: - type: string - in: query - name: 'name:like' - description: One word from the name of the page. Does not search substrings. Does not return pages with names that match exactly. Does not support fuzzy search. - - schema: - type: integer - in: query - name: limit - description: The number of results to return per request. See `meta.pagination.per_page` in the response body. - - schema: - type: integer - in: query - name: page - description: The ordered grouping of results to return. See `meta.pagination.current_page` in the response body. + - $ref: '#/components/parameters/channelIdQuery' + - $ref: '#/components/parameters/idInQueryGet' + - $ref: '#/components/parameters/nameQuery' + - $ref: '#/components/parameters/nameLikeQuery' + - $ref: '#/components/parameters/limitQuery' + - $ref: '#/components/parameters/pageQuery' + - $ref: '#/components/parameters/includeQuery' summary: Get Pages post: operationId: content-pages-post - description: Creates one or more content pages. This endpoint supports bulk operations. tags: - - Pages + - Pages (Bulk) + description: Creates one or more content pages. This endpoint supports bulk operations. requestBody: content: application/json: @@ -164,33 +102,7 @@ paths: required: true responses: '201': - description: |- - Created. - - Response.data will inherit the datatype of the request. A single entry passed as an object will return an object for the data property. Any number of entries passed in an array will return an array for the data property. - - Properties associated with a page `type` that are not required to create an entry will be created with default values. - - When making bulk requests, an invalid input in any one entry will return 422. The entries that are valid will still be created. - content: - application/json: - schema: - type: object - properties: - data: - oneOf: - - type: object - properties: - data: - $ref: '#/components/schemas/Page' - - type: array - items: - type: object - properties: - data: - $ref: '#/components/schemas/PageBase' - meta: - $ref: '#/components/schemas/CollectionMeta' + $ref: '#/components/responses/HTTP201CreatePages' '207': $ref: '#/components/responses/HTTP207Response' '422': @@ -201,13 +113,16 @@ paths: content: application/problem+json: schema: - $ref: '#/components/schemas/DetailedErrorResponse' + $ref: '#/components/schemas/ResponseErrorDetailed' + parameters: + - $ref: '#/components/parameters/includeQuery' + - $ref: '#/components/parameters/ContentType' summary: Create Pages put: operationId: content-pages-put - description: Updates one or more content pages. This endpoint supports bulk operations. tags: - - Pages + - Pages (Bulk) + description: Updates one or more content pages. This endpoint supports bulk operations. requestBody: content: application/json: @@ -226,7 +141,7 @@ paths: schema: $ref: '#/components/schemas/PagesCollectionResponse' examples: - update meta descriptions for two pages: + update meta descriptions for two pages: value: data: - id: 20 @@ -258,14 +173,12 @@ paths: is_customers_only: false search_keywords: '' meta: {} - '207': - $ref: '#/components/responses/HTTP207Response' '404': description: Not Found content: application/problem+json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: '#/components/schemas/ResponseErrorBrief' examples: example-1: value: @@ -277,7 +190,7 @@ paths: content: application/problem+json: schema: - $ref: '#/components/schemas/DetailedErrorResponse' + $ref: '#/components/schemas/ResponseErrorDetailed' examples: missing required field for type raw: value: @@ -285,11 +198,14 @@ paths: title: Input is invalid type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' detail: 'missing the required field: body' + parameters: + - $ref: '#/components/parameters/includeQuery' + - $ref: '#/components/parameters/ContentType' summary: Update Pages delete: operationId: content-pages-delete tags: - - Pages + - Pages (Bulk) description: |- Deletes one or more content pages. This endpoint supports bulk operations. @@ -298,25 +214,25 @@ paths: > If you attempt to delete multiple pages by passing more than one pageId to `id:in` and one or more of them does not exist, you will receive a 404 response. However, the pages corresponding to the pagesIds that do exist will still be deleted. responses: '204': - description: No content. A 204 response with no payload indicates successful deletion of all specified pages. + $ref: '#/components/responses/HTTP204' '404': description: Not Found. One of more of the pages specified for deletion did not exist. Specified pages that did exist were successfully deleted. content: application/problem+json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: '#/components/schemas/ResponseErrorBrief' examples: Page not found: value: status: 404 - title: A Page was not found with an id of 100 + title: A Page was not found with an ID of 100 type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' '422': description: Invalid input. See response for details. content: application/problem+json: schema: - $ref: '#/components/schemas/DetailedErrorResponse' + $ref: '#/components/schemas/ResponseErrorDetailed' examples: Missing ID: value: @@ -325,25 +241,16 @@ paths: type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' detail: 'missing the required field: id' parameters: - - schema: - type: string - in: query - name: 'id:in' - description: 'Request deletion of multiple pages by passing a comma-separated string of corresponding page IDs. Supports bulk operations. ' - required: true + - $ref: '#/components/parameters/idInQueryDelete' summary: Delete Pages parameters: - - schema: - type: string - name: store_hash - in: path - required: true - description: The merchant's store hash. Also called a store id. + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/storeHashPath' '/stores/{store_hash}/v3/content/pages/{pageId}': get: operationId: content-page-get tags: - - Pages + - Pages (Single) description: |- Returns one content page. @@ -501,19 +408,19 @@ paths: content: application/problem+json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: '#/components/schemas/ResponseErrorBrief' examples: pageId does not exist: value: status: 404 - title: A Page was not found with an id of 99 + title: A Page was not found with an ID of 99 type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' '422': - description: Invalid input. One or more path parameter(s) did not have the incorrect datatype. + description: Invalid input. One or more path parameter(s) did not have the correct datatype. content: application/problem+json: schema: - $ref: '#/components/schemas/ListedErrorResponse' + $ref: '#/components/schemas/ResponseErrorItemized' examples: pageId is bar: value: @@ -522,13 +429,14 @@ paths: type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' errors: - bar - parameters: [] + parameters: + - $ref: '#/components/parameters/includeQuery' summary: Get a Page put: operationId: content-page-put - description: Updates one content page. tags: - - Pages + - Pages (Single) + description: Updates one content page. requestBody: content: application/json: @@ -544,37 +452,38 @@ paths: application/json: schema: $ref: '#/components/schemas/PageResponse' - '207': - $ref: '#/components/responses/HTTP207Response' '400': description: Bad Request; reasons for failure include invalid query parameters. See the response for more details. content: application/problem+json: schema: - $ref: '#/components/schemas/DetailedErrorResponse' + $ref: '#/components/schemas/ResponseErrorDetailed' '404': description: Not Found content: application/problem+json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: '#/components/schemas/ResponseErrorBrief' examples: not found: value: status: 404 - title: A Page was not found with an id of 99 + title: A Page was not found with an ID of 99 type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' '422': - description: The input was not valid. This is the result of missing required fields or other invalid arguments. See the response for more details. + description: The input was not valid. This error is the result of missing required fields or other invalid arguments. See the response for more details. content: application/problem+json: schema: - $ref: '#/components/schemas/DetailedErrorResponse' + $ref: '#/components/schemas/ResponseErrorDetailed' + parameters: + - $ref: '#/components/parameters/ContentType' + - $ref: '#/components/parameters/includeQuery' summary: Update a Page delete: operationId: content-page-delete tags: - - Pages + - Pages (Single) description: |- Deletes one content page. @@ -583,48 +492,173 @@ paths: > This endpoint does not recognize query parameters. responses: '204': - description: No content. A 204 response with no payload indicates successful deletion. + $ref: '#/components/responses/HTTP204' '404': description: The page specified for deletion did not exist. content: application/problem+json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: '#/components/schemas/ResponseErrorBrief' examples: example-1: value: status: 404 - title: A Page was not found with an id of 99 + title: A Page was not found with an ID of 99 type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' parameters: [] summary: Delete a Page parameters: - - schema: - type: string - name: store_hash - in: path - required: true - description: The merchant's store hash. Also called a store id. - - schema: - type: string - name: pageId - in: path - required: true - description: The id of the page to be operated on. -servers: - - url: 'https://api.bigcommerce.com' - description: Pages API Gateway - variables: - store_hash: - default: abc123 - description: Store hash used to identify the store. + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/storeHashPath' + - $ref: '#/components/parameters/pageIdPath' x-stoplight: docs: includeDownloadLink: true - showModels: false + showSchemas: false components: + parameters: + Accept: + name: Accept + in: header + required: true + schema: + type: string + default: 'application/json' + ContentType: + name: Content-Type + in: header + required: true + schema: + type: string + default: 'application/json' + storeHashPath: + schema: + type: string + name: store_hash + in: path + required: true + description: The permanent ID of the BigCommerce store. + pageIdPath: + schema: + type: string + name: pageId + in: path + required: true + description: The ID of the page to be operated on. + includeQuery: + schema: + type: string + enum: + - body + in: query + name: include + description: Include the requested property in the response. The `body` property returns the page’s markup, text, or raw content. + channelIdQuery: + schema: + type: integer + in: query + name: channel_id + description: Return only pages associated with the specified channel. + idInQueryGet: + schema: + type: string + in: query + name: 'id:in' + description: 'A comma-separated string of page IDs to fetch. Supports bulk operations. If none of the page IDs passed exist, the query will return an empty `data` array.' + idInQueryDelete: + schema: + type: string + in: query + name: 'id:in' + description: 'Request deletion of multiple pages by passing a comma-separated string of corresponding page IDs. Supports bulk operations. ' + required: true + nameQuery: + schema: + type: string + in: query + name: name + description: Name of the page. + nameLikeQuery: + schema: + type: string + in: query + name: 'name:like' + description: Return only pages whose `name` or `body` contain the supplied string. + limitQuery: + schema: + type: integer + in: query + name: limit + description: The number of results to return per request. See `meta.pagination.per_page` in the response body. + pageQuery: + schema: + type: integer + in: query + name: page + description: The ordered grouping of results to return. See `meta.pagination.current_page` in the response body. + headers: + Content-Type: + 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' + Accept: + 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' + X-Auth-Token: + description: Your API account's access token. + schema: + type: string + # $ref: '' + securitySchemes: + X-Auth-Token: + description: |- + ## API account + + You can use this API with a [store API account or an app API account](https://developer.bigcommerce.com/api-docs/getting-started/rest-api-authentication). + + ## OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Content | modify |`store_v2_content`| + | Content | read-only |`store_v2_content_read_only`| + + For a [full list of OAuth scopes](https://developer.bigcommerce.com/api-docs/getting-started/rest-api-authentication#oauth-scopes), see our narrative documentation. + + ## Security header + + Include a header parameter called `X-Auth-Token` and pass it the `access_token` provided with your store API account or generated with your app's `/auth` callback. + + ```http title="Security header example" + X-Auth-Token: example_access_token + ``` + + ## Example requests + + For detailed examples, consult our [X-Auth-Token example requests](https://developer.bigcommerce.com/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + ## Additional information + + [BigCommerce Terms of Service](http://www.bigcommerce.com/terms) + type: oauth2 + flows: + implicit: + authorizationUrl: 'https://store-store_hash.mybigcommerce.com/manage/settings/api-accounts/create' + scopes: + store_v2_content: Modify store content + store_v2_content_read_only: Read store content + authorizationCode: + authorizationUrl: 'https://your_app.example.com/api/auth' + tokenUrl: 'https://devtools.bigcommerce.com' + refreshUrl: 'https://your_app.example.com/api/auth' + scopes: + store_v2_content: Modify store content + store_v2_content_read_only: Read store content schemas: - BaseError: + ResponseErrorBrief: type: object description: | Error payload for the BigCommerce API. @@ -641,7 +675,7 @@ components: type: string required: - status - DetailedError: + ResponseErrorDetailed: type: object description: | Error payload for the BigCommerce API. @@ -660,11 +694,11 @@ components: type: string required: - status - ListedError: + ResponseErrorItemized: type: object description: | Error payload for the BigCommerce API. - title: ListedError + title: ResponseErrorItemized properties: status: description: | @@ -682,23 +716,53 @@ components: type: string required: - status - ErrorResponse: - allOf: - - $ref: '#/components/schemas/BaseError' - title: ListedErrorResponse - ListedErrorResponse: - allOf: - - $ref: '#/components/schemas/ListedError' - DetailedErrorResponse: - allOf: - - $ref: '#/components/schemas/DetailedError' - CollectionMeta: + ResponseMeta: type: object description: | Data about the response, including pagination and collection totals. properties: pagination: - $ref: '#/components/schemas/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. + count: + type: integer + description: | + Total number of items in the collection response. + per_page: + type: integer + description: | + The amount of items returned in the collection per page, controlled by the limit parameter. + current_page: + type: integer + description: | + The page you are currently on within the collection. + total_pages: + type: integer + description: | + The total number of pages in the collection. + links: + type: object + description: | + Pagination links for the previous and next parts of the whole collection. + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + next: + type: string + description: | + Link to the next page returned in the response. PagesCollectionResponse: description: | Response payload for the BigCommerce API. @@ -708,9 +772,15 @@ components: data: type: array items: - $ref: '#/components/schemas/Page' + anyOf: + - $ref: '#/components/schemas/typePage' + - $ref: '#/components/schemas/typeBlog' + - $ref: '#/components/schemas/typeContactForm' + - $ref: '#/components/schemas/typeFeed' + - $ref: '#/components/schemas/typeRaw' + - $ref: '#/components/schemas/typeLink' meta: - $ref: '#/components/schemas/CollectionMeta' + $ref: '#/components/schemas/ResponseMeta' PageResponse: description: | Response payload for the BigCommerce API. @@ -722,7 +792,7 @@ components: items: $ref: '#/components/schemas/Page' meta: - $ref: '#/components/schemas/CollectionMeta' + $ref: '#/components/schemas/ResponseMeta' title: PageResponseObject type: object ContactFields: @@ -730,7 +800,7 @@ components: - properties: fullname: type: string - description: Full name of the customer submitting the form. + description: Full name of the customer who is submitting the form. phone: type: string description: 'Customer’s phone number, as submitted on the form.' @@ -746,7 +816,7 @@ components: type: object PagePutBulk: type: object - description: Page modification request body properties. + description: Properties of the page modification request body. properties: name: type: string @@ -758,7 +828,10 @@ components: is_visible: type: boolean description: | - Determines the visibility of the page in the storefront’s navigation menu. + Boolean value that specifies the visibility of the page in the storefront’s navigation menu. + + + Indicates whether the page is available to users and visible in any menus. parent_id: type: integer description: | @@ -768,13 +841,13 @@ components: sort_order: type: integer description: | - Determines the order in which the page is displayed on the storefront. (Lower integers specify earlier display.) + Specifies the order in which the page is displayed on the storefront. (Lower integers specify earlier display.) example: 0 default: 0 type: type: string description: |- - Determines the type of the page. + Specifies the type of the page. The following values are possible; |Value|Description| |-|-| @@ -795,26 +868,27 @@ components: is_homepage: type: boolean description: | - Determines whether this page is the storefront’s home page. + Boolean value that specifies whether this page is the storefront’s home page. is_customers_only: type: boolean description: | - If `true`, this page will not be visible when logged in to the store control panel. + Boolean value. If this value is set to `true`, this page will not be visible when the user is logged in to the store control panel. id: type: integer - description: The id of the target page + description: The ID of the target page. email: type: string - description: 'Where the page’s type is a contact form: contact email address that receives messages sent via the form. Must be unique.' + description: 'Applicable when the page type is `contact_form`: contact email address that receives messages sent via the form. Must be unique.' maxLength: 255 meta_title: type: string + nullable: true body: type: string description: | - HTML or variable that populates this page’s element, in default/desktop view. Required in a `POST` request if the page type is `raw`. + HTML or variable that populates the element of this page, in default/desktop view. Required in a `POST` request if the page type is `raw`. example: <div>Hello World!</div> - writeOnly: true + nullable: true feed: type: string description: | @@ -826,7 +900,7 @@ components: contact_fields: type: string description: | - Where the page’s type is `contact_form`: comma-separated list of keywords representing the fields enabled in the control panel for storefront display. Possible fields include: + Applicable when the page type is `contact_form`: comma-separated list of keywords representing the fields enabled in the control panel for storefront display. Possible fields include: |Field|Description| |-|-| @@ -836,25 +910,23 @@ components: |`orderno`|Customer’s submitted order number| |`rma`|Customer’s submitted RMA (Return Merchandise Authorization) number| example: 'fullname,companyname,phone,orderno,rma' - enum: - - fullname - - phone - - companyname - - phone - - orderno meta_keywords: - type: string description: | - Comma-separated list of SEO-relevant keywords to include in the page’s element. + Comma-separated list of SEO-relevant keywords to include in the element of this page. + default: '' + type: string + nullable: true meta_description: type: string description: | - Description contained within this page’s element. + Description contained within the element of this page. + nullable: true search_keywords: type: string description: | Comma-separated list of keywords that shoppers can use to locate this page when searching the store. example: 'trousers,pockets,luxury' + nullable: true url: type: string description: | @@ -863,14 +935,14 @@ components: channel_id: type: integer description: | - The Id of the channel where this page should be shown. + The ID of the channel where this page should be shown. example: 12 default: 0 required: - id PagePut: type: object - description: Page modification request body properties. + description: Properties of the page modification request body. properties: name: type: string @@ -882,7 +954,7 @@ components: is_visible: type: boolean description: | - Determines the visibility of the page in the storefront’s navigation menu. + Boolean value that specifies the visibility of the page in the storefront’s navigation menu. parent_id: type: integer description: | @@ -892,13 +964,13 @@ components: sort_order: type: integer description: | - Determines the order in which the page is displayed on the storefront. (Lower integers specify earlier display.) + Specifies the order in which the page is displayed on the storefront. (Lower integers specify earlier display.) example: 0 default: 0 type: type: string description: |- - Determines the type of the page. + Specifies the type of the page. |Value|Description| |-|-| @@ -919,23 +991,24 @@ components: is_homepage: type: boolean description: | - Determines whether this page is the storefront’s home page. + Boolean value that specifies whether this page is the storefront’s home page. is_customers_only: type: boolean description: | - If `true`, this page will not be visible when logged in to the store control panel. + Boolean value. If this value is set to `true`, this page will not be visible when the user is logged in to the store control panel. email: type: string - description: 'Where the page’s type is a contact form: contact email address that receives messages sent via the form. Must be unique.' + description: 'Applicable when the page type is `contact_form`: contact email address that receives messages sent via the form. Must be unique.' maxLength: 255 meta_title: type: string + nullable: true body: type: string description: | - HTML or variable that populates this page’s element, in default/desktop view. Required in a `POST` request if the page type is `raw`. + HTML or variable that populates the elment of this page, in default/desktop view. Required in a `POST` request if the page type is `raw`. example: <div>Hello World!</div> - writeOnly: true + nullable: true feed: type: string description: | @@ -947,7 +1020,7 @@ components: contact_fields: type: string description: | - Where the page’s type is `contact_form`: comma-separated list of keywords representing the fields enabled in the control panel for storefront display. Possible fields include: + Applicable when the page type is `contact_form`: comma-separated list of keywords representing the fields enabled in the control panel for storefront display. Possible fields include: |Field|Description| |-|-| @@ -957,25 +1030,23 @@ components: |`orderno`|Customer’s submitted order number| |`rma`|Customer’s submitted RMA (Return Merchandise Authorization) number| example: 'fullname,companyname,phone,orderno,rma' - enum: - - fullname - - phone - - companyname - - phone - - orderno meta_keywords: + default: '' type: string description: | - Comma-separated list of SEO-relevant keywords to include in the page’s element. + Comma-separated list of SEO-relevant keywords to include in the element of this page. + nullable: true meta_description: type: string description: | - Description contained within this page’s element. + Description contained within the element of this page. + nullable: true search_keywords: type: string description: | Comma-separated list of keywords that shoppers can use to locate this page when searching the store. example: 'trousers,pockets,luxury' + nullable: true url: type: string description: | @@ -984,7 +1055,7 @@ components: channel_id: type: integer description: | - The Id of the channel where this page should be shown. + The ID of the channel where this page should be shown. example: 12 default: 0 required: @@ -995,18 +1066,18 @@ components: properties: email: type: string - description: 'Where the page’s type is a contact form: contact email address that receives messages sent via the form. Must be unique.' + description: 'Applicable when the page type is `contact_form`: contact email address that receives messages sent via the form. Must be unique.' maxLength: 255 default: '' meta_title: type: string - default: '' + nullable: true body: type: string description: | - HTML or variable that populates this page’s element, in default/desktop view. Required in a `POST` request if the page type is `raw`. + HTML or variable that populates this page’s element, in default/desktop view. Required in a `POST` request if the page type is `raw`. example: <div>Hello World!</div> - writeOnly: true + nullable: true feed: type: string description: | @@ -1018,7 +1089,7 @@ components: contact_fields: type: string description: | - Where the page’s type is `contact_form`: comma-separated list of keywords representing the fields enabled in the control panel for storefront display. Possible fields include: + Applicable when the page type is `contact_form`: comma-separated list of keywords representing the fields enabled in the control panel for storefront display. Possible fields include: |Field|Description| |-|-| @@ -1027,30 +1098,25 @@ components: |`companyname`|Customer’s submitted company name| |`orderno`|Customer’s submitted order number| |`rma`|Customer’s submitted RMA (Return Merchandise Authorization) number| - example: 'fullname,companyname,phone,orderno,rma' + example: 'fullname,orderno,rma' default: '' - enum: - - fullname - - phone - - companyname - - phone - - orderno meta_keywords: - type: string description: | - Comma-separated list of SEO-relevant keywords to include in the page’s element. + Comma-separated list of SEO-relevant keywords to include in the page’s element. default: '' + type: string + nullable: true meta_description: type: string description: | - Description contained within this page’s element. - default: '' + Description contained within this page’s element. + nullable: true search_keywords: type: string description: | Comma-separated list of keywords that shoppers can use to locate this page when searching the store. example: 'trousers,pockets,luxury' - default: '' + nullable: true url: type: string description: | @@ -1080,6 +1146,10 @@ components: type: boolean description: | Determines the visibility of the page in the storefront’s navigation menu. + + Boolean value that specifies the visibility of the page in the storefront’s navigation menu. + + Indicates whether the page is available to users and visible in any menus. parent_id: type: integer description: | @@ -1124,60 +1194,271 @@ components: required: - name - type - Pagination: + anyTypePage: type: object description: | - Data about the response, including pagination and collection totals. + Properties of all Pages V3 pages. properties: - total: - type: integer - description: | - Total number of items in the result set. - count: + id: type: integer - description: | - Total number of items in the collection response. - per_page: + nullable: false + readOnly: true + channel_id: type: integer - description: | - The amount of items returned in the collection per page, controlled by the limit parameter. - current_page: + readOnly: true + name: + type: string + description: The name of the page. Must be unique. + minLength: 1 + maxLength: 100 + uniqueItems: true + example: About Our Company + nullable: false + readOnly: false + is_visible: + type: boolean + example: true + default: true + description: |- + A boolean value that controls whether the page is available to users or visible in any navigation menus. + parent_id: type: integer - description: | - The page you are currently on within the collection. - total_pages: + description: ID of the parent page, if any. + example: 0 + default: 0 + sort_order: type: integer - description: | - The total number of pages in the collection. - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: + description: Determines the order in which the page is displayed in the parent page’s menu. Pages with lower integers display earlier. + example: 0 + type: + type: string + description: 'Determines the type of page. See [Pages v3 page types](/api-reference/store-management/pages#page-types) for more about the differences.' + nullable: false + example: page + enum: + - page + - raw + - contact_form + - feed + - link + - blog + is_homepage: + type: boolean + description: 'Determines whether this page loads at the siteʼs root route. For example, at `https://example.com/`.' + default: false + is_customers_only: + type: boolean + description: 'When `true`, this page is not visible to merchant users who are signed in to the store control panel.' + default: false + required: + - name + - type + typePage: + description: | + Schema for a Pages V3 page with `type: page` + allOf: + - $ref: '#/components/schemas/anyTypePage' + - $ref: '#/components/schemas/pageMeta' + - $ref: '#/components/schemas/searchKeywords' + typeBlog: + description: '' + allOf: + - $ref: '#/components/schemas/anyTypePage' + - $ref: '#/components/schemas/pageMeta' + - $ref: '#/components/schemas/searchKeywords' + - properties: + url: type: string description: | - Link to the previous page returned in the response. - current: + Relative URL on the storefront for this page. + example: '/blog/' + typeContactForm: + description: '' + allOf: + - $ref: '#/components/schemas/anyTypePage' + - $ref: '#/components/schemas/pageMeta' + - $ref: '#/components/schemas/searchKeywords' + - properties: + email: + type: string + description: 'Applicable when the page type is `contact_form`: contact email address that receives messages sent via the form. Must be unique.' + maxLength: 255 + contact_fields: type: string description: | - Link to the current page returned in the response. - next: + A comma-separated list of the contact field forms that are enabled in the store control panel for display on the subject storefront. Possible fields include: + + | Field | Description | + |:------|:------------| + | `fullname` | The full name of the customer submitting the form. | + | `phone` | The customer’s phone number. | + | `companyname` | The customer’s company name. | + | `orderno` | A field that lets customers specify a subject order number. | + | `rma` | A customer’s submitted RMA (Return Merchandise Authorization) number. | + example: 'fullname,companyname,phone,orderno,rma' + typeFeed: + description: '' + allOf: + - $ref: '#/components/schemas/anyTypePage' + - $ref: '#/components/schemas/pageMeta' + - $ref: '#/components/schemas/searchKeywords' + - properties: + feed: type: string description: | - Link to the next page returned in the response. - PageFull: - title: PageFull + The URL of the RSS feed. Required in a `POST` request if the page type is `rss_feed`. + required: + - feed + typeRaw: + description: '' allOf: - - $ref: '#/components/schemas/Page' - securitySchemes: - X-Auth-Token: - name: X-Auth-Token - type: apiKey - in: header + - $ref: '#/components/schemas/anyTypePage' + - $ref: '#/components/schemas/searchKeywords' + - properties: + body: + type: string + description: | + HTML or variable that populates the element of this page, in default/desktop view. Required in a `POST` request if the page type is `raw`. + example: '<div>Hello World!</div>' + nullable: true + content_type: + type: string + description: + The MIME type of the page body. + example: 'text/html' + required: + - body + typeLink: + description: '' + allOf: + - $ref: '#/components/schemas/anyTypePage' + - properties: + link: + type: string + description: The link for the page type `link`. + required: + - link + pageMeta: + type: object + properties: + meta_title: + type: string + nullable: true + meta_keywords: + description: | + Comma-separated list of SEO-relevant keywords to include in the element of this page. + default: '""' + type: string + nullable: true + meta_description: + type: string + default: '""' + description: | + Description contained within the element of this page. + nullable: true + searchKeywords: + type: object + properties: + search_keywords: + type: string + description: | + Comma-separated list of keywords that shoppers can use to locate this page when searching the store. + example: 'trousers,pockets,luxury' + nullable: true + default: '""' + readOnly: false + ReadShared: + type: object + properties: + name: + type: string + description: The name of the page. Must be unique. + minLength: 1 + maxLength: 100 + uniqueItems: true + example: About Our Company + is_visible: + type: boolean + description: Indicates whether the page is available to users and visible in any menus. + parent_id: + type: integer + description: ID of the parent page, if any. + example: 0 + default: 0 + sort_order: + type: integer + description: Determines the order in which the page is displayed in the parent page’s menu. Pages with lower integers display earlier. + example: 0 + default: 0 + type: + type: string + description: 'Determines the type of page. See [Pages v3 page types](/api-reference/store-management/pages#page-types) for more about the differences.' + example: page + enum: + - page + - contact_form + - raw + - blog + - feed + - link + is_homepage: + type: boolean + description: 'Determines whether this page loads at the siteʼs root route. For example, at `https://example.com/`.' + default: false + is_customers_only: + type: boolean + description: 'When `true`, this page is not visible to merchant users who are signed in to the store control panel.' + default: false + required: + - name + - type responses: HTTP207Response: - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: 'Multiple operations have occurred and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occurred, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' content: application/json: schema: {} + HTTP201CreatePages: + description: |- + Created. + + Response.data will inherit the datatype of the request. A single entry passed as an object will return an object for the data property. Any number of entries passed in an array will return an array for the data property. + + Properties associated with a page `type` that are not required to create an entry will be created with default values. + + When you make bulk requests, an invalid input in any one entry will return 422. The entries that are valid will still be created. + content: + application/json: + schema: + type: object + properties: + data: + anyOf: + - $ref: '#/components/schemas/typePage' + - $ref: '#/components/schemas/typeBlog' + - $ref: '#/components/schemas/typeContactForm' + - $ref: '#/components/schemas/typeFeed' + - $ref: '#/components/schemas/typeRaw' + - $ref: '#/components/schemas/typeLink' + meta: + $ref: '#/components/schemas/ResponseMeta' + HTTP204: + description: No content. A 204 response with no payload indicates successful deletion of all specified pages. + HTTP400: + description: '' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ResponseErrorBrief' + HTTP404: + description: '' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ResponseErrorDetailed' + HTTP422: + description: '' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ResponseErrorDetailed' From 98fbad73e71a9997f027cf7847d39442c467972d Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Mon, 24 Oct 2022 11:00:52 -0500 Subject: [PATCH 052/360] Devdocs 4487 redirect urls via storefront cart (#983) * DEVDOCS-4487-redirect-urls-via-storefront-cart * Modified models/email_templates/_all.yml (#994) * DEVDOCS-4445-add-brand-item (#995) * DEVDOCS-4445-add-brand-item * Added brand to invoice_email.yml Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> * added list of enums for gift certificate options * DEVDOCS-4506: [maint] Email template models, "Approved" to "Return Requested" (#994) * DEVDOCS-4445: [maint] Email templates add brand item (#995) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> * DEVDOCS-4431: [maintenance] Fix endpoint, clean up file; Abandoned Cart emails (#980) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> * DEVDOCS-4530: [edit] Abandoned Carts, move deprecated schema (#1000) * DEVDOCS-4530-moving-deprecated-schema * Modified models/email_templates/_all.yml (#994) * DEVDOCS-4445-add-brand-item (#995) * DEVDOCS-4445-add-brand-item * Added brand to invoice_email.yml Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> --- reference/carts.v3.yml | 100 ++++++++++++++++++++++++++++++++--------- 1 file changed, 78 insertions(+), 22 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 2bd897ac9..4cf31eb40 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -145,7 +145,7 @@ paths: message: Happy Birthday gift_certificates: - name: Tobi Day - theme: Happy Birthday + theme: Birthday amount: 1 quantity: 1 sender: @@ -379,7 +379,7 @@ paths: * A **Carts** redirect URL may only be used once. * Once a redirect URL has been visited, it will be invalidated and cannot be used again. * If your application requires URLs to be visited more than once, consider generating a fresh one each time you need to restore a cart, and redirecting to the URL from your own application. - * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API. + * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API and the Storefront Cart API. * To restore a cart that was created on the storefront, either by a shopper or the Storefront Cart API, first recreate the cart using the Server to Server Cart API. parameters: - name: cartId @@ -1005,7 +1005,14 @@ components: description: Given name for a gift certificate line item. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number minimum: 1 @@ -1063,7 +1070,14 @@ components: description: Given name for a gift certificate line item. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number minimum: 1 @@ -1100,7 +1114,7 @@ components: - recipient channel_id: type: integer - description: The Channel ID. If no channel is specified, defaults to 1. + description: 'The Channel ID. If no channel is specified, defaults to 1.' currency: type: object properties: @@ -1157,7 +1171,14 @@ components: description: Given name for gift certificate line item. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number minimum: 1 @@ -1194,7 +1215,7 @@ components: - recipient channel_id: type: integer - description: The Channel ID. If no channel is specified, this defaults to 1. + description: 'The Channel ID. If no channel is specified, this defaults to 1.' x-internal: false CartUpdatePutRequestData: type: object @@ -1255,7 +1276,14 @@ components: description: Given name for gift certificate line item. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number minimum: 1 @@ -1336,7 +1364,7 @@ components: title: Applied Discount description: |- Example as part of a cart response: - + ``` "discounts": [ { @@ -1476,7 +1504,7 @@ components: ``` properties: id: - description: ID of the applied discount. + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -1667,7 +1695,7 @@ components: ``` properties: id: - description: ID of the applied discount. + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -1809,7 +1837,14 @@ components: description: Name provided for the gift certificate that will appear in the control panel. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' @@ -1879,7 +1914,14 @@ components: description: Provided name that will appear in the control panel. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' @@ -1965,7 +2007,7 @@ components: title: Applied Discount description: |- Example as part of a cart response: - + ``` "discounts": [ { @@ -2171,7 +2213,7 @@ components: ``` properties: id: - description: ID of the applied discount. + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -2343,9 +2385,9 @@ components: items: type: object title: Applied Discount - description: |- + description: |- Example as part of a cart response: - + ``` "discounts": [ { @@ -2532,7 +2574,7 @@ components: title: Applied Discount properties: id: - description: ID of the applied discount. + description: ID of the applied discount. example: coupon oneOf: - type: string @@ -2593,7 +2635,7 @@ components: description: Variant ID. Exists only in Catalog V3. name: type: string - description: Optionally, provide a value to override the product name. + description: 'Optionally, provide a value to override the product name.' gift_wrapping: type: object properties: @@ -2646,7 +2688,7 @@ components: description: Optional price override. name: type: string - description: Optionally, provide a value to override the product name. + description: 'Optionally, provide a value to override the product name.' option_selections: type: array description: Needed for Catalog V2. @@ -2705,7 +2747,14 @@ components: description: Given name for a gift certificate line item. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number minimum: 1 @@ -2765,7 +2814,14 @@ components: description: Given name for gift certificate line item. theme: type: string - description: The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. + description: 'The theme of the gift certificate.' + enum: + - Birthday + - Boy + - Celebration + - Christmas + - General + - Girl amount: type: number minimum: 1 From 9cdd69d8f0448ea534869caa3f1d5b7d8e77903a Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Wed, 26 Oct 2022 10:50:44 -0500 Subject: [PATCH 053/360] DEVDOCS-3828 make-the-cart-checkout-redirect-ur-ls-channel-specific (#999) * DEVDOCS-3828 update info on redirect_urls for POST carts * DEVDOCS-3828 add redirect URL info to POST carts/cartId/redirect_urls * DEVDOCS-4506: [maint] Email template models, "Approved" to "Return Requested" (#994) * DEVDOCS-4445: [maint] Email templates add brand item (#995) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> * DEVDOCS-4431: [maintenance] Fix endpoint, clean up file; Abandoned Cart emails (#980) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/carts.v3.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 4cf31eb40..df847223f 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -37,7 +37,7 @@ paths: * If a product has modifiers, use the `option_selections` array to describe the **modifier** selection(s). * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/api-reference/store-management/catalog/product-variant-option-values/getoptionvaluebyid), [modifier value](/api-reference/store-management/catalog/product-modifier-values/getmodifiervaluebyid), or a combination of both. * Redirect URLs can only be generated from carts that were created using the **Server-to-Server Carts API**. - * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. + * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront's configuration. * To restore a cart that was created by a shopper or through the Storefront Cart API, first recreate the cart using the Server to Server Cart API. * To get cart `promotions` in the response, append the following query parameter to the request URL: `include=promotions.banners`. parameters: @@ -376,7 +376,8 @@ paths: **Usage Notes** * Redirect URLs can also be created via **Create a Cart** requests by appending `include=redirect_urls`. - * A **Carts** redirect URL may only be used once. + * A **Carts** redirect URL may only be used once. + * Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront's configuration. * Once a redirect URL has been visited, it will be invalidated and cannot be used again. * If your application requires URLs to be visited more than once, consider generating a fresh one each time you need to restore a cart, and redirecting to the URL from your own application. * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API and the Storefront Cart API. From 527ed7dbe92f10f532bdbb56bab578ac049f37e9 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Mon, 31 Oct 2022 09:05:46 -0500 Subject: [PATCH 054/360] DEVDOCS-4036-menu-paths (#1028) --- reference/channels.v3.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index c9bb8ba28..c03fd448a 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -266,7 +266,7 @@ paths: - Channel Currency Assignments summary: Create Multiple Channels Currency Assignments operationId: createMultipleChannelsCurrencyAssignments - description: Sets enabled currencies and default currency for multiple channels. Note that currencies must be added first in the Store Setup > Currencies settings from the BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Sets enabled currencies and default currency for multiple channels. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -286,7 +286,7 @@ paths: - Channel Currency Assignments summary: Update Multiple Channels Currency Assignments operationId: updateMultipleChannelsCurrencyAssignments - description: Updates enabled currencies and default currency for multiple channels. Note that currencies must be added first in the Store Setup > Currencies settings from the BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Updates enabled currencies and default currency for multiple channels. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -337,7 +337,7 @@ paths: - Channel Currency Assignments summary: Create Channel Currency Assignments operationId: createSingleChannelCurrencyAssignments - description: Sets enabled currencies and default currency for a specific channel. Note that currencies must be added first in the Store Setup > Currencies settings from the BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Sets enabled currencies and default currency for a specific channel. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -357,7 +357,7 @@ paths: - Channel Currency Assignments summary: Update Channel Currency Assignments operationId: updateSingleChannelCurrencyAssignments - description: Updates enabled currencies and default currency for a specific channel. Note that currencies must be added first in the Store Setup > Currencies settings from the BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Updates enabled currencies and default currency for a specific channel. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: From 20dc17f980871a3ee5b46b19b7673089be61fd4d Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Thu, 3 Nov 2022 13:33:52 -0500 Subject: [PATCH 055/360] (no ticket): [update] Clean up linting errors (#1027) --- reference/abandoned_carts.v3.yml | 1 - reference/currencies.v2.yml | 3 +++ reference/current_customer.yml | 2 +- reference/form_fields.sf.yml | 1 + reference/marketing.v2.yml | 1 + reference/payment_methods.v2.yml | 1 + reference/shipping.v2.yml | 1 + reference/subscriptions.sf.yml | 1 + 8 files changed, 9 insertions(+), 2 deletions(-) diff --git a/reference/abandoned_carts.v3.yml b/reference/abandoned_carts.v3.yml index 54674522c..dbef18e4b 100644 --- a/reference/abandoned_carts.v3.yml +++ b/reference/abandoned_carts.v3.yml @@ -216,7 +216,6 @@ paths: type: string security: - X-Auth-Token: [] - - OAuthScopes: [] tags: - name: Abandoned Carts - name: Abandoned Cart Settings diff --git a/reference/currencies.v2.yml b/reference/currencies.v2.yml index 79506ca2d..78d6be62d 100644 --- a/reference/currencies.v2.yml +++ b/reference/currencies.v2.yml @@ -77,6 +77,7 @@ paths: - Currencies summary: Get All Currencies description: Returns a list of all store *Currency*. + operationId: getAllCurrencies parameters: - name: store_hash in: path @@ -108,6 +109,7 @@ paths: tags: - Currencies summary: Create a Currency + operationId: createACurrency description: |- Creates *Currency*. @@ -165,6 +167,7 @@ paths: tags: - Currencies summary: Delete All Currencies + operationId: deleteAllCurrencies description: Deletes all non-default store currencies. parameters: - name: store_hash diff --git a/reference/current_customer.yml b/reference/current_customer.yml index 38b9e372d..0e14c3b35 100644 --- a/reference/current_customer.yml +++ b/reference/current_customer.yml @@ -11,7 +11,7 @@ info: > The Send a Test Request feature is not currently supported for this endpoint. version: "" servers: -- url: https://{$$.env.store_domain}/ +- url: https://{$$.env.store_domain} tags: - name: Current Customers paths: diff --git a/reference/form_fields.sf.yml b/reference/form_fields.sf.yml index 1301eac08..4031c6086 100644 --- a/reference/form_fields.sf.yml +++ b/reference/form_fields.sf.yml @@ -18,6 +18,7 @@ paths: tags: - Form Fields summary: Get Form Fields + operationId: getFormFields description: |- Gets form fields. diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index 23f19d1c5..1ca1b11d2 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -212,6 +212,7 @@ paths: tags: - Coupons summary: Create a New Coupon + operationId: createANewCoupon description: |- Creates a *Coupon*. diff --git a/reference/payment_methods.v2.yml b/reference/payment_methods.v2.yml index 5fa69dade..8678aa912 100644 --- a/reference/payment_methods.v2.yml +++ b/reference/payment_methods.v2.yml @@ -34,6 +34,7 @@ paths: tags: - Payment Methods summary: Get All Payment Methods + operationId: getAllPaymentMethods description: | Gets the list of enabled payment methods. Default sorting is by payment method, alphabetically from A to Z. <!-- theme: info --> diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index 5f8807ad0..e2a32b08f 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -1509,6 +1509,7 @@ paths: IsMultiContentStreaming: false tags: - Shipping Carrier + operationId: createACarrierConnection delete: description: |- Deletes a *Carrier Connection*. diff --git a/reference/subscriptions.sf.yml b/reference/subscriptions.sf.yml index 8f6638122..8e4397225 100644 --- a/reference/subscriptions.sf.yml +++ b/reference/subscriptions.sf.yml @@ -20,6 +20,7 @@ paths: tags: - Subscription summary: Create a Subscription + operationId: createASubscription description: |- Creates or updates an email subscription. From ef2ffc6b880dc4671b7bfc167373d059cc781439 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Tue, 8 Nov 2022 14:55:05 -0600 Subject: [PATCH 056/360] DEVDOCS-4529: [remove] Duplicate outdated version of webhook_events spec (#1036) --- models/webhooks/webhooks_events.yml | 1708 --------------------------- 1 file changed, 1708 deletions(-) delete mode 100644 models/webhooks/webhooks_events.yml diff --git a/models/webhooks/webhooks_events.yml b/models/webhooks/webhooks_events.yml deleted file mode 100644 index 868d3e6b0..000000000 --- a/models/webhooks/webhooks_events.yml +++ /dev/null @@ -1,1708 +0,0 @@ -swagger: '2.0' -info: - title: Webhook Callbacks - version: '' - description: >- - For a list of all webhook events, see [Webhook Events](/api-docs/store-management/webhooks/webhook-events). -paths: - /store/cart/lineItem/created: - post: - responses: {} - description: >- - This webhook will fire whenever a new cart is created either via a - storefront shopper adding their first item to the cart or when a new - cart being created via an API consumer. If it is from the storefront, - then it fires when the first product is added to a new session.(The cart - did not exist before) For the API it means a POST to /carts, (V3 and - Storefront API). - - - The store/cart/lineItem/updated will also fire. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/lineItem/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/lineItem/created - consumes: - - application/json - /store/cart/lineItem/updated: - post: - responses: {} - description: >- - This webhook is fired whenever a cart is modified through the changes in - its line items. Eg. when a new item is added to a cart or an existing - item’s quantity is updated. This hook also fires when the email is - changed during guest checkout or an existing item is deleted. The - payload will include the ID of the cart being updated. - - - This webhook is also fired along with cart created, because the first - product being added to an empty cart triggers an update. - - - - Logging into store account after creating a cart (email is inherited - from store account email). - - - Entering email address via guest checkout. - - - Changing the email in guest checkout. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/lineItem/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/lineItem/updated - consumes: - - application/json - /store/cart/lineItem/deleted: - post: - responses: {} - description: >- - This webhook will fire whenever a cart is deleted. This will occur - either when all items have been removed from a cart and it is - auto-deleted, or when the cart is explicitly removed via a DELETE - request by an API consumer. This ends the lifecycle of the cart. - - - The store/cart/lineItem/updated webhook will also fire when the last - item is removed. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/lineItem/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/lineItem/deleted - consumes: - - application/json - /store/information/updated: - post: - responses: {} - description: >- - This webhook is fired whenever a cart is modified through the changes in - its line items. Eg. when a new item is added to a cart or an existing - item’s quantity is updated. This hook also fires when the email is - changed during guest checkout or an existing item is deleted. The - payload will include the ID of the cart being updated. - - - This webhook is also fired along with cart created, because the first - product being added to an empty cart triggers an update. - - - - Logging into store account after creating a cart (email is inherited - from store account email). - - - Entering email address via guest checkout. - - - Changing the email in guest checkout. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/information/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/information/updated - consumes: - - application/json - /store/customer/created: - post: - responses: {} - description: >- - This webhook will fire when a new customer record is created, either in - the Control Panel, via API or via a storefront. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/customer/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/customer/created - consumes: - - application/json - /store/customer/updated: - post: - responses: {} - description: >- - This webhook fires when a customer record is updated either via the - Control Panel, via API or a via storefront - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/customer/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/customer/updated - consumes: - - application/json - /store/customer/deleted: - post: - responses: {} - description: >- - This webhook will fire whenever a customer record is deleted either via - the Control Panel or API. Customers cannot delete accounts via the - storefront. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/customer/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/customer/deleted - consumes: - - application/json - /store/sku/created: - post: - responses: {} - description: >- - This webhook will fire whenever a new cart is created either via a - storefront shopper adding their first item to the cart or when a new - cart being created via an API consumer. If it is from the storefront, - then it fires when the first product is added to a new session.(The cart - did not exist before) For the API it means a POST to /carts, (V3 and - Storefront API). - - - The store/sku/updated will also fire. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/sku/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/sku/created - consumes: - - application/json - /store/sku/updated: - post: - responses: {} - description: >- - This webhook is fired whenever a cart is modified through the changes in - its line items. Eg. when a new item is added to a cart or an existing - item’s quantity is updated. This hook also fires when the email is - changed during guest checkout or an existing item is deleted. The - payload will include the ID of the cart being updated. - - - This webhook is also fired along with cart created, because the first - product being added to an empty cart triggers an update. - - - - Logging into customer account after creating a cart (email is - inherited from customer account email). - - - Entering email address via guest checkout. - - - Changing the email in guest checkout. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/sku/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/sku/updated - consumes: - - application/json - /store/sku/deleted: - post: - responses: {} - description: >- - This webhook will fire whenever a cart is deleted. This will occur - either when all items have been removed from a cart and it is - auto-deleted, or when the cart is explicitly removed via a DELETE - request by an API consumer. This ends the lifecycle of the cart. - - The store/sku/updated webhook will also fire when the last item is - removed. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/sku/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/sku/deleted - consumes: - - application/json - /store/category/created: - post: - responses: {} - description: >- - This webhook will fire whenever a new category is created in the Control - Panel or via API. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/category/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/category/created - consumes: - - application/json - /store/category/updated: - post: - responses: {} - description: >- - This webhook will fire when a category record is modified either via the - Control Panel or via API. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/category/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/category/updated - consumes: - - application/json - /store/category/deleted: - post: - responses: {} - description: >- - This webhook will fire whenever a category is deleted via either the - Control Panel or API. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/category/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/category/deleted - consumes: - - application/json - /store/order/created: - post: - responses: {} - description: >- - This webhook will fire whenever a new order is created either via a - storefront shopper, or via an API consumer. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/order/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/order/created - consumes: - - application/json - /store/order/deleted: - post: - responses: {} - description: This webhook will fire whenever an order is deleted. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/order/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/order/deleted - consumes: - - application/json - /store/cart/created: - post: - responses: {} - description: >- - This webhook will fire whenever a new cart is created either via a - storefront shopper adding their first item to the cart or when a new - cart being created via an API consumer. If it is from the storefront, - then it fires when the first product is added to a new session.(The cart - did not exist before) For the API it means a POST to /carts, (V3 and - Storefront API). - - - The store/cart/updated will also fire. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/created - consumes: - - application/json - /store/cart/updated: - post: - responses: {} - description: >- - This webhook is fired whenever a cart is modified through the changes in - its line items. Eg. when a new item is added to a cart or an existing - item’s quantity is updated. This hook also fires when the email is - changed during guest checkout or an existing item is deleted. The - payload will include the ID of the cart being updated. - - - This webhook is also fired along with cart created, because the first - product being added to an empty cart triggers an update. - - - - Logging into customer account after creating a cart (email is - inherited from customer account email). - - - Entering email address via guest checkout. - - - Changing the email in guest checkout. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/updated - consumes: - - application/json - /store/cart/deleted: - post: - responses: {} - description: >- - This webhook will fire whenever a cart is deleted. This will occur - either when all items have been removed from a cart and it is - auto-deleted, or when the cart is explicitly removed via a DELETE - request by an API consumer. This ends the lifecycle of the cart. The - store/cart/updated webhook will also fire when the last item is removed. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/deleted - consumes: - - application/json - /store/product/created: - post: - responses: - '200': - description: '' - schema: - type: object - properties: - '': - $ref: '#/definitions/callback_Base' - data: - $ref: '#/definitions/product-base' - examples: - application/json: - created_at: 1592432867 - store_id: '999379820' - producer: stores/vm2iajhsih - scope: store/product/created - hash: 0a90e1aaa335eb8e413051965468a2fcc23b3b11 - data: - type: product - id: 5102 - description: '' - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/product/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/product/created - consumes: - - application/json - /store/product/updated: - post: - responses: {} - description: '' - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/product/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/product/updated - consumes: - - application/json - /store/product/deleted: - post: - responses: - '200': - description: '' - schema: - type: object - properties: - '': - $ref: '#/definitions/callback_Base' - data: - $ref: '#/definitions/product-base' - examples: - application/json: - created_at: 1592433286 - store_id: '999379820' - producer: stores/vm2iajhsih - scope: store/product/deleted - hash: 0623e95b77bbd5e3874559c871eb1961d0cbdd05 - data: - type: product - id: 5102 - description: '' - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/product/created - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/product/deleted - consumes: - - application/json - /store/cart/couponApplied: - post: - responses: {} - description: >- - This webhook will fire whenever a new coupon code is applied to a cart. - It will include the ID of the coupon code. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/couponApplied - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/couponApplied - consumes: - - application/json - /store/cart/abandoned: - post: - responses: {} - description: >- - This webhook will fire once after a cart is abandoned. A cart is - considered abandoned if no changes were made at least one hour after the - last modified property. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/abandoned - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/abandoned - consumes: - - application/json - produces: [] - /store/cart/converted: - post: - responses: {} - description: >- - This hook fires when a cart is converted into an order, which is - typically after the payment step of checkout on the storefront. At this - point, the Cart is no longer accessible and has been deleted. - - This hook returns both the Cart ID and Order ID for correlation - purposes. - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - scope: store/cart/converted - store_id: '1025646' - data: - type: cart - id: 09346904-4175-44fd-be53-f7e598531b6c - hash: 352e4afc6dd3fc85ea26bfdf3f91852604d57528 - created_at: 1561482670 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/cart/converted - consumes: - - application/json - /store/order/statusUpdated: - post: - responses: - '200': - description: '' - schema: - type: object - properties: - '': - $ref: '#/definitions/callback_Base' - data: - $ref: '#/definitions/order-updated' - examples: - application/json: - created_at: 1592517272 - store_id: '999379820' - producer: stores/vm2iajhsih - scope: store/order/statusUpdated - hash: 71ba387dfa754de7e2636d035da133791e618fa6 - data: - type: order - id: 349 - status: - previous_status_id: 0 - new_status_id: 11 - tags: - - Events - description: >- - This webhook fires when the status of an order is changed. It also fires - when an order is created, because the order status is changed from `0` - to a different status (depending on the payment gateway and payment - capture settings). - summary: /store/order/statusUpdated - consumes: - - application/json - /store/order/message/created: - post: - responses: - '200': - description: '' - schema: - type: object - properties: - '': - $ref: '#/definitions/callback_Base' - data: - $ref: '#/definitions/order-message-created' - examples: - application/json: - created_at: 1592518324 - store_id: '999379820' - producer: stores/vm2iajhsih - scope: store/order/message/created - hash: 4bda8a99936ba9f4486fed0a7de47eb50789fdb0 - data: - type: order - id: 348 - message: - order_message_id: 5 - summary: store/order/message/created - tags: - - Events - consumes: - - application/json - description: "\tThis webhook is fired whenever a cart is modified through the changes in its line items. Eg. when a new item is added to a cart or an existing item’s quantity is updated. This hook also fires when the email is changed during guest checkout or an existing item is deleted. The payload will include the ID of the cart being updated.\nThis webhook is also fired along with cart created, because the first product being added to an empty cart triggers an update.\n- Logging into customer account after creating a cart (email is inherited from customer account email)\n- Entering email address via guest checkout\n-Changing the email in guest checkout" - /store/order/archived: - post: - responses: {} - summary: store/order/archived - consumes: - - application/json - tags: - - Events - description: This webhooks is triggered when an order is archived - /store/customer/address/created: - post: - responses: {} - summary: store/customer/address/created - tags: - - Events - description: >- - This webhook fires when a customer address is created via either the - Control Panel, API or a storefront. - consumes: - - application/json - /store/customer/address/updated: - post: - responses: {} - summary: store/customer/address/updated - tags: - - Events - description: >- - This webhook fires when a customer address is updated via either the - Control Panel, API or a storefront. - consumes: - - application/json - /store/customer/address/deleted: - post: - responses: {} - summary: /store/customer/address/deleted - tags: - - Events - description: >- - This webhook fires when a customer address is deleted via either the - Control Panel, API or a storefront. - consumes: - - application/json - /store/shipment/created: - post: - responses: {} - summary: /store/shipment/created - description: > - This webhook fires when a shipment is created via either the Control - Panel or the Orders API. - tags: - - Events - consumes: - - application/json - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - created_at: 1588186633 - store_id: your-store-id - producer: 'stores/{store_hash}' - scope: store/shipment/created - hash: 3f83e5a23d36021c4ce56d6ec0bc1342e7911a02 - data: - type: shipment - id: 3 - orderId: 121 - /store/shipment/updated: - post: - responses: {} - summary: /store/shipment/updated - tags: - - Events - consumes: - - application/json - description: >+ - This webhook fires when a shipment is updated via either the Control - Panel or the Orders API. - - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - created_at: 1588187671 - store_id: your-store-id - producer: 'stores/{store_hash}' - scope: store/shipment/updated - hash: d17122edf13c9ab42dbad6d27b20bcc2359969a1 - data: - type: shipment - id: 3 - orderId: 121 - /store/shipment/deleted: - post: - responses: {} - summary: /store/shipment/deleted - description: > - This webhook fires when a shipment is deleted via either the Control - Panel or the Orders API. - tags: - - Events - consumes: - - application/json - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - created_at: 1588187853 - store_id: your-store-id - producer: 'stores/{store_hash}' - scope: store/shipment/deleted - hash: 8f44a0a832b4a1a50c717e26a76cf55633fd90db - data: - type: shipment - id: '3' - orderId: 121 - /store/subscriber/created: - post: - responses: {} - summary: /store/subscriber/created - consumes: - - application/json - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - created_at: 1588350739 - store_id: your-store-id - producer: 'stores/{store_hash}' - scope: store/subscriber/created - hash: 20c29c5a40f23b1ca7111e683f3062ceab48f732 - data: - type: subscriber - id: '2' - tags: - - Events - description: >- - This webhook is fired when a newsletter subscriber is created either via - a storefront shopper or via an API consumer. - /store/subscriber/updated: - post: - responses: {} - summary: /store/subscriber/updated - tags: - - Events - consumes: - - application/json - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - created_at: 1588352004 - store_id: your-store-id - producer: 'stores/{store_hash}' - scope: store/subscriber/updated - hash: cb693beb1655af64b9ab88ff6339f2f6f90f28cb - data: - type: subscriber - id: '2' - description: This webhook is fired when a store newsletter subscriber is updated. - /store/subscriber/deleted: - post: - responses: {} - summary: /store/subscriber/deleted - consumes: - - application/json - tags: - - Events - security: [] - parameters: - - in: body - name: body - schema: {} - x-examples: - application/json: - created_at: 1588352705 - store_id: your-store-id - producer: 'stores/{store_hash}' - scope: store/subscriber/deleted - hash: f696143917af309148b31978001c90317331a394 - data: - type: subscriber - id: '2' - description: This webhook is fired when a store newsletter subscriber is deleted. - /store/product/inventory/updated: - post: - responses: {} - summary: store/product/inventory/updated - tags: - - Events - consumes: - - application/json - /store/product/inventory/order/updated: - post: - responses: - '200': - description: '' - schema: - type: object - properties: - '': - $ref: '#/definitions/callback_Base' - data: - $ref: '#/definitions/product-inventory' - examples: - application/json: - created_at: 1592433199 - store_id: '999379820' - producer: stores/vm2iajhsih - scope: store/product/inventory/order/updated - hash: 30b7ed5d60e9363a27fb0138053edd8052d68fe5 - data: - type: product - id: 5102 - inventory: - product_id: 5102 - method: relative - value: -1 - summary: store/product/inventory/order/updated - consumes: - - application/json - tags: - - Events - /store/order/updated: - post: - responses: - '200': - description: '' - schema: - type: object - properties: - '': - $ref: '#/definitions/callback_Base' - data: - $ref: '#/definitions/order-updated' - examples: - application/json: - created_at: 1592517272 - store_id: '999379820' - producer: stores/vm2iajhsih - scope: store/order/updated - hash: dbf6f909d297059b12a6d11b56619449b4f24e3d - data: - type: order - id: 349 - summary: /store/order/updated - tags: - - Events - consumes: - - application/json - /store/order/refund/created: - post: - responses: - '200': - description: '' - schema: - type: object - properties: - '': - $ref: '#/definitions/callback_Base' - data: - $ref: '#/definitions/refund_created' - examples: - application/json: - scope: store/order/refund/created - store_id: '1025646' - data: - type: order - id: 250 - refund: - refund_id: 3 - hash: cb07cdbdda8b1965e812693d5988154807eeed02 - created_at: 1561479923 - producer: 'stores/{store_hash}' - tags: - - Events - summary: /store/order/refund/created - description: Fires when an order is refunded. - consumes: - - application/json -basePath: '' -schemes: [] -tags: - - name: Subscriber - - name: Product - - name: SKU - - name: Order - - name: Customer - - name: Cart - - name: Cart LineItem - - name: Category - - name: Shipment -securityDefinitions: {} -parameters: - Accept: - in: header - type: string - name: Accept - default: application/json - Content-Type: - name: Content-Type - in: header - type: string - default: application/json -definitions: - cart_Created: - type: object - properties: - type: - type: string - id: - type: string - title: cart_Created - cartLineItem_Created: - type: object - title: cartLineItem_Created - properties: - type: - type: string - id: - type: string - cartId: - type: string - callback_Base: - type: object - title: callback_Base - properties: - store_id: - type: string - hash: - type: string - created_at: - type: integer - producer: - type: string - scope: - type: string - order-created: - type: object - title: Order Created - properties: - type: - type: string - id: - type: integer - order-updated: - type: object - title: Order Updated - properties: - type: - type: string - id: - type: integer - status: - type: object - properties: - previous_status_id: - type: integer - new_status_id: - type: integer - order-message-created: - type: object - title: Order Message Created - properties: - type: - type: string - id: - type: integer - message: - type: object - properties: - order_message_id: - type: integer - sku_Updated: - type: object - title: sku_Updated - properties: - type: - type: string - id: - type: integer - sku: - type: object - properties: - product_id: - type: integer - variant_id: - type: integer - cart_couponApplied: - type: object - title: cart_couponApplied - properties: - type: - type: string - id: - type: string - couponId: - type: integer - storeInfo_Updated: - title: storeInfo_Updated - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - type: object - properties: - type: - type: string - customer-created: - type: object - title: Customer Created - properties: - type: - type: string - id: - type: integer - customer-address-created: - type: object - title: Customer Address Created - properties: - type: - type: string - id: - type: integer - address: - type: object - properties: - customer_id: - type: integer - shipment_Created: - type: object - title: shipment_Created - properties: - type: - type: string - id: - type: integer - orderId: - type: integer - categoryBase: - type: object - title: Category Base - properties: - type: - type: string - id: - type: integer - subscriber_Created: - type: object - title: subscriber_Created - properties: - type: - type: string - id: - type: string - product-base: - type: object - title: Product Base - properties: - type: - type: string - id: - type: number - product-inventory: - type: object - properties: - type: - type: string - id: - type: integer - inventory: - type: object - properties: - product_id: - type: integer - method: - type: string - value: - type: integer - title: Product Inventory - refund_created: - type: object - properties: - type: - type: string - id: - type: integer - refund: - type: object - properties: - refund_id: - type: integer -responses: - Webhooks Response: - description: '' - schema: - type: object - properties: - id: - type: integer - description: Id of the webhook - example: 18048287 - client_id: - type: string - description: 'Client ID, unique to the store' - example: m9r6keqmo7h7f23btnpwernbez1kglkl - store_hash: - type: string - description: 'Store permanent ID. ' - example: sftg45fsd - scope: - type: string - description: Webhook event subscribed to - example: store/order/* - destination: - type: string - example: 'https://665b65a6.ngrok.io/webhooks' - description: URL that returns a 200 response for webhooks - headers: - type: object - description: >- - You can pass in any number of custom headers to validate webhooks - being returned. - properties: - custom: - type: string - is_active: - type: boolean - example: false - description: If the webhook is active or not - created_at: - type: integer - example: 1561488106 - description: Created time - updated_at: - type: integer - example: 1561488106 - description: Updated time - examples: - application/json: - id: 18048287 - client_id: m9r6keqmo7h7f23btnp3anbez1kglkl - store_hash: '{store_hash}' - scope: store/order/* - destination: 'https://665b65a6.ngrok.io/webhooks' - headers: - username: Webhooks User - password: Webhooks Password - is_active: true - created_at: 1561488106 - updated_at: 1561488106 - cart_Resp: - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - $ref: '#/definitions/cart_Created' - examples: - store/cart/created: - created_at: 1588009674 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/created - hash: e415a7a0e4d484b805b1d540d0aba719f62f5a01 - data: - type: cart - id: add4e20d-5aa3-4304-83d2-246854de4a4d - store/cart/updated: - created_at: 1588010740 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/updated - hash: a452b98cc16dbb23d14be51f177b23613d301379 - data: - type: cart - id: add4e20d-5aa3-4304-83d2-246854de4a4d - store/cart/deleted: - created_at: 1588011031 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/deleted - hash: 7df72a7cd87248b0ff737855667b8d8a2f25e562 - data: - type: cart - id: add4e20d-5aa3-4304-83d2-246854de4a4d - CallbackResponse: - description: >- - To acknowledge that you received the webhook without issue, your server - should return a 200 HTTP status code. Any other information you return in - the request headers or request body will be ignored. Any response code - outside the 200 range, including 3_xx_ codes, will indicate to us that you - did not receive the webhook. When a webhook is not received (for whatever - reason), we will retry the callback as described below. - - - Need to set up a quick destination URL for testing? See [Tools for testing webhooks](/api-docs/getting-started/webhooks/about-webhooks#about-webhooks_tools-for-debugging-and-testing-webhooks). - schema: - type: object - properties: {} - sku_Resp: - description: '' - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - $ref: '#/definitions/sku_Updated' - examples: - store/sku/created: - created_at: 1588005657 - store_id: your-store-id - producer: stores/store_hash - scope: store/sku/created - hash: c0e5243f541df33ac8d718a6892aab8b88ad5205 - data: - type: sku - id: 142 - sku: - product_id: 77 - variant_id: 101 - store/sku/updated: - created_at: 1587763133 - store_id: your-store-id - producer: stores/store_hash - scope: store/sku/updated - hash: 30548ed9eafbacc0f39ee7d44e39d20fd5cc46c1 - data: - type: sku - id: 70 - sku: - product_id: 77 - variant_id: 1 - store/sku/deleted: |- - { - "created_at": 1588007413, - "store_id": "your-store-id", - "producer": "stores/store_hash", - "scope": "store/sku/deleted", - "hash": "bac74aba643b575c6a7829d2e182d48cc5b0d844", - "data": { - "type": "sku", - "id": 142, - "sku": { - "product_id": 77, - "variant_id": 101 - } - } - } - cartLineItem_Resp: - description: '' - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - $ref: '#/definitions/cartLineItem_Created' - examples: - cart/lineItem/created: - created_at: 1588012546 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/lineItem/created - hash: 000e9e5ba3cbe55f700cf2a63050f78ee19a1e5b - data: - type: cart_line_item - id: 32b222dc-bfe7-4327-9f75-f3f03cf267e2 - cartId: 8bbe30bd-7d3c-4c5e-a499-7b1bb3bfb0aa - cart/lineItem/updated: - created_at: 1588013239 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/lineItem/updated - hash: a1473ffdd63cf6ee81e10d24f117a7cade430022 - data: - type: cart_line_item - id: 32b222dc-bfe7-4327-9f75-f3f03cf267e2 - cartId: 8bbe30bd-7d3c-4c5e-a499-7b1bb3bfb0aa - cart/lineItem/deleted: |- - { - "created_at": 1588013526, - "store_id": "your-store-id", - "producer": "stores/store_hash", - "scope": "store/cart/lineItem/deleted", - "hash": "2637747217be23b10bf960dd961c5813627425e9", - "data": { - "type": "cart_line_item", - "id": "32b222dc-bfe7-4327-9f75-f3f03cf267e2", - "cartId": "8bbe30bd-7d3c-4c5e-a499-7b1bb3bfb0aa" - } - } - cartCouponApplied_Resp: - description: '' - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - $ref: '#/definitions/cart_couponApplied' - examples: - application/json: - created_at: 1588014754 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/couponApplied - hash: f6ff9869a37c9153c66839d652b72616ad9a3d23 - data: - type: cart - id: 8bbe30bd-7d3c-4c5e-a499-7b1bb3bfb0aa - couponId: 1 - cartAbandoned_Resp: - description: '' - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - allOf: - - $ref: '#/definitions/cart_Created' - - type: object - properties: - token: - type: string - examples: - application/json: - created_at: 1588021465 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/abandoned - hash: 7aceb38b2b3efae1d91b6a89fe7fdcc908b2d86e - data: - type: cart - id: 8bbe30bd-7d3c-4c5e-a499-7b1bb3bfb0aa - token: d608433b40f024ef56cb808b71e566bc - cartConverted_Resp: - description: '' - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - allOf: - - $ref: '#/definitions/cart_Created' - - type: object - properties: - orderId: - type: integer - examples: - application/json: - created_at: 1588021880 - store_id: your-store-id - producer: stores/store_hash - scope: store/cart/converted - hash: adb6279b0ff032c690b764f345a4036181c6d985 - data: - type: cart - id: f87f2856-73ae-45dd-b817-faea7c384f75 - orderId: 121 - storeInfo_Resp: - description: '' - schema: - $ref: '#/definitions/storeInfo_Updated' - examples: - application/json: - created_at: 1588024057 - store_id: your-store-id - producer: stores/store_hash - scope: store/information/updated - hash: 77535b43f4dc24132b7867142d1b4dabac65c3e6 - data: - type: store - shipment_Resp: - description: '' - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - $ref: '#/definitions/shipment_Created' - examples: - store/shipment/created: |- - { - "created_at": 1588186633, - "store_id": "your-store-id", - "producer": "stores/store_hash", - "scope": "store/shipment/created", - "hash": "3f83e5a23d36021c4ce56d6ec0bc1342e7911a02", - "data": { - "type": "shipment", - "id": 3, - "orderId": 121 - } - } - store/shipment/updated: |- - { - "created_at": 1588187671, - "store_id": "your-store-id", - "producer": "stores/store_hash", - "scope": "store/shipment/updated", - "hash": "d17122edf13c9ab42dbad6d27b20bcc2359969a1", - "data": { - "type": "shipment", - "id": 3, - "orderId": 121 - } - } - store/shipment/deleted: |- - { - "created_at": 1588187853, - "store_id": "your-store-id", - "producer": "stores/store_hash", - "scope": "store/shipment/deleted", - "hash": "8f44a0a832b4a1a50c717e26a76cf55633fd90db", - "data": { - "type": "shipment", - "id": "3", - "orderId": 121 - } - } - subscriber_Resp: - description: '' - schema: - allOf: - - $ref: '#/definitions/callback_Base' - - type: object - properties: - data: - $ref: '#/definitions/subscriber_Created' - examples: - store/subscriber/created: - created_at: 1588350739 - store_id: your-store-id - producer: stores/store_hash - scope: store/subscriber/created - hash: 20c29c5a40f23b1ca7111e683f3062ceab48f732 - data: - type: subscriber - id: '2' - store/subscriber/updated: - created_at: 1588352004 - store_id: your-store-id - producer: stores/store_hash - scope: store/subscriber/updated - hash: cb693beb1655af64b9ab88ff6339f2f6f90f28cb - data: - type: subscriber - id: '2' - store/subscriber/deleted: - created_at: 1588352705 - store_id: your-store-id - producer: stores/store_hash - scope: store/subscriber/deleted - hash: f696143917af309148b31978001c90317331a394 - data: - type: subscriber - id: '2' -host: '' -consumes: [] From 3a0b109b0008254d0741e2827a392dac4e206093 Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Wed, 9 Nov 2022 15:49:56 -0600 Subject: [PATCH 057/360] DEVDOCS-4378: [update] Get a Cart, update response body schema (#1014) Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/carts.v3.yml | 1195 ++++++++++++++++++++-------------------- 1 file changed, 612 insertions(+), 583 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index df847223f..3dc5f7603 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: title: Carts version: '' @@ -37,7 +37,7 @@ paths: * If a product has modifiers, use the `option_selections` array to describe the **modifier** selection(s). * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/api-reference/store-management/catalog/product-variant-option-values/getoptionvaluebyid), [modifier value](/api-reference/store-management/catalog/product-modifier-values/getmodifiervaluebyid), or a combination of both. * Redirect URLs can only be generated from carts that were created using the **Server-to-Server Carts API**. - * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront's configuration. + * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront configuration. * To restore a cart that was created by a shopper or through the Storefront Cart API, first recreate the cart using the Server to Server Cart API. * To get cart `promotions` in the response, append the following query parameter to the request URL: `include=promotions.banners`. parameters: @@ -377,7 +377,7 @@ paths: * Redirect URLs can also be created via **Create a Cart** requests by appending `include=redirect_urls`. * A **Carts** redirect URL may only be used once. - * Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront's configuration. + * Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront configuration. * Once a redirect URL has been visited, it will be invalidated and cannot be used again. * If your application requires URLs to be visited more than once, consider generating a fresh one each time you need to restore a cart, and redirecting to the URL from your own application. * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API and the Storefront Cart API. @@ -430,7 +430,7 @@ paths: If the product has modifiers, omit the `variant_id` and instead use the `option_selections` array to describe both the **variant** and the **modifier** selections. - If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the Add Cart Line Items endpoint. + If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the **Add Cart Line Items** endpoint. `custom_items` cannot be updated via the API at this time. To update your cart, add a new updated custom item and delete the outdated one. If your cart contains only one line item, perform the add operation before the delete operation. @@ -942,7 +942,7 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' '422': - description: Unprocessible entity + description: Unprocessable entity content: application/json: schema: @@ -1003,10 +1003,10 @@ components: properties: name: type: string - description: Given name for a gift certificate line item. + description: Given name for the gift certificate line item. theme: type: string - description: 'The theme of the gift certificate.' + description: The theme of the gift certificate. enum: - Birthday - Boy @@ -1068,10 +1068,10 @@ components: properties: name: type: string - description: Given name for a gift certificate line item. + description: Given name for the gift certificate line item. theme: type: string - description: 'The theme of the gift certificate.' + description: The theme of the gift certificate. enum: - Birthday - Boy @@ -1172,7 +1172,7 @@ components: description: Given name for gift certificate line item. theme: type: string - description: 'The theme of the gift certificate.' + description: The theme of the gift certificate. enum: - Birthday - Boy @@ -1277,7 +1277,7 @@ components: description: Given name for gift certificate line item. theme: type: string - description: 'The theme of the gift certificate.' + description: The theme of the gift certificate. enum: - Birthday - Boy @@ -1326,7 +1326,7 @@ components: format: UUID parent_id: type: string - description: Bundled items will have their parent’s item Id. + description: Bundled items will have the ID of their parent item. customer_id: description: ID of the customer to which the cart belongs. type: integer @@ -1386,8 +1386,8 @@ components: discounted_amount: type: number description: The discounted amount. - line_item: - type: object + line_items: + $ref: '#/components/schemas/LineItemsGet' created_time: type: string format: ISO-8601 @@ -1424,6 +1424,7 @@ components: text: description: Text of the banner. type: string + x-examples: {} Currency: type: object description: The currency. This is the same for both the cart and its subsequent checkout. @@ -1434,472 +1435,31 @@ components: description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' title: Currency x-internal: false - LineItem: + LineItems: type: object - title: Line Item + title: line_items + x-internal: false properties: physical_items: type: array items: - allOf: - - type: object - title: Base Item - properties: - id: - type: string - description: The line-item ID. - example: 6e193ce6-f327-4dcc-b75e-72cf6738525e - variant_id: - type: number - description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. - example: 358 - product_id: - type: number - description: The ID of the product. Required in a /POST request. - example: 12 - sku: - type: string - example: SMGREEN - description: SKU of the variant. - name: - type: string - description: The item’s product name. - example: T-Shirt - url: - description: The product URL. - type: string - format: uri - example: 'http://your-store-url.mybigcommerce.com/your-product/' - quantity: - type: number - example: 5 - description: Quantity of this item in the cart. - is_taxable: - type: boolean - example: false - description: Boolean value that specifies whether the item is taxable or not. - image_url: - type: string - format: uri - example: 'https://pathtoproductimage/ProductDefault.png' - description: Image of the product or variant. - discounts: - type: array - items: - type: object - title: Applied Discount - description: |- - Example as part of a cart response: - - ``` - "discounts": [ - { - "id": 2, - "discounted_amount": 2 - }, - { - "id": "coupon", - "discounted_amount": 0.42 - } - ] - ``` - properties: - id: - description: ID of the applied discount. - example: coupon - oneOf: - - type: string - - type: number - discounted_amount: - type: number - description: The discounted amount. - coupons: - type: array - items: - type: object - title: Applied Coupon - properties: - coupons: - type: object - description: Required in a /POST request. - properties: - coupon_code: - type: object - description: The coupon code. - properties: - id: - type: integer - example: 6 - description: Coupon ID. - code: - type: string - example: KV56053388J - description: The coupon code. Required in a /POST request. - name: - type: string - example: Percentage off - description: Name given to the coupon in the control panel. - discountType: - type: integer - description: |- - The discount type. - - - type 0: per_item_discount - - type 1: percentage_discount - - type 2: per_total_discount - - type 3: shipping_discount - - type 4: free_shipping - enum: - - 0 - - 1 - - 2 - - 3 - - 4 - discountAmount: - type: integer - description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' - example: 3 - expiresDate: - type: integer - example: 0 - description: Returns 0 if no expiration date is set. - totalDiscount: - type: number - example: 4.19 - description: The total amount of all discounts applied to the cart. - required: - - coupon_code - discount_amount: - type: number - description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. - example: 4 - coupon_amount: - type: number - description: The total value of all coupons applied to this item. - original_price: - type: number - description: An item’s original price is the same as the product default price in the admin panel. - list_price: - type: number - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - sale_price: - type: number - description: Price of the item after all discounts are applied. (The final price before tax calculation.) - extended_list_price: - type: number - description: List price of the item multiplied by the quantity. - extended_sale_price: - type: number - description: Sale price of the item multiplied by the quantity. - options: - description: The list of selected options for this product. - type: array - items: - type: object - properties: - name: - type: string - description: 'The product option name; for example, Color or Size.' - nameId: - type: number - description: The product option identifier. - value: - type: string - description: 'The product option value; for example, Red or Medium.' - valueId: - type: number - description: The product option value identifier. - title: Product Option - required: - - variant_id - - product_id - - quantity - - type: object - properties: - is_require_shipping: - type: boolean - gift_wrapping: - properties: - name: - type: string - message: - type: string - amount: - type: number - format: float - title: Gift Wrapping - title: Item Physical + $ref: '#/components/schemas/ItemPhysical' digital_items: type: array items: - allOf: - - type: object - title: Base Item - properties: - id: - type: string - description: The line-item ID. - example: 6e193ce6-f327-4dcc-b75e-72cf6738525e - variant_id: - type: number - description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. - example: 358 - product_id: - type: number - description: The ID of the product. Required in a /POST request. - example: 12 - sku: - type: string - example: SMGREEN - description: SKU of the variant. - name: - type: string - description: The item’s product name. - example: T-Shirt - url: - description: The product URL. - type: string - format: uri - example: 'http://your-store-url.mybigcommerce.com/your-product/' - quantity: - type: number - example: 5 - description: Quantity of this item in the cart. - is_taxable: - type: boolean - example: false - description: Whether the item is taxable. - image_url: - type: string - format: uri - example: 'https://pathtoproductimage/ProductDefault.png' - description: Image of the product or variant. - discounts: - type: array - items: - type: object - title: Applied Discount - description: |- - Example as part of a cart response: - - ``` - "discounts": [ - { - "id": 2, - "discounted_amount": 2 - }, - { - "id": "coupon", - "discounted_amount": 0.42 - } - ] - ``` - properties: - id: - description: ID of the applied discount. - example: coupon - oneOf: - - type: string - - type: number - discounted_amount: - type: number - description: The discounted amount. - coupons: - type: array - items: - type: object - title: Applied Coupon - properties: - coupons: - type: object - description: Required in a /POST request. - properties: - coupon_code: - type: object - description: The coupon code. - properties: - id: - type: integer - example: 6 - description: Coupon ID. - code: - type: string - example: KV56053388J - description: The coupon code. Required in a /POST request. - name: - type: string - example: Percentage off - description: Name given to the coupon in the control panel. - discountType: - type: integer - description: |- - The discount type. - - - type 0: per_item_discount - - type 1: percentage_discount - - type 2: per_total_discount - - type 3: shipping_discount - - type 4: free_shipping - enum: - - 0 - - 1 - - 2 - - 3 - - 4 - discountAmount: - type: integer - description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' - example: 3 - expiresDate: - type: integer - example: 0 - description: Returns 0 if no expiration date has been set. - totalDiscount: - type: number - example: 4.19 - description: The total amount of all discounts applied to the cart. - required: - - coupon_code - discount_amount: - type: number - description: The total value of all discounts applied to this item. This includes coupons and cart level discounts. - example: 4 - coupon_amount: - type: number - description: The total value of all coupons applied to this item. - original_price: - type: number - description: An item’s original price is the same as the product default price in the admin panel. - list_price: - type: number - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' - sale_price: - type: number - description: Item’s price after all discounts are applied. (The final price before tax calculation.) - extended_list_price: - type: number - description: List price of the item multiplied by the quantity. - extended_sale_price: - type: number - description: Sale price of the item multiplied by the quantity. - options: - description: The list of selected options for this product. - type: array - items: - type: object - properties: - name: - type: string - description: 'The product option name; for example, Color or Size.' - nameId: - type: number - description: The product option identifier. - value: - type: string - description: 'The product option value; for example, Red or Medium.' - valueId: - type: number - description: The product option value identifier. - title: Product Option - required: - - variant_id - - product_id - - quantity - - type: object - properties: - download_file_urls: - description: URLs to download all product files. - type: array - items: - type: string - format: url - download_page_url: - description: The URL for the combined downloads page. - type: string - format: url - download_size: - description: 'Combined download size, in human-readable style. E.g.: `30MB`.' - type: string - title: Item Digital + $ref: '#/components/schemas/ItemDigital' gift_certificates: type: array items: - type: object - required: - - sender - - recipient - - amount - - theme - properties: - id: - type: string - name: - type: string - description: Name provided for the gift certificate that will appear in the control panel. - theme: - type: string - description: 'The theme of the gift certificate.' - enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl - amount: - type: number - description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' - is_taxable: - type: boolean - sender: - title: Contact Entity - type: object - properties: - name: - type: string - email: - type: string - recipient: - title: Contact Entity - type: object - properties: - name: - type: string - email: - type: string - message: - type: string - description: Limited to 200 characters. - title: Item Gift Certificate - virtual_items: + $ref: '#/components/schemas/ItemGiftCertificate' + custom_items: type: array items: - type: object - title: Item Custom - description: |- - Add a custom item to the shopper’s cart. - - * Custom items are not added to the catalog. - * The price should be set to match the store settings for taxes. - properties: - id: - type: string - description: ID of the custom item. - sku: - type: string - description: SKU of the custom item. - name: - type: string - description: Item name. - quantity: - type: string - list_price: - type: string - description: 'Price of the item. With or without tax, depending on your store’s setup. Optional price override.' + $ref: '#/components/schemas/ItemCustom' required: - physical_items - digital_items - x-internal: false + description: Request body for `PUT` or `POST` requests. ItemGiftCertificate: type: object required: @@ -1912,10 +1472,10 @@ components: type: string name: type: string - description: Provided name that will appear in the control panel. + description: Name provided for the gift certificate that will appear in the control panel. theme: type: string - description: 'The theme of the gift certificate.' + description: The theme of the gift certificate. enum: - Birthday - Boy @@ -1949,6 +1509,43 @@ components: description: Limited to 200 characters. title: Item Gift Certificate x-internal: false + ItemGiftCertificateGet: + type: object + title: Item Gift Certificate + x-internal: false + properties: + id: + type: string + name: + type: string + description: Name provided for the gift certificate that will appear in the control panel. + theme: + type: string + description: 'The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + amount: + type: number + description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' + is_taxable: + type: boolean + sender: + title: Contact Entity + type: object + properties: + name: + type: string + email: + type: string + recipient: + title: Contact Entity + type: object + properties: + name: + type: string + email: + type: string + message: + type: string + description: The message included in the gift certificate is limited to 200 characters. ContactEntity: title: Contact Entity type: object @@ -2048,7 +1645,7 @@ components: id: type: integer example: 6 - description: Coupon ID + description: ID of the coupon. code: type: string example: KV56053388J @@ -2126,7 +1723,8 @@ components: description: 'The product option value; for example, Red or Medium.' valueId: type: number - description: The product option value identifier. + description: The product option value identifier in number format. + example: 128 title: Product Option required: - variant_id @@ -2145,14 +1743,13 @@ components: type: string format: url download_size: - description: 'Combined download size, in human-readable style. E.g.: `30MB`.' + description: 'Specifies the combined download size of all files in human-readable style; for example, `30MB`.' type: string title: Item Digital x-internal: false - ItemPhysical: + ItemDigitalGet: allOf: - - type: object - title: Base Item + - title: Base Item properties: id: type: string @@ -2239,7 +1836,7 @@ components: id: type: integer example: 6 - description: The coupon ID. + description: ID of the coupon. code: type: string example: KV56053388J @@ -2276,8 +1873,6 @@ components: type: number example: 4.19 description: The total amount of all discounts applied to the cart. - required: - - coupon_code discount_amount: type: number description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. @@ -2305,6 +1900,7 @@ components: type: array items: type: object + title: Product Option properties: name: type: string @@ -2317,62 +1913,250 @@ components: description: 'The product option value; for example, Red or Medium.' valueId: type: number - description: The product option value identifier. - title: Product Option - required: - - variant_id - - product_id - - quantity + description: The product option value identifier in number format. + example: 128 + - properties: + download_file_urls: + description: URLs to download all product files. + type: array + items: + type: string + format: url + download_page_url: + description: The URL for the combined downloads page. + type: string + format: url + download_size: + description: 'Specifies the combined download size of all files in human-readable style; for example, `30MB`.' + type: string + title: Item Digital + x-internal: false + type: object + ItemPhysical: + allOf: - type: object + title: Base Item properties: - is_require_shipping: + id: + type: string + description: The line-item ID. + example: 6e193ce6-f327-4dcc-b75e-72cf6738525e + variant_id: + type: number + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. + example: 358 + product_id: + type: number + description: The ID of the product. Required in a /POST request. + example: 12 + sku: + type: string + example: SMGREEN + description: SKU of the variant. + name: + type: string + description: The item’s product name. + example: T-Shirt + url: + description: The product URL. + type: string + format: uri + example: 'http://your-store-url.mybigcommerce.com/your-product/' + quantity: + type: number + example: 5 + description: Quantity of this item in the cart. + is_taxable: type: boolean - gift_wrapping: - properties: - name: - type: string - message: - type: string - amount: - type: number - format: float - title: Gift Wrapping - title: Item Physical - x-internal: false - BaseItem: - type: object - title: Base Item - properties: - id: - type: string - description: The line-item ID. - example: 6e193ce6-f327-4dcc-b75e-72cf6738525e - variant_id: - type: number - description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. - example: 358 - product_id: - type: number - description: The ID of the product. Required in a /POST request. - example: 12 - sku: - type: string - example: SMGREEN - description: SKU of the variant. - name: - type: string - description: The item’s product name. - example: T-Shirt - url: - description: The product URL. - type: string - format: uri - example: 'http://your-store-url.mybigcommerce.com/your-product/' - quantity: - type: number - example: 5 - description: Quantity of this item in the cart. - is_taxable: + example: false + description: Boolean value that specifies whether the item is taxable. + image_url: + type: string + format: uri + example: 'https://pathtoproductimage/ProductDefault.png' + description: Image of the product or variant. + discounts: + type: array + items: + type: object + title: Applied Discount + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` + properties: + id: + description: ID of the applied discount. + example: coupon + oneOf: + - type: string + - type: number + discounted_amount: + type: number + description: The discounted amount. + coupons: + type: array + items: + type: object + title: Applied Coupon + properties: + coupons: + type: object + description: Required in a /POST request. + properties: + coupon_code: + type: object + description: The coupon code. + properties: + id: + type: integer + example: 6 + description: The ID of the coupon. + code: + type: string + example: KV56053388J + description: The coupon code. Required in a /POST request. + name: + type: string + example: Percentage off + description: Name given to the coupon in the control panel. + discountType: + type: integer + description: |- + The discount type. + + - type 0: per_item_discount + - type 1: percentage_discount + - type 2: per_total_discount + - type 3: shipping_discount + - type 4: free_shipping + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + discountAmount: + type: integer + description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' + example: 3 + expiresDate: + type: integer + example: 0 + description: Returns 0 if no expiration date is set. + totalDiscount: + type: number + example: 4.19 + description: The total amount of all discounts applied to the cart. + required: + - coupon_code + discount_amount: + type: number + description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. + example: 4 + coupon_amount: + type: number + description: The total value of all coupons applied to this item. + original_price: + type: number + description: An item’s original price is the same as the product default price in the admin panel. + list_price: + type: number + description: 'The net item price before discounts and coupons are applied. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + sale_price: + type: number + description: Price of the item after all discounts are applied. (The final price before tax calculation.) + extended_list_price: + type: number + description: List price of the item multiplied by the quantity. + extended_sale_price: + type: number + description: Sale price of the item multiplied by the quantity. + options: + description: The list of selected options for this product. + type: array + items: + type: object + title: Product Option + properties: + name: + type: string + description: 'The product option name; for example, Color or Size.' + nameId: + type: number + description: The product option identifier. + value: + type: string + description: 'The product option value; for example, Red or Medium.' + valueId: + type: number + description: The product option value identifier in number format. + example: 128 + required: + - variant_id + - product_id + - quantity + - properties: + is_require_shipping: + type: boolean + gift_wrapping: + title: Gift Wrapping + type: object + properties: + name: + type: string + message: + type: string + amount: + type: number + format: float + title: Item Physical + x-internal: false + BaseItem: + type: object + title: Base Item + properties: + id: + type: string + description: The line-item ID. + example: 6e193ce6-f327-4dcc-b75e-72cf6738525e + variant_id: + type: number + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. + example: 358 + product_id: + type: number + description: The ID of the product. Required in a /POST request. + example: 12 + sku: + type: string + example: SMGREEN + description: SKU of the variant. + name: + type: string + description: The item’s product name. + example: T-Shirt + url: + description: The product URL. + type: string + format: uri + example: 'http://your-store-url.mybigcommerce.com/your-product/' + quantity: + type: number + example: 5 + description: Quantity of this item in the cart. + is_taxable: type: boolean example: false description: Boolean value that specifies whether the item is taxable. @@ -2428,7 +2212,7 @@ components: id: type: integer example: 6 - description: The coupon ID. + description: The ID of the coupon. code: type: string example: KV56053388J @@ -2469,7 +2253,7 @@ components: - coupon_code discount_amount: type: number - description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. + description: The total value of all discounts applied to this item. This includes coupons and cart level discounts. example: 4 coupon_amount: type: number @@ -2479,7 +2263,7 @@ components: description: An item’s original price is the same as the product default price in the admin panel. list_price: type: number - description: 'The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + description: 'The net item price before discounts and coupons are applied. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' sale_price: type: number description: Item’s price after all discounts are applied. (The final price before tax calculation.) @@ -2506,7 +2290,8 @@ components: description: 'The product option value; for example, Red or Medium.' valueId: type: number - description: The product option value identifier. + description: The product option value identifier in number format. + example: 128 title: Product Option required: - variant_id @@ -2515,6 +2300,8 @@ components: x-internal: false ProductOption: type: object + title: Product Option + x-internal: false properties: name: type: string @@ -2527,9 +2314,8 @@ components: description: 'The product option value; for example, Red or Medium.' valueId: type: number - description: The product option value identifier. - title: Product Option - x-internal: false + description: The product option value identifier in number format. + example: 128 AppliedCoupon: title: Applied Coupon type: object @@ -2599,29 +2385,53 @@ components: type: object title: Item Custom description: |- - Add a custom item to the shoppers cart. + Add a custom item to the shopperʼs cart. * Custom items are not added to the catalog. * The price should be set to match the store settings for taxes. + x-internal: false properties: id: type: string - description: Id of the custom item. + description: ID of the custom item. sku: type: string description: SKU of the custom item. name: type: string - description: Item name. + description: Name of the item. quantity: type: string list_price: type: string - description: 'Price of the item, with or without tax, depending on your store’s setup.' + description: Specifies the price of the item. This value can include or exclude tax, depending on the store setup. + ItemCustomGet: + type: object + title: Item Custom + description: |- + Add a custom item to the shopperʼs cart. + + * Custom items are not added to the catalog. + * The price should be set to match the store settings for taxes. x-internal: false + properties: + id: + type: string + description: ID of the custom item. + sku: + type: string + description: SKU of the custom item. + name: + type: string + description: Name of the item. + quantity: + type: string + list_price: + type: string + description: Specifies the price of the item. This value can include or exclude tax, depending on the store setup. cart_PostVariant: type: object - title: cart_PostVariant + title: Item with variant x-internal: false properties: quantity: @@ -2636,7 +2446,7 @@ components: description: Variant ID. Exists only in Catalog V3. name: type: string - description: 'Optionally, provide a value to override the product name.' + description: Optionally, provide a value to override the product name. gift_wrapping: type: object properties: @@ -2675,44 +2485,42 @@ components: - id: 0 message: Happy Birthday cart_PostModifier: - type: array - title: cart_PostModifier - items: - type: object - properties: - quantity: - type: number - product_id: - type: number - list_price: - type: number - description: Optional price override. - name: - type: string - description: 'Optionally, provide a value to override the product name.' - option_selections: - type: array - description: Needed for Catalog V2. - items: - type: object - properties: - option_id: - type: number - option_value: - type: integer - name: - type: string - description: Override for the selected option or modifier name. - value: - type: string - description: Override for the selected option value. - nameId: - type: integer - valueId: - type: integer - required: - - quantity - - product_id + type: object + title: Item with modifier + properties: + quantity: + type: number + product_id: + type: number + list_price: + type: number + description: Optional price override. + name: + type: string + description: Optionally, provide a value to override the product name. + option_selections: + type: array + description: Needed for Catalog V2. + items: + type: object + properties: + option_id: + type: number + option_value: + type: integer + name: + type: string + description: Override for the selected option or modifier name. + value: + type: string + description: Override for the selected option value. + nameId: + type: integer + valueId: + type: integer + required: + - quantity + - product_id description: Product with a modifier. x-internal: false x-examples: @@ -2748,7 +2556,7 @@ components: description: Given name for a gift certificate line item. theme: type: string - description: 'The theme of the gift certificate.' + description: The theme of the gift certificate. enum: - Birthday - Boy @@ -2815,7 +2623,7 @@ components: description: Given name for gift certificate line item. theme: type: string - description: 'The theme of the gift certificate.' + description: The theme of the gift certificate. enum: - Birthday - Boy @@ -2861,7 +2669,8 @@ components: $ref: '#/components/schemas/cart_PostCustomItem' cart_PostCustomItem: type: array - title: cart_PostCustomItem + title: Custom item + x-internal: false items: type: object properties: @@ -2873,7 +2682,12 @@ components: type: number list_price: type: number - x-internal: false + x-examples: + example-1: + - sku: string + name: string + quantity: 0 + list_price: 0 CartSettings: description: Represents all settings related to the shopping cart functionality of a store. type: object @@ -2940,6 +2754,221 @@ components: type: object x-tags: - Models + LineItemsGet: + title: LineItemsGet + x-stoplight: + id: gpu4xqhyg9dtj + type: object + properties: + physical_items: + type: array + items: + $ref: '#/components/schemas/ItemPhysicalGet' + digital_items: + type: array + items: + $ref: '#/components/schemas/ItemDigitalGet' + gift_certificates: + type: array + items: + $ref: '#/components/schemas/ItemGiftCertificateGet' + custom_items: + type: array + items: + $ref: '#/components/schemas/ItemCustomGet' + x-examples: {} + description: '`GET`' + ItemPhysicalGet: + allOf: + - type: object + title: Base Item + properties: + id: + type: string + description: The line-item ID. + example: 6e193ce6-f327-4dcc-b75e-72cf6738525e + variant_id: + type: number + description: The ID of the variant. Required in the /PUT or /POST request if the product has variants. + example: 358 + product_id: + type: number + description: The ID of the product. Required in a /POST request. + example: 12 + sku: + type: string + example: SMGREEN + description: SKU of the variant. + name: + type: string + description: The item’s product name. + example: T-Shirt + url: + description: The product URL. + type: string + format: uri + example: 'http://your-store-url.mybigcommerce.com/your-product/' + quantity: + type: number + example: 5 + description: Quantity of this item in the cart. + is_taxable: + type: boolean + example: false + description: Boolean value that specifies whether the item is taxable. + image_url: + type: string + format: uri + example: 'https://pathtoproductimage/ProductDefault.png' + description: Image of the product or variant. + discounts: + type: array + items: + type: object + title: Applied Discount + description: |- + Example as part of a cart response: + + ``` + "discounts": [ + { + "id": 2, + "discounted_amount": 2 + }, + { + "id": "coupon", + "discounted_amount": 0.42 + } + ] + ``` + properties: + id: + description: ID of the applied discount. + example: coupon + oneOf: + - type: string + - type: number + discounted_amount: + type: number + description: The discounted amount. + coupons: + type: array + items: + type: object + title: Applied Coupon + properties: + coupons: + type: object + description: Required in a /POST request. + properties: + coupon_code: + type: object + description: The coupon code. + properties: + id: + type: integer + example: 6 + description: The ID of the coupon. + code: + type: string + example: KV56053388J + description: The coupon code. Required in a /POST request. + name: + type: string + example: Percentage off + description: Name given to the coupon in the control panel. + discountType: + type: integer + description: |- + The discount type. + + - type 0: per_item_discount + - type 1: percentage_discount + - type 2: per_total_discount + - type 3: shipping_discount + - type 4: free_shipping + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + discountAmount: + type: integer + description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' + example: 3 + expiresDate: + type: integer + example: 0 + description: Returns 0 if no expiration date is set. + totalDiscount: + type: number + example: 4.19 + description: The total amount of all discounts applied to the cart. + required: + - coupon_code + discount_amount: + type: number + description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. + example: 4 + coupon_amount: + type: number + description: The total value of all coupons applied to this item. + original_price: + type: number + description: An item’s original price is the same as the product default price in the admin panel. + list_price: + type: number + description: 'The net item price before discounts and coupons are applied. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel.' + sale_price: + type: number + description: Price of the item after all discounts are applied. (The final price before tax calculation.) + extended_list_price: + type: number + description: List price of the item multiplied by the quantity. + extended_sale_price: + type: number + description: Sale price of the item multiplied by the quantity. + options: + description: The list of selected options for this product. + type: array + items: + type: object + title: Product Option + properties: + name: + type: string + description: 'The product option name; for example, Color or Size.' + nameId: + type: number + description: The product option identifier. + value: + type: string + description: 'The product option value; for example, Red or Medium.' + valueId: + type: number + description: The product option value identifier in number format. + example: 128 + required: + - variant_id + - product_id + - quantity + - properties: + is_require_shipping: + type: boolean + gift_wrapping: + title: Gift Wrapping + type: object + properties: + name: + type: string + message: + type: string + amount: + type: number + format: float + title: Item Physical Get + x-internal: false responses: CartResponse: description: '' From ecd7bfdcae8cbc6e051b7b8d71aed980162cc5b5 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Mon, 14 Nov 2022 11:28:03 -0600 Subject: [PATCH 058/360] DEVDOCS-4553: [update] Revise, clarify timestamp format (#1029) --- reference/catalog.v3.yml | 327 +++++++++++++++++++++++++-------------- reference/sites.v3.yml | 4 +- 2 files changed, 216 insertions(+), 115 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 844d075dc..3d76762cd 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -689,8 +689,8 @@ paths: id: 0 product_id: 0 length: string - date_created: '2018-08-15T14:49:05.000Z' - date_modified: '2018-08-24T14:41:00.000Z' + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' id: 1 base_variant_id: 0 calculated_price: 0 @@ -998,7 +998,7 @@ paths: - string meta_description: string view_count: 0 - preorder_release_date: '2019-08-24T14:15:22.000Z' + preorder_release_date: '2019-08-24T14:15:22+00:00' preorder_message: string is_preorder_only: true is_price_hidden: true @@ -1040,7 +1040,7 @@ paths: url_standard: string url_thumbnail: string url_tiny: string - date_modified: '2019-08-24T14:15:22.000Z' + date_modified: '2019-08-24T14:15:22+00:00' videos: - title: string description: string @@ -1050,8 +1050,8 @@ paths: id: 0 product_id: 0 length: string - date_created: '2018-08-15T14:49:05.000Z' - date_modified: '2018-08-24T14:41:00.000Z' + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' id: 1 base_variant_id: 0 calculated_price: 0 @@ -1066,8 +1066,8 @@ paths: checkbox_label: string date_limited: true date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00.000Z' - date_latest_value: '2019-08-24T00:00:00.000Z' + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' file_types_mode: specific file_types_supported: - 'images, documents, other' @@ -1104,8 +1104,8 @@ paths: checkbox_label: string date_limited: true date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00.000Z' - date_latest_value: '2019-08-24T00:00:00.000Z' + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' file_types_mode: specific file_types_supported: - 'images, documents, other' @@ -1503,10 +1503,10 @@ paths: page_title: '' meta_keywords: [] meta_description: '' - date_created: '2018-08-15T14:48:46.000Z' - date_modified: '2018-09-05T20:42:07.000Z' + date_created: '2018-08-15T14:48:46+00:00' + date_modified: '2018-09-05T20:42:07+00:00' view_count: 10 - preorder_release_date: '2018-09-05T20:42:07.000Z' + preorder_release_date: '2018-09-05T20:42:07+00:00' preorder_message: '' is_preorder_only: false is_price_hidden: false @@ -1656,7 +1656,7 @@ paths: - string meta_description: string view_count: 0 - preorder_release_date: '2019-08-24T14:15:22.000Z' + preorder_release_date: '2019-08-24T14:15:22+00:00' preorder_message: string is_preorder_only: true is_price_hidden: true @@ -1698,7 +1698,7 @@ paths: url_standard: string url_thumbnail: string url_tiny: string - date_modified: '2019-08-24T14:15:22.000Z' + date_modified: '2019-08-24T14:15:22+00:00' videos: - title: string description: string @@ -1708,8 +1708,8 @@ paths: id: 0 product_id: 0 length: string - date_created: '2018-08-15T14:49:05.000Z' - date_modified: '2018-08-24T14:41:00.000Z' + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' id: 1 base_variant_id: 0 calculated_price: 0 @@ -1724,8 +1724,8 @@ paths: checkbox_label: string date_limited: true date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00.000Z' - date_latest_value: '2019-08-24T00:00:00.000Z' + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' file_types_mode: specific file_types_supported: - 'images, documents, other' @@ -1762,8 +1762,8 @@ paths: checkbox_label: string date_limited: true date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00.000Z' - date_latest_value: '2019-08-24T00:00:00.000Z' + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' file_types_mode: specific file_types_supported: - 'images, documents, other' @@ -2058,7 +2058,7 @@ paths: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31.000Z' + date_modified: '2018-08-15T14:48:31+00:00' - id: 383 product_id: 158 is_thumbnail: false @@ -2069,7 +2069,7 @@ paths: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31.000Z' + date_modified: '2018-08-15T14:48:31+00:00' meta: pagination: total: 2 @@ -2410,7 +2410,7 @@ paths: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07.000Z' + date_modified: '2018-09-13T15:57:07+00:00' meta: {} '400': description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. @@ -2550,7 +2550,7 @@ paths: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07.000Z' + date_modified: '2018-09-13T15:57:07+00:00' meta: {} '404': description: | @@ -2746,7 +2746,7 @@ paths: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07.000Z' + date_modified: '2018-09-13T15:57:07+00:00' meta: {} '201': description: Created @@ -3731,6 +3731,40 @@ paths: option_id: 220 option_display_name: Color meta: {} + examples: + example-1: + value: + data: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} '207': description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' content: @@ -4228,13 +4262,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -4322,8 +4356,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -4474,8 +4508,8 @@ paths: resource_type: product resource_id: 158 description: Where products are located - date_created: '2018-09-13T16:42:37.000Z' - date_modified: '2018-09-13T16:42:37.000Z' + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' meta: {} '404': description: | @@ -4575,8 +4609,8 @@ paths: resource_type: product resource_id: 158 description: Where products are located - date_created: '2018-09-13T16:42:37.000Z' - date_modified: '2018-09-13T16:42:37.000Z' + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' meta: {} '404': description: | @@ -5039,13 +5073,13 @@ paths: description: | (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. format: date-time - example: '2018-08-31T00:00:00.000Z' + example: '2018-08-31T00:00:00+00:00' date_latest_value: type: string description: | (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. format: date-time - example: '2019-01-01T00:00:00.000Z' + example: '2019-01-01T00:00:00+00:00' file_types_mode: type: string description: | @@ -5811,13 +5845,13 @@ paths: description: | (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. format: date-time - example: '2018-08-31T00:00:00.000Z' + example: '2018-08-31T00:00:00+00:00' date_latest_value: type: string description: | (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. format: date-time - example: '2019-01-01T00:00:00.000Z' + example: '2019-01-01T00:00:00+00:00' file_types_mode: type: string description: | @@ -7346,13 +7380,13 @@ paths: description: | (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. format: date-time - example: '2018-08-31T00:00:00.000Z' + example: '2018-08-31T00:00:00+00:00' date_latest_value: type: string description: | (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. format: date-time - example: '2019-01-01T00:00:00.000Z' + example: '2019-01-01T00:00:00+00:00' file_types_mode: type: string description: | @@ -12397,8 +12431,8 @@ paths: resource_type: product resource_id: 158 description: Where products are located - date_created: '2018-09-13T16:42:37.000Z' - date_modified: '2018-09-13T16:42:37.000Z' + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' meta: {} '409': description: | @@ -12529,13 +12563,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -12623,8 +12657,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -12722,13 +12756,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -12816,8 +12850,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -15143,13 +15177,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -15237,8 +15271,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -15378,13 +15412,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -15472,8 +15506,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -15570,13 +15604,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -15664,8 +15698,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -17212,13 +17246,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -17306,8 +17340,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -17317,6 +17351,21 @@ paths: resource_type: product value: 'Shelf 3, Bin 5' meta: {} + examples: + example-1: + value: + data: + date_created: '2018-05-07T20:14:17+00:00' + date_modified: '2018-05-07T20:14:17+00:00' + description: Location in the warehouse + id: 6 + key: Location + namespace: Warehouse Locations + permission_set: app_only + resource_id: 111 + resource_type: category + value: 4HG + meta: {} '409': description: | The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. @@ -17447,13 +17496,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -17541,8 +17590,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -17640,13 +17689,13 @@ paths: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -17734,8 +17783,8 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -18707,10 +18756,10 @@ paths: example: '7' oldest_variant_date: type: string - example: '2018-08-15T00:00:00.000Z' + example: '2018-08-15T00:00:00+00:00' newest_variant_date: type: string - example: '2018-08-16T00:00:00.000Z' + example: '2018-08-16T00:00:00+00:00' description: Catalog Summary object describes a lightweight summary of the catalog. meta: title: Meta @@ -21263,6 +21312,26 @@ components: example: '012345678905' description: Common Variant properties. x-internal: false + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' productVariant_Full: title: productVariant_Full allOf: @@ -21292,6 +21361,38 @@ components: calculated_weight: type: number x-internal: false + description: '' + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 productVariant_Post: title: productVariant_Post description: | @@ -22362,10 +22463,10 @@ components: example: '7' oldest_variant_date: type: string - example: '2018-08-15T00:00:00.000Z' + example: '2018-08-15T00:00:00+00:00' newest_variant_date: type: string - example: '2018-08-16T00:00:00.000Z' + example: '2018-08-16T00:00:00+00:00' description: Catalog Summary object describes a lightweight summary of the catalog. x-internal: false metafield_Base: @@ -22459,13 +22560,13 @@ components: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' x-internal: false complexRule_Base: @@ -23119,13 +23220,13 @@ components: description: | The date on which the product was created. format: date-time - example: '2018-08-15T14:49:05.000Z' + example: '2018-08-15T14:49:05+00:00' date_modified: type: string description: | The date on which the product was modified. format: date-time - example: '2018-08-24T14:41:00.000Z' + example: '2018-08-24T14:41:00+00:00' id: minimum: 1 type: integer @@ -24088,13 +24189,13 @@ components: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' x-internal: false productVariant_Put: title: productVariant_Put @@ -24364,13 +24465,13 @@ components: format: date-time description: | Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string format: date-time description: | Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' required: - permission_set - namespace @@ -24547,13 +24648,13 @@ components: format: date-time description: | Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string format: date-time description: | Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' title: metafield_Full x-tags: - Models @@ -25662,10 +25763,10 @@ components: example: '7' oldest_variant_date: type: string - example: '2018-08-15T00:00:00.000Z' + example: '2018-08-15T00:00:00+00:00' newest_variant_date: type: string - example: '2018-08-16T00:00:00.000Z' + example: '2018-08-16T00:00:00+00:00' description: Catalog Summary object describes a lightweight summary of the catalog. meta: title: Meta @@ -26515,13 +26616,13 @@ components: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: Common Metafield properties. meta: $ref: '#/components/schemas/metaCollection_Full' @@ -26588,13 +26689,13 @@ components: description: | Date and time of the metafield's creation. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. format: date-time - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' description: maxLength: 255 minLength: 0 @@ -26682,8 +26783,8 @@ components: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35.000Z' - date_modified: '2021-08-06T19:15:35.000Z' + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' description: Where products are located id: 4 key: location_id @@ -28574,7 +28675,7 @@ components: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31.000Z' + date_modified: '2018-08-15T14:48:31+00:00' - id: 383 product_id: 158 is_thumbnail: false @@ -28585,7 +28686,7 @@ components: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31.000Z' + date_modified: '2018-08-15T14:48:31+00:00' meta: pagination: total: 2 @@ -28718,7 +28819,7 @@ components: url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07.000Z' + date_modified: '2018-09-13T15:57:07+00:00' meta: {} ProductResponse: description: '' @@ -28782,7 +28883,7 @@ components: - string meta_description: string view_count: 0 - preorder_release_date: '2019-08-24T14:15:22.000Z' + preorder_release_date: '2019-08-24T14:15:22+00:00' preorder_message: string is_preorder_only: true is_price_hidden: true @@ -28824,7 +28925,7 @@ components: url_standard: string url_thumbnail: string url_tiny: string - date_modified: '2019-08-24T14:15:22.000Z' + date_modified: '2019-08-24T14:15:22+00:00' videos: - title: string description: string @@ -28834,8 +28935,8 @@ components: id: 0 product_id: 0 length: string - date_created: '2018-08-15T14:49:05.000Z' - date_modified: '2018-08-24T14:41:00.000Z' + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' id: 1 base_variant_id: 0 calculated_price: 0 @@ -28850,8 +28951,8 @@ components: checkbox_label: string date_limited: true date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00.000Z' - date_latest_value: '2019-08-24T00:00:00.000Z' + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' file_types_mode: specific file_types_supported: - 'images, documents, other' @@ -28888,8 +28989,8 @@ components: checkbox_label: string date_limited: true date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00.000Z' - date_latest_value: '2019-08-24T00:00:00.000Z' + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' file_types_mode: specific file_types_supported: - 'images, documents, other' @@ -29729,13 +29830,13 @@ components: format: date-time description: | Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' updated_at: type: string format: date-time description: | Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' required: - permission_set - namespace @@ -29873,13 +29974,13 @@ components: format: date-time description: | Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' updated_at: type: string format: date-time description: | Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17.000Z' + example: '2018-05-07T20:14:17+00:00' required: - permission_set - namespace @@ -29901,8 +30002,8 @@ components: resource_type: product resource_id: 158 description: Where products are located - date_created: '2018-09-13T16:42:37.000Z' - date_modified: '2018-09-13T16:42:37.000Z' + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' meta: {} betaCategoryCollectionResponse: description: '' diff --git a/reference/sites.v3.yml b/reference/sites.v3.yml index fda9e9433..1fc1a85da 100644 --- a/reference/sites.v3.yml +++ b/reference/sites.v3.yml @@ -719,6 +719,8 @@ components: x-internal: false _site: type: object + description: '' + title: '' properties: id: type: integer @@ -733,12 +735,10 @@ components: type: string description: 'The date-time that this site was created, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.' example: '2022-01-04T04:15:50.000Z' - format: date-time updated_at: type: string description: 'The date-time that this site was last updated, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.' example: '2022-01-04T04:15:50.000Z' - format: date-time ssl_status: type: string enum: From 88599824f9e32c4ee101c4f48665b4a9cda41f5f Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 14 Nov 2022 11:49:55 -0600 Subject: [PATCH 059/360] DEVDOCS-4464: [edit] Settings v3, modify storefront product response (#1007) * Modified models/email_templates/_all.yml (#994) * DEVDOCS-4445-add-brand-item (#995) * DEVDOCS-4445-add-brand-item * Added brand to invoice_email.yml Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> * Modify Settings v3 storefront product response * Update settings.v3.yml * Add body response to StorefrontProductSettings Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/settings.v3.yml | 65 ++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index ed7d02683..fbd026ac2 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -2016,32 +2016,67 @@ components: StorefrontProductSettings: type: object properties: - default_preorder_message: - type: string - example: preorder message - show_add_to_cart_link: + show_product_price: type: boolean - show_add_to_cart_qty_box: + description: | + Determines the visibility of the product price. + example: true + show_product_sku: type: boolean - show_add_to_wishlist: + description: | + Determines the visibility of the product SKU. + example: true + show_product_weight: type: boolean - show_breadcrumbs_product_pages: - type: string - enum: - - show_one - - show_none + description: | + Determines the visibility of the product's weight. + example: false show_product_brand: type: boolean - show_product_price: + description: | + Determines the visibility of the product's brand. + example: true + show_product_shipping: type: boolean + description: | + Determines the visibility of the product's shipping option. + example: false show_product_rating: type: boolean - show_product_shipping: + description: | + Determines the visibility of the product's rating. + example: true + show_add_to_cart_link: type: boolean - show_product_sku: + description: | + Determines the visibility of the Add to Cart link. + example: true + default_preorder_message: + type: string + description: | + The product's pre-order message. If undefined, the message defaults to the storewide setting. + example: Preorder message + show_breadcrumbs_product_pages: + type: string + enum: + - show_one + - show_none + example: show_one + show_add_to_cart_qty_box: type: boolean - show_product_weight: + description: | + Determines the visibility of the Add to Cart quantity setting. + example: true + show_add_to_wishlist: type: boolean + description: | + Determines the visibilty of the Add to Wishlist setting. + example: true + hide_price_from_guests: + type: boolean + description: | + Determines the visibility of the price. + example: false title: StorefrontProductSettings x-tags: - Models From c2a079cebb77b7d05524a5f68bc34a206de95a07 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 14 Nov 2022 17:46:46 -0600 Subject: [PATCH 060/360] DEVDOCS-4330: [maintenance] Shipping v2, clarify zones schemas (#966) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> --- reference/shipping.v2.yml | 428 ++++++++++++++++++++++---------------- 1 file changed, 254 insertions(+), 174 deletions(-) diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index e2a32b08f..be7db651b 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -1,7 +1,12 @@ -openapi: 3.0.0 +openapi: '3.0.3' info: version: '' title: Shipping V2 + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com description: |- Manage shipping zones, shipping methods, and shipping carrier connections. @@ -19,6 +24,16 @@ info: ### Shipping Carrier Connections Carrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier. +servers: + - url: 'https://api.bigcommerce.com' + description: BigCommerce API Gateway +security: + - X-Auth-Token: [] +tags: + - name: Shipping Method + - name: Shipping Carrier + - name: Shipping Zones + - name: Shipping Products Custom Information paths: '/stores/{store_hash}/v2/shipping/zones': get: @@ -58,7 +73,7 @@ paths: example: 1 name: type: string - description: Zone name. Required for /PUT + description: Zone name. Required for PUT requests. example: United States type: type: string @@ -104,18 +119,27 @@ paths: handling_fees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -133,9 +157,6 @@ paths: enabled: false minimum_sub_total: '0.0000' exclude_fixed_shipping_products: false - handling_fees: - display_separately: true - fixed_surcharge: '0.0000' enabled: true - id: 2 name: Australia @@ -147,9 +168,6 @@ paths: enabled: false minimum_sub_total: '0.0000' exclude_fixed_shipping_products: false - handling_fees: - display_separately: true - fixed_surcharge: '0.0000' enabled: true Response Schema: examples: @@ -214,7 +232,7 @@ paths: properties: name: type: string - description: Zone name. Required for /PUT + description: Zone name. Required for PUT requests. example: United States type: type: string @@ -260,18 +278,27 @@ paths: handling_fees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -365,18 +392,27 @@ paths: handling_fees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -479,18 +515,27 @@ paths: handling_fees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -512,7 +557,7 @@ paths: - name: id in: path required: true - description: Id of the shipping zone. + description: ID of the shipping zone. schema: type: integer exclusiveMinimum: false @@ -540,11 +585,12 @@ paths: properties: id: type: integer - description: Zone Id. READ-ONLY + description: Zone ID. Read-only. example: 1 + readOnly: true name: type: string - description: Zone name. Required for /PUT + description: Zone name. Required for PUT requests. example: United States type: type: string @@ -590,18 +636,27 @@ paths: handling_fees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -620,11 +675,12 @@ paths: properties: id: type: integer - description: Zone Id. READ-ONLY + description: Zone ID. Read-only. example: 1 + readOnly: true name: type: string - description: Zone name. Required for /PUT + description: Zone name. Required for PUT requests. example: United States type: type: string @@ -670,18 +726,27 @@ paths: handling_fees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -698,7 +763,7 @@ paths: - name: id in: path required: true - description: Id of the shipping zone. + description: ID of the shipping zone. schema: type: integer exclusiveMinimum: false @@ -740,7 +805,7 @@ paths: type: string '/stores/{store_hash}/v2/shipping/zones/{zone_id}/methods': get: - description: 'Returns a list of *Shipping Methods* in a zone. Default sorting is by shipping-method id, from lowest to highest.' + description: 'Returns a list of *Shipping Methods* in a zone. Default sorting is by shipping method ID, from lowest to highest.' summary: Get All Shipping Methods in a Zone tags: - Shipping Method @@ -748,7 +813,7 @@ paths: - name: zone_id in: path required: true - description: Id of the shipping zone. + description: ID of the shipping zone. schema: type: integer exclusiveMinimum: false @@ -866,7 +931,7 @@ paths: IsMultiContentStreaming: false operationId: getShippingMethodsZone post: - description: "Creates a *Shipping Method* within a shipping zone. Real Time Carrier\nConnections are also supported by this endpoint. \n\n\n## Carrier Configurations – Current\n\n\nThis section provides a sample request and a carrier-specific object/property model, for each supported carrier.\n \n### USPS by Endicia\n\n\n#### Sample Request\n\n\n\n```json\n\n{\n \"name\": \"USPS by Endicia\",\n \"type\": \"endicia\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\" : [\"PriorityExpress\",\"Priority\", \"PriorityMailExpressInternational\"],\n\t\t\t\"packaging_type\" : \"LargeFlatRateBox\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n### USPS by Endicia Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PriorityExpress <br> PriorityMailExpressInternational <br> FirstClassPackageInternationalService <br> Priority <br> PriorityMailInternational <br> First <br> ParcelSelect <br> MediaMail |\n| packaging_type | array | FlatRateLegalEnvelope <br> FlatRatePaddedEnvelope <br> Parcel <br> SmallFlatRateBox <br> MediumFlatRateBox <br> LargeFlatRateBox <br> FlatRateEnvelope <br> RegionalRateBoxA <br> RegionalRateBoxB |\n|show_transit_time | boolean | true <br> false |\n\n\n\n### FedEx\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"FEDEX\",\n \"type\": \"fedex\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"PRIORITY_OVERNIGHT\",\n\t\t\t\t\"FEDEX_2_DAY\"\n ],\n \"dropoff_type\": \"REGULAR_PICKUP\",\n \"packaging_type\": \"FEDEX_ENVELOPE\",\n \"packing_method\": \"SEPARATE\",\n \"rate_type\": \"NONE\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\"\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### FedEx Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PRIORITY_OVERNIGHT <br> STANDARD_OVERNIGHT <br> FIRST_OVERNIGHT <br> FEDEX_2_DAY <br> FEDEX_EXPRESS_SAVER <br> INTERNATIONAL_PRIORITY <br> INTERNATIONAL_ECONOMY <br> INTERNATIONAL_FIRST <br> FEDEX_1_DAY_FREIGHT <br> FEDEX_2_DAY_FREIGHT <br> FEDEX_3_DAY_FREIGHT <br> FEDEX_GROUND <br> GROUND_HOME_DELIVERY <br> INTERNATIONAL_PRIORITY_FREIGHT <br> INTERNATIONAL_ECONOMY_FREIGHT <br> EUROPE_FIRST_INTERNATIONAL_PRIORITY |\n| dropoff_type | string | REGULAR_PICKUP <br> REQUEST_COURIER <br> DROP_BOX <br> BUSINESS_SERVICE_CENTER <br> STATION |\n| packaging_type | string | FEDEX_ENVELOPE <br> FEDEX_PAK <br> FEDEX_BOX <br> FEDEX_TUBE <br> FEDEX_10KG_BOX <br> FEDEX_25KG_BOX <br> YOUR_PACKAGING |\n| packing_method | string | SEPARATE <br> COMBINED |\n| rate_type | string | NONE <br> LIST |\n| include_package_value | boolean | true <br> false |\n| destination_type | string | residential <br> business |\n\n\n### UPS Ready\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"UPS ready\",\n \"type\": \"upsready\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"2nd_Day_Air\",\"Standard\"\n ],\n \"packaging_type\": \"21\",\n \"packing_method\": \"separate\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### UPS Ready Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 2nd_Day_Air <br> 2nd_Day_Air_AM <br> 3_Day_Select <br> Expedited <br> Express <br> Express_Plus <br> Express_Saver <br> Express_Early_AM <br> Ground <br> Next_Day_Air <br> Next_Day_Air_Early_AM <br> Next_Day_Air_Saver <br> Saver <br> Standard <br> Today_Dedicated_Courier <br> Today_Express <br> Today_Express_Saver <br> Today_Intercity <br> Today_Standard <br> Worldwide_Expedited <br> Worldwide_Express <br> Worldwide_Express_Plus <br> Worldwide_Express_Saver <br> Worldwide_Saver |\n| destination_type | string | residential <br> business |\n| packing_method | string | separate <br> combined |\n| packaging_type | string (only codes allowed) | 21: UPS® Express Box <br> 24: UPS® 25 KG Box <br> 25: UPS® 10 KG Box <br> 30: Pallet <br> 01: UPS® Letter <br> 02: Customer Supplied Package <br> 03: Tube <br> 04: PAK <br> 2a: Small Express Box <br> 2b: Medium Express Box <br> 2c: Large Express Box |\n| include_package_value | boolean | true <br> false |\n| show_transit_time | boolean | true <br> false |\n\n\n### Canada Post\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Canada Post\",\n \"type\": \"canadapost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"DOM.RP\",\"DOM.EP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Canada Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | DOM.RP <br> DOM.EP <br> DOM.XP <br> DOM.XP.CERT <br> DOM.PC DOM.LIB <br> USA.EP <br> USA.PW.ENV <br> USA.PW.PAK <br> USA.PW.PARCEL <br> USA.SP.AIR <br> USA.TP <br> USA.TP.LVM <br> USA.XP <br> INT.XP <br> INT.IP.AIR <br> INT.IP.SURF <br> INT.PW.ENV <br> INT.PW.PAK <br> INT.PW.PARCEL <br> INT.SP.AIR <br> INT.SP.SURF <br> INT.TP |\n\n\n### Australia Post\n\n\n```json\n\n{\n \"name\": \"Australia Post\",\n \"type\": \"auspost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"AUS_PARCEL_REGULAR\",\n\t\t\t\t\"AUS_PARCEL_EXPRESS\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Australia Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | AUS_LETTER_REGULAR_SMALL <br> AUS_LETTER_REGULAR_Large <br> AUS_LETTER_EXPRESS_SMALL <br> AUS_LETTER_EXPRESS_MEDIUM <br> AUS_LETTER_EXPRESS_LARGE <br> AUS_PARCEL_REGULAR <br> AUS_PARCEL_REGULAR_SATCHEL_500G <br> AUS_PARCEL_REGULAR_SATCHEL_3KG <br> AUS_PARCEL_REGULAR_SATCHEL_5KG <br> AUS_PARCEL_EXPRESS <br> AUS_PARCEL_EXPRESS_SATCHEL_500G <br> AUS_PARCEL_EXPRESS_SATCHEL_3KG <br> AUS_PARCEL_EXPRESS_SATCHEL_5KG <br> AUS_PARCEL_COURIER <br> AUS_PARCEL_COURIER_SATCHEL_MEDIUM <br> INT_PARCEL_COR_OWN_PACKAGING <br> INT_PARCEL_EXP_OWN_PACKAGING <br> INT_PARCEL_STD_OWN_PACKAGING <br> INT_PARCEL_AIR_OWN_PACKAGING <br> INT_PARCEL_SEA_OWN_PACKAGING |\n\n\n### Royal Mail\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Royal Mail\",\n \"type\": \"royalmail\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"StandardFirstClass\",\n\t\t\t\t\"StandardSecondClass\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Royal Mail Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | SpecialDelivery1pm <br> SpecialDelivery9am <br> SpecialDelivery1pmSaturday <br> SpecialDelivery9amSaturday <br> SignedForFirstClass <br> SignedForSecondClass <br> Express9 <br> Express10 <br> ExpressAM <br> Express24 <br> Express48 <br> StandardFirstClass <br> StandardSecondClass <br> InternationalStandard <br> InternationalTracked <br> InternationalEconomy |\n\n\n### Zoom2U\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Zoom2U\",\n \"type\": \"zoom2u\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"3_hour\",\n\t\t\t\t\"Same_day\",\n\t\t\t\t\"VIP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Zoom2U Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 3_hour <br> Same_day <br> VIP|\n\n\n\n### Settings Objects \n\n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n\n### perorder Object – Properties \n\n\nObject model for flat-rate shipping quotes per order.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n\n```\n\n\n### peritem Object – Properties \n\n\nObject model for flat-rate shipping quotes per item ordered.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n\n```\n\n\n### weight Object – Properties \n\n\nObject model for shipping quotes by weight.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n\n#### JSON Example \n \n```json\n\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n\n```\n\n\n### total Object – Properties \n\n\nObject model for shipping quotes by order's total value.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping-cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n\n#### JSON Example \n\n\nThis example sets free shipping above a certain order total:\n\n\n```json\n\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n\n```\n\n\n### Range Object – Properties \n\n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n\n```" + description: "Creates a *Shipping Method* within a shipping zone. Real Time Carrier\nConnections are also supported by this endpoint. \n\n\n## Carrier Configurations – Current\n\n\nThis section provides a sample request and a carrier-specific object/property model, for each supported carrier.\n \n### USPS by Endicia\n\n\n#### Sample Request\n\n\n\n```json\n\n{\n \"name\": \"USPS by Endicia\",\n \"type\": \"endicia\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\" : [\"PriorityExpress\",\"Priority\", \"PriorityMailExpressInternational\"],\n\t\t\t\"packaging_type\" : \"LargeFlatRateBox\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n### USPS by Endicia Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PriorityExpress <br> PriorityMailExpressInternational <br> FirstClassPackageInternationalService <br> Priority <br> PriorityMailInternational <br> First <br> ParcelSelect <br> MediaMail |\n| packaging_type | array | FlatRateLegalEnvelope <br> FlatRatePaddedEnvelope <br> Parcel <br> SmallFlatRateBox <br> MediumFlatRateBox <br> LargeFlatRateBox <br> FlatRateEnvelope <br> RegionalRateBoxA <br> RegionalRateBoxB |\n|show_transit_time | boolean | true <br> false |\n\n\n\n### FedEx\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"FEDEX\",\n \"type\": \"fedex\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"PRIORITY_OVERNIGHT\",\n\t\t\t\t\"FEDEX_2_DAY\"\n ],\n \"dropoff_type\": \"REGULAR_PICKUP\",\n \"packaging_type\": \"FEDEX_ENVELOPE\",\n \"packing_method\": \"SEPARATE\",\n \"rate_type\": \"NONE\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\"\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### FedEx Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PRIORITY_OVERNIGHT <br> STANDARD_OVERNIGHT <br> FIRST_OVERNIGHT <br> FEDEX_2_DAY <br> FEDEX_EXPRESS_SAVER <br> INTERNATIONAL_PRIORITY <br> INTERNATIONAL_ECONOMY <br> INTERNATIONAL_FIRST <br> FEDEX_1_DAY_FREIGHT <br> FEDEX_2_DAY_FREIGHT <br> FEDEX_3_DAY_FREIGHT <br> FEDEX_GROUND <br> GROUND_HOME_DELIVERY <br> INTERNATIONAL_PRIORITY_FREIGHT <br> INTERNATIONAL_ECONOMY_FREIGHT <br> EUROPE_FIRST_INTERNATIONAL_PRIORITY |\n| dropoff_type | string | REGULAR_PICKUP <br> REQUEST_COURIER <br> DROP_BOX <br> BUSINESS_SERVICE_CENTER <br> STATION |\n| packaging_type | string | FEDEX_ENVELOPE <br> FEDEX_PAK <br> FEDEX_BOX <br> FEDEX_TUBE <br> FEDEX_10KG_BOX <br> FEDEX_25KG_BOX <br> YOUR_PACKAGING |\n| packing_method | string | SEPARATE <br> COMBINED |\n| rate_type | string | NONE <br> LIST |\n| include_package_value | boolean | true <br> false |\n| destination_type | string | residential <br> business |\n\n\n### UPS Ready\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"UPS ready\",\n \"type\": \"upsready\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"2nd_Day_Air\",\"Standard\"\n ],\n \"packaging_type\": \"21\",\n \"packing_method\": \"separate\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### UPS Ready Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 2nd_Day_Air <br> 2nd_Day_Air_AM <br> 3_Day_Select <br> Expedited <br> Express <br> Express_Plus <br> Express_Saver <br> Express_Early_AM <br> Ground <br> Next_Day_Air <br> Next_Day_Air_Early_AM <br> Next_Day_Air_Saver <br> Saver <br> Standard <br> Today_Dedicated_Courier <br> Today_Express <br> Today_Express_Saver <br> Today_Intercity <br> Today_Standard <br> Worldwide_Expedited <br> Worldwide_Express <br> Worldwide_Express_Plus <br> Worldwide_Express_Saver <br> Worldwide_Saver |\n| destination_type | string | residential <br> business |\n| packing_method | string | separate <br> combined |\n| packaging_type | string (only codes allowed) | 21: UPS® Express Box <br> 24: UPS® 25 KG Box <br> 25: UPS® 10 KG Box <br> 30: Pallet <br> 01: UPS® Letter <br> 02: Customer Supplied Package <br> 03: Tube <br> 04: PAK <br> 2a: Small Express Box <br> 2b: Medium Express Box <br> 2c: Large Express Box |\n| include_package_value | boolean | true <br> false |\n| show_transit_time | boolean | true <br> false |\n\n\n### Canada Post\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Canada Post\",\n \"type\": \"canadapost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"DOM.RP\",\"DOM.EP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Canada Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | DOM.RP <br> DOM.EP <br> DOM.XP <br> DOM.XP.CERT <br> DOM.PC DOM.LIB <br> USA.EP <br> USA.PW.ENV <br> USA.PW.PAK <br> USA.PW.PARCEL <br> USA.SP.AIR <br> USA.TP <br> USA.TP.LVM <br> USA.XP <br> INT.XP <br> INT.IP.AIR <br> INT.IP.SURF <br> INT.PW.ENV <br> INT.PW.PAK <br> INT.PW.PARCEL <br> INT.SP.AIR <br> INT.SP.SURF <br> INT.TP |\n\n\n### Australia Post\n\n\n```json\n\n{\n \"name\": \"Australia Post\",\n \"type\": \"auspost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"AUS_PARCEL_REGULAR\",\n\t\t\t\t\"AUS_PARCEL_EXPRESS\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Australia Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | AUS_LETTER_REGULAR_SMALL <br> AUS_LETTER_REGULAR_Large <br> AUS_LETTER_EXPRESS_SMALL <br> AUS_LETTER_EXPRESS_MEDIUM <br> AUS_LETTER_EXPRESS_LARGE <br> AUS_PARCEL_REGULAR <br> AUS_PARCEL_REGULAR_SATCHEL_500G <br> AUS_PARCEL_REGULAR_SATCHEL_3KG <br> AUS_PARCEL_REGULAR_SATCHEL_5KG <br> AUS_PARCEL_EXPRESS <br> AUS_PARCEL_EXPRESS_SATCHEL_500G <br> AUS_PARCEL_EXPRESS_SATCHEL_3KG <br> AUS_PARCEL_EXPRESS_SATCHEL_5KG <br> AUS_PARCEL_COURIER <br> AUS_PARCEL_COURIER_SATCHEL_MEDIUM <br> INT_PARCEL_COR_OWN_PACKAGING <br> INT_PARCEL_EXP_OWN_PACKAGING <br> INT_PARCEL_STD_OWN_PACKAGING <br> INT_PARCEL_AIR_OWN_PACKAGING <br> INT_PARCEL_SEA_OWN_PACKAGING |\n\n\n### Royal Mail\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Royal Mail\",\n \"type\": \"royalmail\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"StandardFirstClass\",\n\t\t\t\t\"StandardSecondClass\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Royal Mail Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | SpecialDelivery1pm <br> SpecialDelivery9am <br> SpecialDelivery1pmSaturday <br> SpecialDelivery9amSaturday <br> SignedForFirstClass <br> SignedForSecondClass <br> Express9 <br> Express10 <br> ExpressAM <br> Express24 <br> Express48 <br> StandardFirstClass <br> StandardSecondClass <br> InternationalStandard <br> InternationalTracked <br> InternationalEconomy |\n\n\n### Zoom2U\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Zoom2U\",\n \"type\": \"zoom2u\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"3_hour\",\n\t\t\t\t\"Same_day\",\n\t\t\t\t\"VIP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Zoom2U Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 3_hour <br> Same_day <br> VIP|\n\n\n\n### Settings Objects \n\n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n\n### perorder Object – Properties \n\n\nObject model for flat-rate shipping quotes per order.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n\n```\n\n\n### peritem Object – Properties \n\n\nObject model for flat-rate shipping quotes per item ordered.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n\n```\n\n\n### weight Object – Properties \n\n\nObject model for shipping quotes by weight.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n\n#### JSON Example \n \n```json\n\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n\n```\n\n\n### total Object – Properties \n\n\nObject model for shipping quotes by order's total value.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n\n#### JSON Example \n\n\nThis example sets free shipping above a certain order total:\n\n\n```json\n\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n\n```\n\n\n### Range Object – Properties \n\n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n\n```" summary: Create a Shipping Method tags: - Shipping Method @@ -874,7 +939,7 @@ paths: - name: zone_id in: path required: true - description: Id of the shipping zone. + description: ID of the shipping zone. schema: type: integer exclusiveMinimum: false @@ -1039,7 +1104,7 @@ paths: | - | - | - | | default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. | | default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. | - | include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping-cost calculation. | + | include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping cost calculation. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. | #### JSON Example @@ -1111,7 +1176,7 @@ paths: - name: zone_id in: path required: true - description: Id of the shipping zone. + description: ID of the shipping zone. schema: type: integer exclusiveMinimum: false @@ -1119,7 +1184,7 @@ paths: - name: method_id in: path required: true - description: Id of the shipping method within the shipping zone. + description: ID of the shipping method within the shipping zone. schema: type: integer exclusiveMinimum: false @@ -1148,9 +1213,10 @@ paths: type: object properties: id: - description: Shipping-method ID. READ-ONLY + description: Shipping method ID. Read-only. example: 1 type: integer + readOnly: true name: description: Display name for shipping method. example: Flat Rate @@ -1195,24 +1261,26 @@ paths: - royalmail - upsready settings: - description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' + description: 'Depends on the shipping method type. See the [supported settings object](#supported-settings).' type: object enabled: - description: Whether or not this shipping-zone method is enabled. + description: Whether or not this shipping zone method is enabled. example: true type: boolean handling_fees: oneOf: - - properties: - fixed_surcharge: - type: number - description: Flat-rate handling fee applied to shipping cost - example: 0 - - properties: - percentage_surcharge: - type: number - description: Percentage handling fee applied to shipping cost - example: 0 + - properties: + fixed_surcharge: + type: number + description: Flat-rate handling fee applied to shipping cost. + example: 0 + title: fixed surcharge + - properties: + percentage_surcharge: + type: number + description: Percentage handling fee applied to shipping cost. + example: 0 + title: percentage surcharge type: object is_fallback: description: Whether or not this shipping zone is the fallback if all others are not valid for the order. @@ -1249,7 +1317,7 @@ paths: IsMultiContentStreaming: false operationId: getAShippingMethod put: - description: "Updates a *Shipping Method* in a zone. Real Time Carrier Connections are also supported by this endpoint. \n\n**Read Only Fields**\n* id\n\n### Settings Objects \n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n### perorder Object – Properties \n\nObject model for flat-rate shipping quotes per order.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n```\n\n### peritem Object – Properties \n\nObject model for flat-rate shipping quotes per item ordered.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n```\n\n### weight Object – Properties \n\nObject model for shipping quotes by weight.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n#### JSON Example \n \n```json\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n```\n\n### total Object – Properties \n\nObject model for shipping quotes by order's total value.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping-cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n#### JSON Example \n\nThis example sets free shipping above a certain order total:\n\n```json\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n```\n\n### Range Object – Properties \n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n#### JSON Example \n\n```json\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n```\n" + description: "Updates a *Shipping Method* in a zone. Real Time Carrier Connections are also supported by this endpoint. \n\n**Read Only Fields**\n* id\n\n### Settings Objects \n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n### perorder Object – Properties \n\nObject model for flat-rate shipping quotes per order.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n```\n\n### peritem Object – Properties \n\nObject model for flat-rate shipping quotes per item ordered.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n```\n\n### weight Object – Properties \n\nObject model for shipping quotes by weight.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n#### JSON Example \n \n```json\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n```\n\n### total Object – Properties \n\nObject model for shipping quotes by order's total value.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n#### JSON Example \n\nThis example sets free shipping above a certain order total:\n\n```json\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n```\n\n### Range Object – Properties \n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n#### JSON Example \n\n```json\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n```\n" summary: Update a Shipping Method tags: - Shipping Method @@ -1257,7 +1325,7 @@ paths: - name: zone_id in: path required: true - description: Id of the shipping zone. + description: ID of the shipping zone. schema: type: integer exclusiveMinimum: false @@ -1265,7 +1333,7 @@ paths: - name: method_id in: path required: true - description: Id of the shipping method within the shipping zone. + description: ID of the shipping method within the shipping zone. schema: type: integer exclusiveMinimum: false @@ -1341,7 +1409,7 @@ paths: - name: zone_id in: path required: true - description: Id of the shipping zone. + description: ID of the shipping zone. schema: type: integer exclusiveMinimum: false @@ -1349,7 +1417,7 @@ paths: - name: method_id in: path required: true - description: Id of the shipping method within the shipping zone. + description: ID of the shipping method within the shipping zone. schema: type: integer exclusiveMinimum: false @@ -1432,10 +1500,10 @@ paths: pass_phrase: yourEndiciaPassphrase responses: '204': - description: Returns if request was succesful + description: Returns if request was successful. '400': description: |- - If a required field is not provided it will return a 400 response. + If a required field is not provided, the request will return a 400 response. [ { @@ -1448,7 +1516,7 @@ paths: schema: {} operationId: updateACarrierConnection post: - description: "Creates a *Carrier Connection*. \n\nCarrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier.\n\n*Notes:*\n\n- There is no `GET` with this resource. It has `PUT`, `POST` and `DELETE`.\n * `PUT` is used to update. The connection can be updated via API.\n\n \n- Connections created here do not enable the shipping method. To enable the carrier for a shipping zone, use the Shipping Methods API. \n\n- The Carrier Connection resource returns a 204 for both succesful and unsuccesful attempts to connect. If a field is missing, it will return a 400.\n\n### Australia Post\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"auspost\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourAusPostAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"auspost\"\n}\n```\n\n#### Australia Post Connection Object – Properties\n\nAustralia Post `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description\n| - | - | - |\n| auth_key | string | Australia Post authorization key. |\n| test_mode | boolean | Whether or not to use Australia Post test-mode settings. Acceptable values are `true` or `false`. |\n\n\n### Endicia\nUSPS is connected through Endicia.\n\n#### Sample Request – PUT or POST\n\n```json\n{\t\"carrier_id\" : \"endicia\",\n\t\"connection\": {\n\t\t\"account_id\" : \"yourEndiciaAccountId\",\n\t\t\"pass_phrase\" : \"yourEndiciaPassphrase\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"endicia\"\n}\n```\n\n#### Endicia Connection Object – Properties\n\nEndicia `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description |\n| - | - | - |\n| account_id | string | Endicia account ID. |\n| passphrase | string | Endicia passphrase. |\n\n\n### FedEx\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"fedex\",\n\t\"connection\" : {\n\t\t\"key\" : \"yourFedexKey\",\n\t\t\"password\" : \"yourFedexPassword\",\n\t\t\"account_number\" : \"yourFedexAccountNumber\",\n\t\t\"meter_number\" : \"yourFedexMeterNumber\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"fedex\"\n}\n```\n\n#### FedEx Connection Object – Properties\n\nFedEx `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| key | string | FedEx account ID. | \n| password | string | FedEx passphrase. |\n| account_number | string | FedEx account number. |\n| meter_number | string | FedEx meter number. |\n\n### Royal Mail\n\nSample Request - PUT or POST\n\n```json\n{\n \"carrier_id\" : \"royalmail\",\n \"connection\" : {\n \n }\n}\n```\n\nSample Request - DELETE\n\n```json\n{\n \"carrier_id\" : \"royalmail\"\n}\n```\n\n#### Royal Mail Connection Object - Properties\n\nRoyal Mail has no connection object properties.\n\n\n### Zoom2U\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourZoom2uAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\"\n}\n```\n\n#### Zoom2U Connection Object – Properties\n\nZoom2U `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| auth_key | string | Zoom2U authorization key. |\n| test_mode | boolean | Whether or not to use Zoom2U test-mode settings. Acceptable values are `true` or `false`. |" + description: "Creates a *Carrier Connection*. \n\nCarrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier.\n\n*Notes:*\n\n- There is no `GET` with this resource. It has `PUT`, `POST` and `DELETE`.\n * `PUT` is used to update. The connection can be updated by API.\n\n \n- Connections created here do not enable the shipping method. To enable the carrier for a shipping zone, use the Shipping Methods API. \n\n- The Carrier Connection resource returns a 204 for both successful and unsuccessful attempts to connect. If a field is missing, it will return a 400.\n\n### Australia Post\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"auspost\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourAusPostAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"auspost\"\n}\n```\n\n#### Australia Post Connection Object – Properties\n\nAustralia Post `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description\n| - | - | - |\n| auth_key | string | Australia Post authorization key. |\n| test_mode | boolean | Whether or not to use Australia Post test-mode settings. Acceptable values are `true` or `false`. |\n\n\n### Endicia\nUSPS is connected through Endicia.\n\n#### Sample Request – PUT or POST\n\n```json\n{\t\"carrier_id\" : \"endicia\",\n\t\"connection\": {\n\t\t\"account_id\" : \"yourEndiciaAccountId\",\n\t\t\"pass_phrase\" : \"yourEndiciaPassphrase\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"endicia\"\n}\n```\n\n#### Endicia Connection Object – Properties\n\nEndicia `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description |\n| - | - | - |\n| account_id | string | Endicia account ID. |\n| passphrase | string | Endicia passphrase. |\n\n\n### FedEx\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"fedex\",\n\t\"connection\" : {\n\t\t\"key\" : \"yourFedexKey\",\n\t\t\"password\" : \"yourFedexPassword\",\n\t\t\"account_number\" : \"yourFedexAccountNumber\",\n\t\t\"meter_number\" : \"yourFedexMeterNumber\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"fedex\"\n}\n```\n\n#### FedEx Connection Object – Properties\n\nFedEx `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| key | string | FedEx account ID. | \n| password | string | FedEx passphrase. |\n| account_number | string | FedEx account number. |\n| meter_number | string | FedEx meter number. |\n\n### Royal Mail\n\nSample Request - PUT or POST\n\n```json\n{\n \"carrier_id\" : \"royalmail\",\n \"connection\" : {\n \n }\n}\n```\n\nSample Request - DELETE\n\n```json\n{\n \"carrier_id\" : \"royalmail\"\n}\n```\n\n#### Royal Mail Connection Object - Properties\n\nRoyal Mail has no connection object properties.\n\n\n### Zoom2U\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourZoom2uAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\"\n}\n```\n\n#### Zoom2U Connection Object – Properties\n\nZoom2U `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| auth_key | string | Zoom2U authorization key. |\n| test_mode | boolean | Whether or not to use Zoom2U test-mode settings. Acceptable values are `true` or `false`. |" summary: Create a Carrier Connection parameters: - name: Accept @@ -1478,7 +1546,7 @@ paths: test_mode: false responses: '204': - description: Returns if request was succesful + description: Returns if request was successful. '400': description: | Invalid requests will return a 400 response. @@ -1551,10 +1619,10 @@ paths: carrier_id: fedex responses: '204': - description: Returns if request was succesful + description: Returns if request was successful. '400': description: |- - If a required field is not provided it will return a 400 response. + If a required field is not provided, the request will return a 400 response. [ { @@ -1578,19 +1646,6 @@ paths: required: true schema: type: string -tags: - - name: Shipping Method - - name: Shipping Carrier - - name: Shipping Zones - - name: Shipping Products Custom Information -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -servers: - - url: 'https://api.bigcommerce.com' components: securitySchemes: X-Auth-Token: @@ -1701,11 +1756,12 @@ components: properties: id: type: integer - description: Zone Id. READ-ONLY + description: Zone ID. Read-only. example: 1 + readOnly: true name: type: string - description: Zone name. Required for /PUT + description: Zone name. Required for PUT requests. example: United States type: type: string @@ -1751,18 +1807,27 @@ components: handling_fees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -1794,18 +1859,27 @@ components: HandlingFees: title: Shipping Zone Handling Fees type: object - properties: - fixed_surcharge: - description: '' - example: '0' - type: string - percentage_surcharge: - description: '' - type: string - display_separately: - description: '' - example: true - type: boolean + oneOf: + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge x-internal: false shippingMethod_Full: title: shippingMethod_Full @@ -1813,9 +1887,10 @@ components: - type: object properties: id: - description: Shipping-method ID. READ-ONLY + description: Shipping method ID. Read-only. example: 1 type: integer + readOnly: true - $ref: '#/components/schemas/shippingMethod_Base' x-internal: false ShippingMethodType: @@ -1907,30 +1982,31 @@ components: - royalmail - upsready settings: - description: 'Depends on the shipping-method type. See the [supported settings object](#supported-settings).' + description: 'Depends on the shipping method type. See the [supported settings object](#supported-settings).' type: object properties: rate: type: number - description: 'Flat rate per order. ' + description: Flat rate per order. example: 7 enabled: - description: Whether or not this shipping-zone method is enabled. + description: Whether or not this shipping zone method is enabled. example: true type: boolean handling_fees: oneOf: - - properties: - fixed_surcharge: - type: number - description: Flat-rate handling fee applied to shipping cost - example: 0 - - properties: - percentage_surcharge: - type: number - description: | - Percentage handling fee applied to shipping cost - example: 0 + - properties: + fixed_surcharge: + type: number + description: Flat-rate handling fee applied to shipping cost. + example: 0 + title: fixed surcharge + - properties: + percentage_surcharge: + type: number + description: Percentage handling fee applied to shipping cost. + example: 0 + title: percentage surcharge type: object is_fallback: description: Whether or not this shipping zone is the fallback if all others are not valid for the order. @@ -1949,11 +2025,11 @@ components: type: string connection: type: object - description: '`connection` object varies by carrier' + description: 'The `connection` object varies by carrier.' x-internal: false metaCollection: title: metaCollection - description: Meta data relating to pagination + description: Meta data relating to pagination. type: object properties: pagination: @@ -1995,3 +2071,7 @@ components: description: Query string appended to the resource to show the current page. example: '?limit=1&page=2' x-internal: false +x-stoplight: + docs: + includeDownloadLink: true + showModels: false From e2dced4c545f80b7d035244ebe6c199622e00fa4 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Tue, 15 Nov 2022 22:01:50 -0600 Subject: [PATCH 061/360] DEVDOCS-4631: [bug fix] Specify server URLs for Storefront APIs (#1051) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> --- docs/customer-login-sso.md | 4 +- reference/carts.sf.yml | 26 +- reference/checkouts.sf.yml | 3803 +++++++++++++++---------------- reference/consent.sf.yml | 12 +- reference/current_customer.yml | 47 +- reference/customers.sf.yml | 8 +- reference/form_fields.sf.yml | 3 +- reference/orders.sf.yml | 355 ++- reference/shipping_provider.yml | 6 +- reference/subscriptions.sf.yml | 21 +- 10 files changed, 2111 insertions(+), 2174 deletions(-) diff --git a/docs/customer-login-sso.md b/docs/customer-login-sso.md index c4292b4b9..736c1e25b 100644 --- a/docs/customer-login-sso.md +++ b/docs/customer-login-sso.md @@ -1,6 +1,6 @@ # Customer Login SSO -* **Host**: {$$.env.store_domain}/graphql +* **Host**: {store_domain}/graphql * **Protocols**:`https` * **Accepts**: `application/json` * **Responds With**: `application/json` @@ -15,7 +15,7 @@ Create a login URL for customer single sign-on. To log in a customer using the Customer Login API, redirect the customer's browser to the following access point URL: ```http - https://storedomain.com/login/token/{{TOKEN}} + https://yourstore.example.com/login/token/{{TOKEN}} ``` diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index d44385177..7d5f8d53f 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -1,10 +1,13 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: version: Storefront title: Storefront Carts description: Manage cart operations and data via front-end JavaScript on BigCommerce stencil powered storefronts. servers: - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: yourstore.example.com tags: - name: Cart - name: Cart Items @@ -20,7 +23,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: getACart parameters: - $ref: '#/components/parameters/include' @@ -36,7 +40,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: createACart parameters: - $ref: '#/components/parameters/include' @@ -70,7 +75,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: deleteACart parameters: - name: cartId @@ -93,7 +99,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: addCartLineItem parameters: - name: cartId @@ -153,7 +160,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: updateCartLineItem parameters: - name: cartId @@ -226,7 +234,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: deleteCartLineItem parameters: - name: cartId @@ -275,7 +284,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: addCartCurrency parameters: - name: cartId diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 873358be0..3ba7a82eb 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -1,25 +1,32 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Storefront Checkouts - description: Manage checkout operations and data using front-end JavaScript on BigCommerce - Stencil-powered storefronts. - version: "" + description: Manage checkout operations and data using front-end JavaScript on BigCommerce Stencil-powered storefronts. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' servers: -- url: https://{$$.env.store_domain}/api/storefront + - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: yourstore.example.com tags: -- name: Checkout -- name: Checkout Billing Address -- name: Checkout Cart Items -- name: Checkout Consignments -- name: Checkout Coupons -- name: Checkout Gift Certificates -- name: Checkout Spam Protection -- name: Checkout Store Credit + - name: Checkout + - name: Checkout Billing Address + - name: Checkout Cart Items + - name: Checkout Consignments + - name: Checkout Coupons + - name: Checkout Gift Certificates + - name: Checkout Spam Protection + - name: Checkout Store Credit paths: - /checkouts/{checkoutId}: + '/checkouts/{checkoutId}': get: tags: - - Checkout + - Checkout summary: Get a Checkout description: |- Returns a *Checkout*. @@ -29,44 +36,45 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsByCheckoutIdGet parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: include - in: query - description: |- - * `cart.lineItems.physicalItems.options` - physical options - * `cart.lineItems.digitalItems.options` - digital options - * `cart.lineItems.physicalItems.categoryNames` - physical categories - * `cart.lineItems.digitalItems.categoryNames` - digital categories - * `cart.lineItems.customItems.categoryNames` - custom categories - * `customer` - customer - * `customer.customerGroup` - customer group - * `payments` - payments - * `promotions` - promotions - * `consignments.availableShippingOptions` - shipping options - schema: - type: string - default: consignments.availableShippingOptions - enum: - - cart.lineItems.physicalItems.options - - cart.lineItems.digitalItems.options - - cart.lineItems.physicalItems.categoryNames - - cart.lineItems.digitalItems.categoryNames - - cart.lineItems.customItems.categoryNames - - customer - - customer.customerGroup - - payments - - promotions - - consignments.availableShippingOptions + - name: checkoutId + in: path + required: true + schema: + type: string + - name: include + in: query + description: |- + * `cart.lineItems.physicalItems.options` - physical options + * `cart.lineItems.digitalItems.options` - digital options + * `cart.lineItems.physicalItems.categoryNames` - physical categories + * `cart.lineItems.digitalItems.categoryNames` - digital categories + * `cart.lineItems.customItems.categoryNames` - custom categories + * `customer` - customer + * `customer.customerGroup` - customer group + * `payments` - payments + * `promotions` - promotions + * `consignments.availableShippingOptions` - shipping options + schema: + type: string + default: consignments.availableShippingOptions + enum: + - cart.lineItems.physicalItems.options + - cart.lineItems.digitalItems.options + - cart.lineItems.physicalItems.categoryNames + - cart.lineItems.digitalItems.categoryNames + - cart.lineItems.customItems.categoryNames + - customer + - customer.customerGroup + - payments + - promotions + - consignments.availableShippingOptions responses: '200': - description: "" + description: '' content: application/json: schema: @@ -88,83 +96,83 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https://{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -172,16 +180,16 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' '400': - description: When a problem arises, returns (for now) a generic response. + description: When a problem arises, returns a generic response. content: application/json: schema: @@ -190,27 +198,27 @@ paths: properties: errors: type: array - description: "" + description: '' items: title: Error Inner type: object properties: status: type: integer - description: "" + description: '' format: int32 title: type: string - description: "" + description: '' type: type: string - description: "" + description: '' detail: type: string - description: "" + description: '' put: tags: - - Checkout + - Checkout summary: Update Customer Messages description: |- Updates *Checkout* customer messages. @@ -222,14 +230,15 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsByCheckoutIdPut parameters: - - name: checkoutId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -238,7 +247,7 @@ paths: required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -260,83 +269,83 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -344,19 +353,19 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' x-codegen-request-body-name: body - /checkouts/{checkoutId}/carts/{cartId}/items/{itemId}: + '/checkouts/{checkoutId}/carts/{cartId}/items/{itemId}': put: tags: - - Checkout Cart Items + - Checkout Cart Items summary: Update a Line Item description: |- Updates a *Checkout Line Item*. Updates an existing, single line item in the cart. @@ -366,25 +375,26 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsCartsItemsItemIdByCheckoutIdAndCartIdPut parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: cartId - in: path - required: true - schema: - type: string - format: uuid - - name: itemId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string + - name: cartId + in: path + required: true + schema: + type: string + format: uuid + - name: itemId + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -393,7 +403,7 @@ paths: required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -415,83 +425,83 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -499,18 +509,18 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' x-codegen-request-body-name: body delete: tags: - - Checkout Cart Items + - Checkout Cart Items summary: Delete a Line Item description: |- Deletes a *Line Item* from the *Cart*. @@ -518,30 +528,29 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsCartsItemsItemIdByCheckoutIdAndCartIdDelete parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: cartId - in: path - required: true - schema: - type: string - format: uuid - - name: itemId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string + - name: cartId + in: path + required: true + schema: + type: string + format: uuid + - name: itemId + in: path + required: true + schema: + type: string responses: '200': - description: 'NOTE: Discounted line items are re-evaluated on cart actions - and may be automatically added back to your cart with a new line item - ID to satisfy promotional requirements.' + description: 'NOTE: Discounted line items are re-evaluated on cart actions and may be automatically added back to your cart with a new line item ID to satisfy promotional requirements.' content: application/json: schema: @@ -562,209 +571,209 @@ paths: discountAmount: 0 cartAmount: 112.93 coupons: - - id: 1 - code: S2549JM0Y - displayName: $5.00 off the order total - couponType: per_total_discount - discountedAmount: 5 + - id: 1 + code: S2549JM0Y + displayName: $5.00 off the order total + couponType: per_total_discount + discountedAmount: 5 discounts: - - id: 69791a88-85c9-4c19-8042-e537621e8a55 - discountedAmount: 2.59 - - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 - discountedAmount: 1.06 - - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - discountedAmount: 2.12 - - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 - discountedAmount: 0.8 - - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac - discountedAmount: 0.43 - lineItems: - physicalItems: - id: 69791a88-85c9-4c19-8042-e537621e8a55 - parentId: {} - variantId: 364 - productId: 184 - sku: SMA-RED - name: Canvas Laundry Cart - url: http://your-store.mybigcommerce.com/all/canvas-laundry-cart/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 0.59 - - id: 2 - discountedAmount: 2 - discountAmount: 2 - couponAmount: 0 - originalPrice: 17.99 - listPrice: 15.99 - salePrice: 13.99 - extendedListPrice: 15.99 - extendedSalePrice: 13.99 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + discountedAmount: 2.59 - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 - parentId: {} - variantId: 341 - productId: 170 - sku: "" - name: Ceramic Measuring Spoons - url: http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 1.06 - discountAmount: 0 - couponAmount: 0 - originalPrice: 25 - listPrice: 25 - salePrice: 25 - extendedListPrice: 25 - extendedSalePrice: 25 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + discountedAmount: 1.06 - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - parentId: {} - variantId: 376 - productId: 158 - sku: SKU-A0C8A203 - name: Chambray Towel - url: http://your-store.mybigcommerce.com/all/chambray-towel/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 2.12 - discountAmount: 0 - couponAmount: 0 - originalPrice: 49.99 - listPrice: 49.99 - salePrice: 49.99 - extendedListPrice: 49.99 - extendedSalePrice: 49.99 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false - digitalItems: + discountedAmount: 2.12 - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 - parentId: {} - variantId: 360 - productId: 189 - name: Gather Journal Issue 7 - Digital - url: http://your-store.mybigcommerce.com/all/gather-journal-issue-7/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 0.8 - discountAmount: 0 - couponAmount: 0 - originalPrice: 18.95 - listPrice: 18.95 - salePrice: 18.95 - extendedListPrice: 18.95 - extendedSalePrice: 18.95 - isShippingRequired: false - type: digital - giftCertificates: + discountedAmount: 0.8 - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac - name: $10.00 Gift Certificate - theme: Celebration - amount: 10 - taxable: false - sender: - name: Jane Doe - email: janedoe@example.com - recipient: - name: John Doe - email: johndoe@example.com - message: Thank you! - type: giftCertificate - createdTime: 2018-09-18T15:48:26+00:00 - updatedTime: 2018-09-18T16:59:45+00:00 + discountedAmount: 0.43 + lineItems: + physicalItems: + - id: 69791a88-85c9-4c19-8042-e537621e8a55 + parentId: {} + variantId: 364 + productId: 184 + sku: SMA-RED + name: Canvas Laundry Cart + url: 'https://{store_domain}/all/canvas-laundry-cart/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 0.59 + - id: 2 + discountedAmount: 2 + discountAmount: 2 + couponAmount: 0 + originalPrice: 17.99 + listPrice: 15.99 + salePrice: 13.99 + extendedListPrice: 15.99 + extendedSalePrice: 13.99 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false + - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 + parentId: {} + variantId: 341 + productId: 170 + sku: '' + name: Ceramic Measuring Spoons + url: 'https://{store_domain}/all/ceramic-measuring-spoons/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 1.06 + discountAmount: 0 + couponAmount: 0 + originalPrice: 25 + listPrice: 25 + salePrice: 25 + extendedListPrice: 25 + extendedSalePrice: 25 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false + - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + parentId: {} + variantId: 376 + productId: 158 + sku: SKU-A0C8A203 + name: Chambray Towel + url: 'https://{store_domain}/all/chambray-towel/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 2.12 + discountAmount: 0 + couponAmount: 0 + originalPrice: 49.99 + listPrice: 49.99 + salePrice: 49.99 + extendedListPrice: 49.99 + extendedSalePrice: 49.99 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false + digitalItems: + - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 + parentId: {} + variantId: 360 + productId: 189 + name: Gather Journal Issue 7 - Digital + url: 'https://{store_domain}/all/gather-journal-issue-7/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 0.8 + discountAmount: 0 + couponAmount: 0 + originalPrice: 18.95 + listPrice: 18.95 + salePrice: 18.95 + extendedListPrice: 18.95 + extendedSalePrice: 18.95 + isShippingRequired: false + type: digital + giftCertificates: + - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac + name: $10.00 Gift Certificate + theme: Celebration + amount: 10 + taxable: false + sender: + name: Jane Doe + email: janedoe@example.com + recipient: + name: John Doe + email: johndoe@example.com + message: Thank you! + type: giftCertificate + createdTime: '2018-09-18T15:48:26+00:00' + updatedTime: '2018-09-18T16:59:45+00:00' billingAddress: id: 5ba11e4a10fb5 firstName: Jane lastName: Doe email: janedoe@example.com - company: "" + company: '' address1: 123 Main Street - address2: "" + address2: '' city: Austin stateOrProvince: Texas stateOrProvinceCode: TX country: United States countryCode: US - postalCode: "78751" - phone: "1234567890" + postalCode: '78751' + phone: '1234567890' customFields: - - fieldId: field_25 - fieldValue: Leave in backyard - consignments: - - id: 5ba121929619b - shippingCost: 69.94 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 69791a88-85c9-4c19-8042-e537621e8a55 - - ba2c619d-e6b4-48c2-8809-d88e424ed450 - - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - selectedShippingOption: - id: bb3c818f-17ce-46fe-9475-65933095da0d - type: shipping_upsready - description: UPS® (UPS Next Day Air®) - imageUrl: "" - cost: 69.94 - transitTime: 1 business day - address: - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: "" - address1: 123 Main Street - address2: "" - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: "78751" - phone: "1234567890" - customFields: - fieldId: field_25 fieldValue: Leave in backyard + consignments: + - id: 5ba121929619b + shippingCost: 69.94 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 69791a88-85c9-4c19-8042-e537621e8a55 + - ba2c619d-e6b4-48c2-8809-d88e424ed450 + - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + selectedShippingOption: + id: bb3c818f-17ce-46fe-9475-65933095da0d + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + imageUrl: '' + cost: 69.94 + transitTime: 1 business day + address: + firstName: Jane + lastName: Doe + email: janedoe@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + stateOrProvince: Texas + stateOrProvinceCode: TX + country: United States + countryCode: US + postalCode: '78751' + phone: '1234567890' + customFields: + - fieldId: field_25 + fieldValue: Leave in backyard orderId: null shippingCostTotal: 69.94 shippingCostBeforeDiscount: 69.94 handlingCostTotal: 0 taxTotal: 28.62 coupons: - - id: 1 - code: S2549JM0Y - displayName: $5.00 off the order total - couponType: 2 - discountedAmount: 5 + - id: 1 + code: S2549JM0Y + displayName: $5.00 off the order total + couponType: 2 + discountedAmount: 5 taxes: - - name: Store Tax - amount: 28.62 + - name: Store Tax + amount: 28.62 subtotal: 117.93 grandTotal: 211.49 giftCertificates: [] - createdTime: 2018-09-18T15:48:26+00:00 - updatedTime: 2018-09-18T16:59:45+00:00 - customerMessage: Thank you, BigCommerce - /checkouts/{checkoutId}/billing-address: + createdTime: '2018-09-18T15:48:26+00:00' + updatedTime: '2018-09-18T16:59:45+00:00' + customerMessage: 'Thank you, BigCommerce' + '/checkouts/{checkoutId}/billing-address': post: tags: - - Checkout Billing Address + - Checkout Billing Address summary: Add Checkout Billing Address description: |- Adds a billing address to an existing *Checkout*. @@ -777,14 +786,15 @@ paths: > #### Note > * The `email` property is only required if the customer is a guest shopper. Otherwise, it is set automatically. > * Sending `email` property as a payload in POST request triggers the abandoned cart notification process. - > * The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsBillingAddressByCheckoutIdPost parameters: - - name: checkoutId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -793,7 +803,7 @@ paths: required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -815,83 +825,83 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -899,27 +909,25 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' '403': - description: The email trying to be set for the guest is associated with - an account. The customer must sign-in. + description: The email trying to be set for the guest is associated with an account. The customer must sign in. content: {} '429': - description: Unable to determine if provided email is associated with an - account. The customer must sign-in. + description: Unable to determine if provided email is associated with an account. The customer must sign in. content: {} x-codegen-request-body-name: body - /checkouts/{checkoutId}/billing-address/{addressId}: + '/checkouts/{checkoutId}/billing-address/{addressId}': put: tags: - - Checkout Billing Address + - Checkout Billing Address summary: Update Checkout Billing Address description: |- Updates an existing billing address on *Checkout*. @@ -927,22 +935,23 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsBillingAddressByCheckoutIdAndAddressIdPut parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: addressId - in: path - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: number - format: double + - name: checkoutId + in: path + required: true + schema: + type: string + - name: addressId + in: path + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number + format: double requestBody: content: application/json: @@ -951,7 +960,7 @@ paths: required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -972,252 +981,251 @@ paths: discountAmount: 0 cartAmount: 112.93 coupons: - - id: 1 - code: S2549JM0Y - displayName: $5.00 off the order total - couponType: per_total_discount - discountedAmount: 5 + - id: 1 + code: S2549JM0Y + displayName: $5.00 off the order total + couponType: per_total_discount + discountedAmount: 5 discounts: - - id: 69791a88-85c9-4c19-8042-e537621e8a55 - discountedAmount: 2.59 - - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 - discountedAmount: 1.06 - - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - discountedAmount: 2.12 - - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 - discountedAmount: 0.8 - - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac - discountedAmount: 0.43 - lineItems: - physicalItems: - id: 69791a88-85c9-4c19-8042-e537621e8a55 - parentId: {} - variantId: 364 - productId: 184 - sku: SMA-RED - name: Canvas Laundry Cart - url: http://your-store.mybigcommerce.com/all/canvas-laundry-cart/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 0.59 - - id: 2 - discountedAmount: 2 - discountAmount: 2 - couponAmount: 0 - originalPrice: 17.99 - listPrice: 15.99 - salePrice: 13.99 - extendedListPrice: 15.99 - extendedSalePrice: 13.99 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + discountedAmount: 2.59 - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 - parentId: {} - variantId: 341 - productId: 170 - sku: "" - name: Ceramic Measuring Spoons - url: http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 1.06 - discountAmount: 0 - couponAmount: 0 - originalPrice: 25 - listPrice: 25 - salePrice: 25 - extendedListPrice: 25 - extendedSalePrice: 25 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + discountedAmount: 1.06 - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - parentId: {} - variantId: 376 - productId: 158 - sku: SKU-A0C8A203 - name: Chambray Towel - url: http://your-store.mybigcommerce.com/all/chambray-towel/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 2.12 - discountAmount: 0 - couponAmount: 0 - originalPrice: 49.99 - listPrice: 49.99 - salePrice: 49.99 - extendedListPrice: 49.99 - extendedSalePrice: 49.99 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false - digitalItems: + discountedAmount: 2.12 - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 - parentId: {} - variantId: 360 - productId: 189 - name: Gather Journal Issue 7 - Digital - url: http://your-store.mybigcommerce.com/all/gather-journal-issue-7/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2 - discounts: - - id: total-coupon - discountedAmount: 0.8 - discountAmount: 0 - couponAmount: 0 - originalPrice: 18.95 - listPrice: 18.95 - salePrice: 18.95 - extendedListPrice: 18.95 - extendedSalePrice: 18.95 - isShippingRequired: false - type: digital - giftCertificates: + discountedAmount: 0.8 - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac - name: $10.00 Gift Certificate - theme: Celebration - amount: 10 - taxable: false - sender: - name: Jane Doe - email: janedoe@example.com - recipient: - name: John Doe - email: johndoe@example.com - message: Thank you! - type: giftCertificate - createdTime: 2018-09-18T15:48:26+00:00 - updatedTime: 2018-09-18T16:59:45+00:00 + discountedAmount: 0.43 + lineItems: + physicalItems: + - id: 69791a88-85c9-4c19-8042-e537621e8a55 + parentId: {} + variantId: 364 + productId: 184 + sku: SMA-RED + name: Canvas Laundry Cart + url: 'https://{store_domain}/all/canvas-laundry-cart/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 0.59 + - id: 2 + discountedAmount: 2 + discountAmount: 2 + couponAmount: 0 + originalPrice: 17.99 + listPrice: 15.99 + salePrice: 13.99 + extendedListPrice: 15.99 + extendedSalePrice: 13.99 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false + - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 + parentId: {} + variantId: 341 + productId: 170 + sku: '' + name: Ceramic Measuring Spoons + url: 'https://{store_domain}/all/ceramic-measuring-spoons/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 1.06 + discountAmount: 0 + couponAmount: 0 + originalPrice: 25 + listPrice: 25 + salePrice: 25 + extendedListPrice: 25 + extendedSalePrice: 25 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false + - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + parentId: {} + variantId: 376 + productId: 158 + sku: SKU-A0C8A203 + name: Chambray Towel + url: 'https://{store_domain}/all/chambray-towel/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 2.12 + discountAmount: 0 + couponAmount: 0 + originalPrice: 49.99 + listPrice: 49.99 + salePrice: 49.99 + extendedListPrice: 49.99 + extendedSalePrice: 49.99 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false + digitalItems: + - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 + parentId: {} + variantId: 360 + productId: 189 + name: Gather Journal Issue 7 - Digital + url: 'https://{store_domain}/all/gather-journal-issue-7/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2' + discounts: + - id: total-coupon + discountedAmount: 0.8 + discountAmount: 0 + couponAmount: 0 + originalPrice: 18.95 + listPrice: 18.95 + salePrice: 18.95 + extendedListPrice: 18.95 + extendedSalePrice: 18.95 + isShippingRequired: false + type: digital + giftCertificates: + - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac + name: $10.00 Gift Certificate + theme: Celebration + amount: 10 + taxable: false + sender: + name: Jane Doe + email: janedoe@example.com + recipient: + name: John Doe + email: johndoe@example.com + message: Thank you! + type: giftCertificate + createdTime: '2018-09-18T15:48:26+00:00' + updatedTime: '2018-09-18T16:59:45+00:00' billingAddress: id: 5ba11e4a10fb5 firstName: Jane lastName: Doe email: janedoe@example.com - company: "" + company: '' address1: 123 Main Street - address2: "" + address2: '' city: Austin stateOrProvince: Texas stateOrProvinceCode: TX country: United States countryCode: US - postalCode: "78751" - phone: "1234567890" + postalCode: '78751' + phone: '1234567890' customFields: - - fieldId: field_25 - fieldValue: Leave in backyard - consignments: - - id: 5ba121929619b - shippingCost: 69.94 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 69791a88-85c9-4c19-8042-e537621e8a55 - - ba2c619d-e6b4-48c2-8809-d88e424ed450 - - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - selectedShippingOption: - id: bb3c818f-17ce-46fe-9475-65933095da0d - type: shipping_upsready - description: UPS® (UPS Next Day Air®) - imageUrl: "" - cost: 69.94 - transitTime: 1 business day - address: - firstName: Jane - lastName: Doe - email: janedoe@example.com - company: "" - address1: 123 Main Street - address2: "" - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: "78751" - phone: "1234567890" - customFields: - fieldId: field_25 fieldValue: Leave in backyard + consignments: + - id: 5ba121929619b + shippingCost: 69.94 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 69791a88-85c9-4c19-8042-e537621e8a55 + - ba2c619d-e6b4-48c2-8809-d88e424ed450 + - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + selectedShippingOption: + id: bb3c818f-17ce-46fe-9475-65933095da0d + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + imageUrl: '' + cost: 69.94 + transitTime: 1 business day + address: + firstName: Jane + lastName: Doe + email: janedoe@example.com + company: '' + address1: 123 Main Street + address2: '' + city: Austin + stateOrProvince: Texas + stateOrProvinceCode: TX + country: United States + countryCode: US + postalCode: '78751' + phone: '1234567890' + customFields: + - fieldId: field_25 + fieldValue: Leave in backyard orderId: null shippingCostTotal: 69.94 shippingCostBeforeDiscount: 69.94 handlingCostTotal: 0 taxTotal: 28.62 coupons: - - id: 1 - code: S2549JM0Y - displayName: $5.00 off the order total - couponType: 2 - discountedAmount: 5 + - id: 1 + code: S2549JM0Y + displayName: $5.00 off the order total + couponType: 2 + discountedAmount: 5 taxes: - - name: Store Tax - amount: 28.62 + - name: Store Tax + amount: 28.62 subtotal: 117.93 grandTotal: 211.49 giftCertificates: [] - createdTime: 2018-09-18T15:48:26+00:00 - updatedTime: 2018-09-18T16:59:45+00:00 - customerMessage: Thank you, BigCommerce + createdTime: '2018-09-18T15:48:26+00:00' + updatedTime: '2018-09-18T16:59:45+00:00' + customerMessage: 'Thank you, BigCommerce' '403': - description: The email trying to be set for the guest is associated with - an account. The customer must sign-in. + description: The email trying to be set for the guest is associated with an account. The customer must sign in. content: {} '429': - description: Unable to determine if provided email is associated with an - account. The customer must sign-in. + description: Unable to determine if provided email is associated with an account. The customer must sign in. content: {} x-codegen-request-body-name: body - /checkouts/{checkoutId}/consignments: + '/checkouts/{checkoutId}/consignments': post: tags: - - Checkout Consignments + - Checkout Consignments summary: Create a Consignment - description: | + description: | Adds a new *Consignment* to *Checkout*. - + There are two steps to add a new shipping address and shipping options with line items. 1. Add a new Consignment to Checkout. * Send a POST to Consignments with each shipping address and line items IDs. Each address can have its own line item IDs. * As part of the request URL make sure to add `include=consignments.availableShippingOptions` to return the available shipping options based on line items and shipping locations. This will return `availableShippingOptions` in the response. 2. [Update the Consignment](/api-reference/storefront/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidandconsignmentidput) with Shipping Options. - + **Required Query** * `consignments.availableShippingOptions` - + **Required Fields** * `shipping_address` (deprecated) or `address` * `line_items` - + To learn more about creating a Checkout Consignment, see the [Carts and Checkouts Tutorial](/api-docs/storefront/tutorials/carts). - + <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsConsignmentsByCheckoutIdPost parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: include - in: query - schema: - type: string - default: consignments.availableShippingOptions + - name: checkoutId + in: path + required: true + schema: + type: string + - name: include + in: query + schema: + type: string + default: consignments.availableShippingOptions requestBody: content: application/json: @@ -1228,7 +1236,7 @@ paths: required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -1250,84 +1258,84 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@example.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] - shouldSaveAddress: true + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@example.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] + shouldSaveAddress: true orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -1335,53 +1343,54 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" - /checkouts/{checkoutId}/consignments/{consignmentId}: + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' + '/checkouts/{checkoutId}/consignments/{consignmentId}': put: tags: - - Checkout Consignments + - Checkout Consignments summary: Update a Consignment description: |- Updates an existing consignment. Either the shipping address, one or more line item IDs, or the shipping option ID can be updated in a single call to this endpoint. - + There are two steps to add a new shipping address and shipping options with line items. 1. Add a new Consignment to Checkout. 2. Update the Consignment with Shipping Options. * Update each *Consignment* `shippingOptionId` (shipping address and line items) with the `availableShippingOption > id` from Step One. - + **Required Fields** * `shippingOptionId` - + To learn more about creating a Checkout Consignment see [Checkout Consignment API](/api-docs/checkouts/checkout-consignment). - + <!-- theme: info --> > #### Note > * You cannot pass both an `address` and a `shippingOptionId` because the shipping option may not be available for the new address - > * The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: consignmentId - in: path - required: true - schema: - type: string - - name: include - in: query - schema: - type: string - default: consignments.availableShippingOptions + - name: checkoutId + in: path + required: true + schema: + type: string + - name: consignmentId + in: path + required: true + schema: + type: string + - name: include + in: query + schema: + type: string + default: consignments.availableShippingOptions requestBody: content: application/json: @@ -1390,7 +1399,7 @@ paths: required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -1412,84 +1421,84 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] - shouldSaveAddress: true + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] + shouldSaveAddress: true orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -1497,40 +1506,41 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' x-codegen-request-body-name: body delete: tags: - - Checkout Consignments + - Checkout Consignments summary: Delete a Consignment description: |- Removes an existing *Consignment* from *Checkout*. <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdDelete parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: consignmentId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string + - name: consignmentId + in: path + required: true + schema: + type: string responses: '200': - description: "" + description: '' content: application/json: schema: @@ -1552,83 +1562,83 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -1636,18 +1646,18 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" - /checkouts/{checkoutId}/gift-certificates: + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' + '/checkouts/{checkoutId}/gift-certificates': post: tags: - - Checkout Gift Certificates + - Checkout Gift Certificates summary: Add Gift Certificate to Checkout description: |- Adds a *Gift Certificate Code* to *Checkout*. @@ -1657,15 +1667,16 @@ paths: > #### Note > * *Gift Certificates* are treated as a payment methods. > * You are not able to purchase a gift certificate with a gift certificate. - > * The Send a Test Request feature is not currently supported for this endpoint. > * The rate limit is 20/hour (only for unique gift-certificate codes). + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsGiftCertificatesByCheckoutIdPost parameters: - - name: checkoutId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -1674,7 +1685,7 @@ paths: required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -1696,83 +1707,83 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -1780,14 +1791,14 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' '404': description: Gift certificate code not found content: @@ -1795,10 +1806,10 @@ paths: schema: type: object x-codegen-request-body-name: body - /checkouts/{checkoutId}/gift-certificates/{giftCertificateCode}: + '/checkouts/{checkoutId}/gift-certificates/{giftCertificateCode}': delete: tags: - - Checkout Gift Certificates + - Checkout Gift Certificates summary: Delete Gift Certificate description: |- Deletes an existing *Gift Certificate*. @@ -1807,30 +1818,31 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsGiftCertificatesByCheckoutIdAndGiftCertificateCodeDelete parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: giftCertificateCode - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string + - name: giftCertificateCode + in: path + required: true + schema: + type: string responses: '200': - description: "" + description: '' content: application/json: schema: $ref: '#/components/schemas/checkout_Full' - /checkouts/{checkoutId}/coupons: + '/checkouts/{checkoutId}/coupons': post: tags: - - Checkout Coupons + - Checkout Coupons summary: Add Coupon to Checkout description: |- Adds a *Coupon Code* to *Checkout*. @@ -1840,14 +1852,15 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsCouponsByCheckoutIdPost parameters: - - name: checkoutId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -1857,11 +1870,11 @@ paths: properties: couponCode: type: string - description: "" + description: '' required: true responses: '200': - description: "" + description: '' content: application/json: schema: @@ -1883,83 +1896,83 @@ paths: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 7.95 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 7.95 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -1967,41 +1980,42 @@ paths: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' x-codegen-request-body-name: body - /checkouts/{checkoutId}/coupons/{couponCode}: + '/checkouts/{checkoutId}/coupons/{couponCode}': delete: tags: - - Checkout Coupons + - Checkout Coupons summary: Delete Checkout Coupon description: | Deletes a *Coupon Code* from *Checkout*. <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsCouponsByCheckoutIdAndCouponCodeDelete parameters: - - name: checkoutId - in: path - required: true - schema: - type: string - - name: couponCode - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string + - name: couponCode + in: path + required: true + schema: + type: string responses: '200': - description: "" + description: '' content: application/json: schema: @@ -2023,112 +2037,112 @@ paths: cartAmount: 117.93 coupons: [] discounts: - - id: 69791a88-85c9-4c19-8042-e537621e8a55 - discountedAmount: 2 - - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 - discountedAmount: 0 - - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - discountedAmount: 0 - - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 - discountedAmount: 0 - - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac - discountedAmount: 0 - lineItems: - physicalItems: - id: 69791a88-85c9-4c19-8042-e537621e8a55 - variantId: 364 - productId: 184 - sku: SMA-RED - name: Canvas Laundry Cart - url: http://your-store.mybigcommerce.com/all/canvas-laundry-cart/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2 - discounts: - - id: 2 - discountedAmount: 2 - discountAmount: 2 - couponAmount: 0 - originalPrice: 17.99 - listPrice: 15.99 - salePrice: 13.99 - extendedListPrice: 15.99 - extendedSalePrice: 13.99 - isShippingRequired: true - addedByPromotion: false + discountedAmount: 2 - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 - variantId: 341 - productId: 170 - sku: "" - name: Ceramic Measuring Spoons - url: http://your-store.mybigcommerce.com/all/ceramic-measuring-spoons/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 25 - listPrice: 25 - salePrice: 25 - extendedListPrice: 25 - extendedSalePrice: 25 - isShippingRequired: true - addedByPromotion: false + discountedAmount: 0 - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - variantId: 376 - productId: 158 - sku: SKU-A0C8A203 - name: Chambray Towel - url: http://your-store.mybigcommerce.com/all/chambray-towel/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 49.99 - listPrice: 49.99 - salePrice: 49.99 - extendedListPrice: 49.99 - extendedSalePrice: 49.99 - isShippingRequired: true - addedByPromotion: false - digitalItems: + discountedAmount: 0 - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 - variantId: 360 - productId: 189 - name: Gather Journal Issue 7 - Digital - url: http://your-store.mybigcommerce.com/all/gather-journal-issue-7/ - quantity: 1 - isTaxable: true - imageUrl: https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - originalPrice: 18.95 - listPrice: 18.95 - salePrice: 18.95 - extendedListPrice: 18.95 - extendedSalePrice: 18.95 - isShippingRequired: false - type: digital - giftCertificates: + discountedAmount: 0 - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac - name: $10.00 Gift Certificate - theme: Celebration - amount: 10 - taxable: false - sender: - name: Jane Doe - email: janedoe@example.com - recipient: - name: John Doe - email: johndoe@example.com - message: Thank you! - type: giftCertificate - createdTime: 2018-09-18T15:48:26+00:00 - updatedTime: 2018-09-18T17:47:35+00:00 + discountedAmount: 0 + lineItems: + physicalItems: + - id: 69791a88-85c9-4c19-8042-e537621e8a55 + variantId: 364 + productId: 184 + sku: SMA-RED + name: Canvas Laundry Cart + url: 'https://{store_domain}/all/canvas-laundry-cart/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2' + discounts: + - id: 2 + discountedAmount: 2 + discountAmount: 2 + couponAmount: 0 + originalPrice: 17.99 + listPrice: 15.99 + salePrice: 13.99 + extendedListPrice: 15.99 + extendedSalePrice: 13.99 + isShippingRequired: true + addedByPromotion: false + - id: ba2c619d-e6b4-48c2-8809-d88e424ed450 + variantId: 341 + productId: 170 + sku: '' + name: Ceramic Measuring Spoons + url: 'https://{store_domain}/all/ceramic-measuring-spoons/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 25 + listPrice: 25 + salePrice: 25 + extendedListPrice: 25 + extendedSalePrice: 25 + isShippingRequired: true + addedByPromotion: false + - id: c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + variantId: 376 + productId: 158 + sku: SKU-A0C8A203 + name: Chambray Towel + url: 'https://{store_domain}/all/chambray-towel/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 49.99 + listPrice: 49.99 + salePrice: 49.99 + extendedListPrice: 49.99 + extendedSalePrice: 49.99 + isShippingRequired: true + addedByPromotion: false + digitalItems: + - id: 6477a4a1-02cf-4287-8bf2-fd043bdd5234 + variantId: 360 + productId: 189 + name: Gather Journal Issue 7 - Digital + url: 'https://{store_domain}/all/gather-journal-issue-7/' + quantity: 1 + isTaxable: true + imageUrl: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + originalPrice: 18.95 + listPrice: 18.95 + salePrice: 18.95 + extendedListPrice: 18.95 + extendedSalePrice: 18.95 + isShippingRequired: false + type: digital + giftCertificates: + - id: 871f1f56-4c88-43c3-a6e5-0a647d83d6ac + name: $10.00 Gift Certificate + theme: Celebration + amount: 10 + taxable: false + sender: + name: Jane Doe + email: janedoe@example.com + recipient: + name: John Doe + email: johndoe@example.com + message: Thank you! + type: giftCertificate + createdTime: '2018-09-18T15:48:26+00:00' + updatedTime: '2018-09-18T17:47:35+00:00' billingAddress: id: 5ba11e4a10fb5 firstName: Jane @@ -2140,152 +2154,155 @@ paths: stateOrProvinceCode: TX country: United States countryCode: US - postalCode: "78751" - phone: "1234567890" + postalCode: '78751' + phone: '1234567890' customFields: - - fieldId: field_25 - fieldValue: Leave in backyard + - fieldId: field_25 + fieldValue: Leave in backyard consignments: - - id: 5ba13935c977a - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - ba2c619d-e6b4-48c2-8809-d88e424ed450 - - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 - selectedShippingOption: - id: 8458d845-a589-477c-a70d-977eed19e0d6 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Jane - lastName: Doe - email: "" - company: "" - address1: 123 Main Street - address2: "" - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: "78751" - phone: "1234567890" - customFields: [] - - id: 5ba13995cf156 - shippingCost: 62.63 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 69791a88-85c9-4c19-8042-e537621e8a55 - selectedShippingOption: - id: 989cdc72-2eee-49d8-bc71-5d466f905fdc - type: shipping_upsready - description: UPS® (UPS Next Day Air®) - imageUrl: "" - cost: 62.63 - transitTime: 1 business day - address: - firstName: John - lastName: Doe - email: "" - company: "" - address1: 555 South Street - address2: "" - city: Austin - stateOrProvince: Texas - stateOrProvinceCode: TX - country: United States - countryCode: US - postalCode: "78751" - phone: "1234567890" - customFields: [] + - id: 5ba13935c977a + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - ba2c619d-e6b4-48c2-8809-d88e424ed450 + - c72d6651-978d-45e5-881b-c2bb5f7ff1d5 + selectedShippingOption: + id: 8458d845-a589-477c-a70d-977eed19e0d6 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Jane + lastName: Doe + email: '' + company: '' + address1: 123 Main Street + address2: '' + city: Austin + stateOrProvince: Texas + stateOrProvinceCode: TX + country: United States + countryCode: US + postalCode: '78751' + phone: '1234567890' + customFields: [] + - id: 5ba13995cf156 + shippingCost: 62.63 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 69791a88-85c9-4c19-8042-e537621e8a55 + selectedShippingOption: + id: 989cdc72-2eee-49d8-bc71-5d466f905fdc + type: shipping_upsready + description: UPS® (UPS Next Day Air®) + imageUrl: '' + cost: 62.63 + transitTime: 1 business day + address: + firstName: John + lastName: Doe + email: '' + company: '' + address1: 555 South Street + address2: '' + city: Austin + stateOrProvince: Texas + stateOrProvinceCode: TX + country: United States + countryCode: US + postalCode: '78751' + phone: '1234567890' + customFields: [] shippingCostTotal: 70.63 shippingCostBeforeDiscount: 70.63 handlingCostTotal: 0 taxTotal: 29.44 coupons: [] taxes: - - name: Store Tax - amount: 29.44 + - name: Store Tax + amount: 29.44 subtotal: 117.93 grandTotal: 218 giftCertificates: [] - createdTime: 2018-09-18T15:48:26+00:00 - updatedTime: 2018-09-18T17:47:35+00:00 - customerMessage: "" - /checkouts/{checkoutId}/store-credit: + createdTime: '2018-09-18T15:48:26+00:00' + updatedTime: '2018-09-18T17:47:35+00:00' + customerMessage: '' + '/checkouts/{checkoutId}/store-credit': post: tags: - - Checkout Store Credit + - Checkout Store Credit summary: Add Store Credit description: |- Applies any available store credit to a checkout. As on the storefront, all available store credit will be used (up to the value of the order) and no amount need be specified. <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutStoreCreditAdd parameters: - - name: checkoutId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string responses: '200': - description: "" + description: '' content: application/json: schema: $ref: '#/components/schemas/checkouts_Resp' delete: tags: - - Checkout Store Credit + - Checkout Store Credit summary: Remove Store Credit description: |- Removes store credit from a checkout. <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: CheckoutsStoreCreditRemove parameters: - - name: checkoutId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string responses: '200': - description: "" + description: '' content: application/json: schema: type: object - /checkouts/{checkoutId}/spam-protection: + '/checkouts/{checkoutId}/spam-protection': post: tags: - - Checkout Spam Protection + - Checkout Spam Protection summary: Checkout Spam Protection description: |- Verifies if checkout is created by human. <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: checkoutSpamProtection parameters: - - name: checkoutId - in: path - required: true - schema: - type: string + - name: checkoutId + in: path + required: true + schema: + type: string requestBody: content: application/json: @@ -2316,7 +2333,7 @@ components: properties: id: type: string - description: "" + description: '' format: uuid cart: $ref: '#/components/schemas/checkoutCart' @@ -2324,7 +2341,7 @@ components: $ref: '#/components/schemas/address_Base' consignments: type: array - description: "" + description: '' items: $ref: '#/components/schemas/consignment_Full' coupons: @@ -2334,7 +2351,7 @@ components: $ref: '#/components/schemas/CheckoutCoupon' orderId: type: string - description: "" + description: '' nullable: true shippingCostTotal: type: number @@ -2349,7 +2366,7 @@ components: format: float taxTotal: type: number - description: "" + description: '' format: float taxes: type: array @@ -2357,13 +2374,11 @@ components: $ref: '#/components/schemas/checkoutTax' subtotal: type: number - description: Subtotal of the checkout before applying item level discounts. - Tax inclusive based on the store settings. + description: Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings. format: float grandTotal: type: number - description: The total payable amount, before applying any store credit - or gift certificate. + description: The total payable amount, before applying any store credit or gift certificate. format: float giftCertificates: type: array @@ -2378,8 +2393,7 @@ components: description: Time when the cart was last updated. customerMessage: type: string - description: Shopper's message provided as details for the order to be created - from this cart + description: Shopperʼs message provided as details for the order to be created from this cart outstandingBalance: type: number description: | @@ -2388,12 +2402,12 @@ components: type: boolean description: | `true` value indicates StoreCredit has been applied. - description: "" + description: '' x-internal: false CartCoupon: title: Cart Coupon required: - - code + - code type: object properties: id: @@ -2404,8 +2418,7 @@ components: description: the coupon code displayName: type: string - description: The coupon title based on different types provided in control - panel section. + description: The coupon title based on different types provided in control panel section. couponType: type: string description: Key name to identify the type of coupon. @@ -2424,7 +2437,7 @@ components: CheckoutCoupon: title: Checkout Coupon required: - - code + - code type: object properties: id: @@ -2435,8 +2448,7 @@ components: description: the coupon code displayName: type: string - description: The coupon title based on different types provided in control - panel section. + description: The coupon title based on different types provided in control panel section. couponType: type: integer description: |- @@ -2459,70 +2471,69 @@ components: properties: name: type: string - description: "" + description: '' email: type: string - description: "" + description: '' description: Model for sender and receiver objects. x-internal: false address_Full: title: address_Full - description: "" + description: '' allOf: - - $ref: '#/components/schemas/address_Base' - - type: object - properties: - id: - type: string - description: "" - shouldSaveAddress: - type: boolean - description: Indicates if we should add this address to the customer address - book. + - $ref: '#/components/schemas/address_Base' + - type: object + properties: + id: + type: string + description: '' + shouldSaveAddress: + type: boolean + description: Indicates whether we should add this address to the customer address book. x-internal: false address_Base: title: address_Base required: - - countryCode + - countryCode type: object properties: firstName: type: string - description: "" + description: '' lastName: type: string - description: "" + description: '' email: type: string - description: "" + description: '' company: type: string - description: "" + description: '' address1: type: string - description: "" + description: '' address2: type: string - description: "" + description: '' city: type: string - description: "" + description: '' stateOrProvince: type: string description: Represents state or province. stateOrProvinceCode: type: string - description: "" + description: '' countryCode: type: string description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' postalCode: type: string - description: "" + description: '' phone: - pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' type: string - description: "" + description: '' customFields: type: array items: @@ -2536,12 +2547,8 @@ components: type: string fieldValue: type: string - description: This can also be an array for fields that need to support list - of values (e.g., a set of check boxes.). When doing a PUT or POST to the - `fieldValue` with a pick list, the input must be a number. The response - will be a string. - description: When doing a PUT or POST to the `fieldValue` with a pick list, - the input must be a number. The response will be a string. + description: This can also be an array for fields that need to support list of values; for example, a set of checkboxes. When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string. + description: 'When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string.' x-internal: false consignment_Full: title: consignment_Full @@ -2549,7 +2556,7 @@ components: properties: id: type: string - description: "" + description: '' shippingAddress: type: object properties: {} @@ -2558,8 +2565,7 @@ components: $ref: '#/components/schemas/address_Full' availableShippingOptions: type: array - description: This is available only when "include=consignments.availableShippingOptions" - is presented in the URL. + description: 'This is available only when "include=consignments.availableShippingOptions" is present in the URL.' items: $ref: '#/components/schemas/consignmentAvailableShippingOptions' selectedShippingOption: @@ -2568,51 +2574,52 @@ components: properties: description: type: string - description: Read-only + description: Read only. + readOnly: true id: type: string - description: "" + description: '' type: type: string - description: Specified the type of shipping option. Flat rate, UPS, - etc., + description: Specifies the type of shipping option; for example, flat rate, UPS, etc. imageUrl: type: string - description: "" + description: '' cost: type: number - description: "" + description: '' format: double transitTime: type: string description: An estimate of the arrival time. additionalDescription: type: string - description: ReadOnly, Field used for Shipping Provider API. + description: Read only. Field used for Shipping Provider API. + readOnly: true couponDiscounts: type: array - description: List of consignment discounts applied through coupons + description: List of consignment discounts applied through coupons. items: title: Consignment Coupon Discount type: object properties: code: type: string - description: Coupon code that applied this discount + description: Coupon code that applied this discount. amount: type: number - description: "" + description: '' format: double discounts: type: array - description: List of consignment discounts applied through cart level discounts + description: List of consignment discounts applied through cart level discounts. items: title: Consignment Discount type: object properties: id: type: string - description: Discount rule ID that applied this discount + description: Discount rule ID that applied this discount. shippingCost: type: number description: The shipping cost for this consignment. @@ -2623,25 +2630,22 @@ components: format: double lineItemIds: type: array - description: "" + description: '' items: type: string - description: This allows us to have multiple shipping addresses. Where there - is only one shipping address, this array will contain only one value, with - all the items. + description: This allows us to have multiple shipping addresses. Where there is only one shipping address, this array will contain only one value, with all the items. x-internal: false consignmentAvailableShippingOptions: title: consignmentAvailableShippingOptions allOf: - - $ref: '#/components/schemas/consignmentShippingOption_Base' - - type: object - properties: - isRecommended: - type: boolean - description: Is this shipping method the recommended shipping option or - not. - additionalDescription: - type: string + - $ref: '#/components/schemas/consignmentShippingOption_Base' + - type: object + properties: + isRecommended: + type: boolean + description: Is this shipping method the recommended shipping option or not. + additionalDescription: + type: string x-internal: false checkoutTax: title: checkoutTax @@ -2652,7 +2656,7 @@ components: description: Name of the tax. amount: type: number - description: "" + description: '' format: double x-internal: false checkout_Put: @@ -2661,7 +2665,7 @@ components: properties: customerMessage: type: string - description: "" + description: '' x-internal: false checkouts_Resp: title: checkouts_Resp @@ -2673,7 +2677,7 @@ components: properties: id: type: string - description: "" + description: '' format: uuid cart: title: Cart @@ -2689,8 +2693,7 @@ components: format: int32 email: type: string - description: The cart's email. This is the same email that is used - in the billing address + description: The cartʼs email. This is the same email that is used in the billing address currency: title: Currency type: object @@ -2706,17 +2709,15 @@ components: description: The currency symbol. decimalPlaces: type: number - description: Number of decimal places for the currency. For - example, USD currency has two decimal places. + description: The number of decimal places for the currency. For example, the USD currency has two decimal places. format: double - description: The currency which prices are displayed (the store - default currency). + description: The currency in which prices are displayed (the store default currency). istaxIncluded: type: boolean description: Boolean representing whether tax information is included. baseAmount: type: number - description: Cost of cart’s contents, before applying discounts. + description: The cost of the cart’s contents, before applying discounts. format: double discountAmount: type: number @@ -2724,16 +2725,15 @@ components: format: double cartAmount: type: number - description: Sum of line-items amounts, minus cart-level discounts - and coupons. This amount includes taxes (where applicable). + description: Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes, where applicable. format: double coupons: type: array - description: "" + description: '' items: title: Applied Coupon required: - - code + - code type: object properties: id: @@ -2744,19 +2744,17 @@ components: description: the coupon code displayName: type: string - description: The coupon title based on different types provided - in control panel section + description: The coupon title based on different types provided in control panel section. couponType: type: string description: Key name to identify the type of coupon. discountedAmount: type: number - description: The discounted amount applied within a given - context. + description: The discounted amount applied within a given context. format: double discounts: type: array - description: "" + description: '' items: title: Applied Discount type: object @@ -2766,26 +2764,25 @@ components: description: The name provided by the merchant. discountedAmount: type: number - description: The discounted amount applied within a given - context. + description: The discounted amount applied within a given context. format: double lineItems: type: array - description: "" + description: '' items: title: Line Item required: - - digitalItems - - physicalItems + - digitalItems + - physicalItems type: object properties: physicalItems: type: array - description: "" + description: '' items: title: Item Physical required: - - quantity + - quantity type: object properties: id: @@ -2793,9 +2790,7 @@ components: description: The line-item ID. parentId: type: string - description: The product is part of a bundle such as - a product pick list, then the parentId or the main - product id will populate. + description: The product is part of a bundle, such as a product pick list, then the parentId or the main product ID will populate. variantId: type: integer description: ID of the variant. @@ -2807,7 +2802,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The itemʼs product name. url: type: string description: The product URL. @@ -2820,12 +2815,10 @@ components: description: Whether the item is taxable. imageUrl: type: string - description: URL of an image of this item, accessible - on the internet. + description: A publicly-accessible URL for an image of this item. discounts: type: array - description: List of discounts applied to this item, - as an array of AppliedDiscount objects. + description: A list of discounts applied to this item, as an array of AppliedDiscount objects. items: title: Applied Discount type: object @@ -2835,71 +2828,65 @@ components: description: The name provided by the merchant. discountedAmount: type: number - description: The discounted amount applied within - a given context. + description: The discounted amount applied within a given context. format: double discountAmount: type: number - description: The total value of all discounts applied - to this item (excluding coupon). + description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number - description: The total value of all coupons applied - to this item. + description: The total value of all coupons applied to this item. format: double listPrice: type: number - description: Item’s list price, as quoted by the manufacturer/distributor. + description: The item’s list price, as quoted by the manufacturer or distributor. format: double salePrice: type: number - description: Item's price after all discounts are applied. - (The final price before tax calculation.) + description: The itemʼs price after all discounts are applied. (The final price before tax calculation.) format: double extendedListPrice: type: number - description: Item's list price multiplied by the quantity. + description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number - description: Item's sale price multiplied by the quantity. + description: The itemʼs sale price multiplied by the quantity. format: double type: type: string description: the product type - physical or digital addedByPromotion: type: boolean - description: If the item was added automatically by - a promotion such as a coupon or buy one, get one. + description: If the item was added automatically by a promotion, such as a coupon or buy one, get one. isShippingRequired: type: boolean - description: Whether this item requires shipping to - a physical address. + description: Whether this item requires shipping to a physical address. isMutable: type: boolean - description: "" + description: '' giftWrapping: title: Gift Wrapping type: object properties: name: type: string - description: "" + description: '' message: type: string - description: "" + description: '' amount: type: number - description: "" + description: '' format: double digitalItems: type: array - description: "" + description: '' items: title: Item Digital required: - - quantity + - quantity type: object properties: id: @@ -2907,8 +2894,7 @@ components: description: The line-item ID. parentId: type: string - description: Bundled items will have their parent's - item Id. + description: Bundled items will have their parentʼs item ID. variantId: type: number description: ID of the variant. @@ -2922,7 +2908,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The itemʼs product name. url: type: string description: The product URL. @@ -2932,18 +2918,16 @@ components: format: double brand: type: string - description: The item's brand. + description: The itemʼs brand. isTaxable: type: boolean description: Whether the item is taxable. imageUrl: type: string - description: URL of an image of this item, accessible - on the internet. + description: A publicly-accessible URL for an image of this item. discounts: type: array - description: List of discounts applied to this item, - as an array of AppliedDiscount objects. + description: List of discounts applied to this item, as an array of AppliedDiscount objects. items: title: Applied Discount type: object @@ -2953,46 +2937,41 @@ components: description: The name provided by the merchant. discountedAmount: type: number - description: The discounted amount applied within - a given context. + description: The discounted amount applied within a given context. format: double discountAmount: type: number - description: The total value of all discounts applied - to this item (excluding coupon). + description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number - description: The total value of all coupons applied - to this item. + description: The total value of all coupons applied to this item. format: double listPrice: type: number - description: Item’s list price, as quoted by the manufacturer/distributor. + description: The item’s list price, as quoted by the manufacturer or distributor. format: double salePrice: type: number - description: Item's price after all discounts are applied. - (The final price before tax calculation.) + description: The itemʼs price after all discounts are applied. (The final price before tax calculation.) format: double extendedListPrice: type: number - description: Item's list price multiplied by the quantity. + description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number - description: Item's sale price multiplied by the quantity. + description: The itemʼs sale price multiplied by the quantity. format: double type: type: string description: the product type - physical or digital isMutable: type: boolean - description: "" + description: '' isShippingRequired: type: boolean - description: Whether this item requires shipping to - a physical address. + description: Whether this item requires shipping to a physical address. downloadFileUrls: type: array description: URLs to download all product files. @@ -3003,18 +2982,17 @@ components: description: The URL for the combined downloads page. downloadSize: type: string - description: 'Combined download size, in human-readable - style. E.g.: `30MB`.' + description: 'Specifies the combined download size in human-readable style; for example, `30MB`.' giftCertificate: type: array - description: "" + description: '' items: title: Item Gift Certificate required: - - amount - - recipient - - sender - - theme + - amount + - recipient + - sender + - theme type: object properties: id: @@ -3022,46 +3000,43 @@ components: description: Gift certificate identifier name: type: string - description: Name of the purchased gift certificate - e.g. $20 Gift Certificate + description: 'The name of the purchased gift certificate; for example, `$20 Gift Certificate`.' theme: type: string - description: Currently supports `Birthday`, `Boy`, `Celebration`, - `Christmas`, `General`, and `Girl`. + description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' amount: type: number - description: Value must be between $1.00 and $1,000.00. + description: 'Value must be between $1.00 and $1,000.00.' format: double taxable: type: boolean - description: "" + description: '' sender: title: Contact Entity type: object properties: name: type: string - description: "" + description: '' email: type: string - description: "" + description: '' recipient: title: Contact Entity type: object properties: name: type: string - description: "" + description: '' email: type: string - description: "" + description: '' message: type: string description: Limited to 200 characters. type: type: string - description: Explicitly specifying the gift certificate - type + description: Explicitly specifying the gift certificate type. customItems: type: array items: @@ -3070,10 +3045,10 @@ components: properties: id: type: string - description: Id of the custom item + description: ID of the custom item sku: type: string - description: Custom item sku + description: Custom item SKU name: type: string description: Item name @@ -3081,8 +3056,7 @@ components: type: string listPrice: type: string - description: Price of the item. With or without tax - depending on your stores set up. + description: Price of the item. With or without tax depending on your store setup. description: |- Add a custom item to the shoppers cart. * Custom items are not added to the catalog. @@ -3093,85 +3067,81 @@ components: updatedTime: type: string description: Time when the cart was last updated. - description: A cart contains a collection of items, prices, discounts, - etc. It does not contain customer-related data. + description: A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data. billingAddress: title: Address Response type: object allOf: - - title: Address Properties - required: - - countryCode - type: object - properties: - firstName: - type: string - description: "" - lastName: - type: string - description: "" - email: - type: string - description: "" - company: - type: string - description: "" - address1: - type: string - description: "" - address2: - type: string - description: "" - city: - type: string - description: "" - stateOrProvince: - type: string - description: Represents state or province. - stateOrProvinceCode: - type: string - description: "" - countryCode: - type: string - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' - postalCode: - type: string - description: "" - phone: - pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ - type: string - description: "" - customFields: - type: array - description: "" - items: - title: CustomField - type: object - properties: - fieldId: - type: string - description: "" - fieldValue: - type: string - description: This can also be an array for fields that need - to support list of values (e.g., a set of check boxes.) - - type: object - properties: - id: - type: string - description: "" + - title: Address Properties + required: + - countryCode + type: object + properties: + firstName: + type: string + description: '' + lastName: + type: string + description: '' + email: + type: string + description: '' + company: + type: string + description: '' + address1: + type: string + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + stateOrProvince: + type: string + description: Represents state or province. + stateOrProvinceCode: + type: string + description: '' + countryCode: + type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' + postalCode: + type: string + description: '' + phone: + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + type: string + description: '' + customFields: + type: array + description: '' + items: + title: CustomField + type: object + properties: + fieldId: + type: string + description: '' + fieldValue: + type: string + description: This can also be an array for fields that need to support list of values; for example, a set of checkboxes. + - type: object + properties: + id: + type: string + description: '' consignments: type: array - description: This allows us to have multiple shipping addresses. Where - there is only one shipping address, this array will contain only one - value, with all the items. + description: This allows you to have multiple shipping addresses per checkout. Where there is only one shipping address, this array will contain only one value, with all the items. items: title: Consignment type: object properties: id: type: string - description: "" + description: '' shippingAddress: type: object properties: {} @@ -3180,125 +3150,121 @@ components: title: Address Response type: object allOf: - - title: Address Properties - required: - - countryCode - type: object - properties: - firstName: - type: string - description: "" - lastName: - type: string - description: "" - email: - type: string - description: "" - company: - type: string - description: "" - address1: - type: string - description: "" - address2: - type: string - description: "" - city: - type: string - description: "" - stateOrProvince: - type: string - description: Represents state or province. - stateOrProvinceCode: - type: string - description: "" - countryCode: - type: string - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' - postalCode: - type: string - description: "" - phone: - pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ - type: string - description: "" - customFields: - type: array - description: "" - items: - title: CustomField - type: object - properties: - fieldId: - type: string - description: "" - fieldValue: - type: string - description: This can also be an array for fields - that need to support list of values (e.g., a set - of check boxes.) - - type: object - properties: - id: - type: string - description: "" - availableShippingOptions: - type: array - description: This is available only when "include=consignments.availableShippingOptions" - is presented in the URL. - items: - title: Shipping Option Entity - type: object - allOf: - - title: Selected Shipping Option + - title: Address Properties + required: + - countryCode type: object properties: - description: + firstName: type: string - description: Read-only - id: + description: '' + lastName: type: string - description: "" - type: + description: '' + email: type: string - description: Specified the type of shipping option. Flat - rate, UPS, etc., - imageUrl: + description: '' + company: type: string - description: "" - cost: - type: number - description: "" - format: double - transitTime: + description: '' + address1: type: string - description: An estimate of the arrival time. + description: '' + address2: + type: string + description: '' + city: + type: string + description: '' + stateOrProvince: + type: string + description: Represents state or province. + stateOrProvinceCode: + type: string + description: '' + countryCode: + type: string + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' + postalCode: + type: string + description: '' + phone: + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' + type: string + description: '' + customFields: + type: array + description: '' + items: + title: CustomField + type: object + properties: + fieldId: + type: string + description: '' + fieldValue: + type: string + description: This can also be an array for fields that need to support list of values; for example, a set of checkboxes. - type: object properties: - isRecommended: - type: boolean - description: Is this shipping method the recommended shipping - option or not. + id: + type: string + description: '' + availableShippingOptions: + type: array + description: This is available only when "include=consignments.availableShippingOptions" is presented in the URL. + items: + title: Shipping Option Entity + type: object + allOf: + - title: Selected Shipping Option + type: object + properties: + description: + type: string + description: Read only. + readOnly: true + id: + type: string + description: '' + type: + type: string + description: 'Specified the type of shipping option. Flat rate, UPS, etc.,' + imageUrl: + type: string + description: '' + cost: + type: number + description: '' + format: double + transitTime: + type: string + description: An estimate of the arrival time. + - type: object + properties: + isRecommended: + type: boolean + description: Is this shipping method the recommended shipping option or not. selectedShippingOption: title: Selected Shipping Option type: object properties: description: type: string - description: Read-only + description: Read only. + readOnly: true id: type: string - description: "" + description: '' type: type: string - description: Specified the type of shipping option. Flat rate, - UPS, etc., + description: Specifies the type of shipping option; for example, flat rate, UPS, etc. imageUrl: type: string - description: "" + description: '' cost: type: number - description: "" + description: '' format: double transitTime: type: string @@ -3315,12 +3281,11 @@ components: description: Coupon code that applied this discount amount: type: number - description: "" + description: '' format: double discounts: type: array - description: List of consignment discounts applied through cart - level discounts + description: List of consignment discounts applied through cart level discounts. items: title: Consignment Discount type: object @@ -3338,10 +3303,10 @@ components: format: double lineItemIds: type: array - description: "" + description: '' items: type: string - description: "" + description: '' coupons: type: array description: Coupons applied at checkout level. @@ -3349,7 +3314,7 @@ components: $ref: '#/components/schemas/CheckoutCoupon' orderId: type: string - description: "" + description: '' shippingCostTotal: type: number description: Shipping cost before any discounts are applied. @@ -3359,12 +3324,11 @@ components: description: Gift wrapping for all items, including or excluding tax. handlingCostTotal: type: number - description: Handling cost for all consignments including or excluding - tax. + description: Handling cost for all consignments including or excluding tax. format: float taxTotal: type: number - description: "" + description: '' format: float taxes: type: array @@ -3373,8 +3337,7 @@ components: properties: name: type: string - description: Name of the tax charged. This is either the system - default or the custom name created for the tax. + description: Name of the tax charged. This is either the system default or the custom name created for the tax. example: Texas Taxes amount: type: number @@ -3383,13 +3346,11 @@ components: example: 1.12 subtotal: type: number - description: Subtotal of the checkout before applying item level discounts. - Tax inclusive based on the store settings. + description: Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings. format: float grandTotal: type: number - description: The total payable amount, before applying any store credit - or gift certificate. + description: The total payable amount, before applying any store credit or gift certificate. format: float giftCertificates: type: array @@ -3400,25 +3361,24 @@ components: properties: balance: type: number - description: "" + description: '' format: double code: type: string - description: "" + description: '' purchaseDate: type: string - description: "" + description: '' format: date remaining: type: number - description: "" + description: '' format: double used: type: number - description: "" + description: '' format: double - description: The values presented here are projections of how much - we would be using out of an existent gift certificate + description: The values presented here are projections of how much we would be using out of an existing gift certificate. createdTime: type: string description: Time when the cart was created. @@ -3427,8 +3387,7 @@ components: description: Time when the cart was last updated. customerMessage: type: string - description: Shopper's message provided as details for the order to - be created from this cart + description: Shopperʼs message provided as details for the order to be created from this cart. outstandingBalance: type: number description: | @@ -3444,36 +3403,35 @@ components: properties: quantity: type: number - description: "" + description: '' format: double productId: type: number - description: "" + description: '' format: double variantId: type: number - description: "" + description: '' format: double x-internal: false cartLineItemGiftCertificate_Put: title: cartLineItemGiftCertificate_Put required: - - amount - - quantity - - recipient - - sender - - theme + - amount + - quantity + - recipient + - sender + - theme type: object properties: theme: type: string - description: Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, - `General`, and `Girl`. + description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' amount: - maximum: 1E+3 + maximum: 1000 minimum: 1 type: number - description: "" + description: '' format: double sender: $ref: '#/components/schemas/contactEntity' @@ -3484,7 +3442,7 @@ components: description: Message shown to recipient, as provided by sender. quantity: type: number - description: "" + description: '' format: double x-internal: false CreateConsignmentRequest: @@ -3498,46 +3456,46 @@ components: address: title: Address Properties required: - - countryCode + - countryCode type: object properties: firstName: type: string - description: "" + description: '' lastName: type: string - description: "" + description: '' email: type: string - description: "" + description: '' company: type: string - description: "" + description: '' address1: type: string - description: "" + description: '' address2: type: string - description: "" + description: '' city: type: string - description: "" + description: '' stateOrProvince: type: string description: Represents state or province. stateOrProvinceCode: type: string - description: "" + description: '' countryCode: type: string description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' postalCode: type: string - description: "" + description: '' phone: - pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' type: string - description: "" + description: '' customFields: type: array items: @@ -3549,24 +3507,23 @@ components: type: string shouldSaveAddress: type: boolean - description: Indicates if we should add this address to the customer - address book. + description: Indicates whether we should add this address to the customer address book. lineItems: type: array - description: "" + description: '' items: title: Consignment Line Item required: - - itemId - - quantity + - itemId + - quantity type: object properties: itemId: type: string - description: "" + description: '' quantity: type: integer - description: "" + description: '' format: int32 x-internal: false GiftCertificateRequest: @@ -3575,7 +3532,7 @@ components: properties: giftCertificateCode: type: string - description: "" + description: '' x-internal: false cart_Put: title: cart_Put @@ -3597,46 +3554,46 @@ components: address: title: Address Properties required: - - countryCode + - countryCode type: object properties: firstName: type: string - description: "" + description: '' lastName: type: string - description: "" + description: '' email: type: string - description: "" + description: '' company: type: string - description: "" + description: '' address1: type: string - description: "" + description: '' address2: type: string - description: "" + description: '' city: type: string - description: "" + description: '' stateOrProvince: type: string description: Represents state or province. stateOrProvinceCode: type: string - description: "" + description: '' countryCode: type: string description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' postalCode: type: string - description: "" + description: '' phone: - pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' type: string - description: "" + description: '' customFields: type: array items: @@ -3648,32 +3605,28 @@ components: type: string shouldSaveAddress: type: boolean - description: Indicates if we should add this address to the customer - address book. + description: Indicates whether we should add this address to the customer address book. lineItems: type: array - description: "" + description: '' items: title: Consignment Line Item required: - - itemId - - quantity + - itemId + - quantity type: object properties: itemId: type: string - description: "" + description: '' quantity: type: integer - description: "" + description: '' format: int32 shippingOptionId: type: string - description: "" - description: One or more of these three fields are mandatory. Shipping address - and line items can be updated in one request. Shipping option ID has to be - updated in a separate request, since changing the address or line items can - invalidate the previously available shipping options. + description: '' + description: One or more of these three fields are mandatory. Shipping address and line items can be updated in one request. Shipping option ID has to be updated in a separate request, since changing the address or line items can invalidate the previously available shipping options. x-internal: false checkoutCart: title: checkoutCart @@ -3689,8 +3642,7 @@ components: format: int32 email: type: string - description: The cart's email. This is the same email that is used in the - billing address + description: The cartʼs email. This is the same email that is used in the billing address. currency: title: Currency type: object @@ -3706,11 +3658,9 @@ components: description: The currency symbol. decimalPlaces: type: number - description: Number of decimal places for the currency. For example, - USD currency has two decimal places. + description: The number of decimal places for the currency. For example, the USD currency has two decimal places. format: double - description: The currency which prices are displayed (the store default - currency). + description: The currency in which prices are displayed; the store default currency. isTaxIncluded: type: boolean description: Boolean representing whether tax information is included. @@ -3724,17 +3674,16 @@ components: format: double cartAmount: type: number - description: Sum of line-items amounts, minus cart-level discounts and coupons. - This amount includes taxes (where applicable). + description: Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes, where applicable. format: double coupons: type: array - description: "" + description: '' items: $ref: '#/components/schemas/CartCoupon' discounts: type: array - description: "" + description: '' items: title: Applied Discount type: object @@ -3748,21 +3697,21 @@ components: format: double lineItems: type: object - description: "" + description: '' items: title: Line Item required: - - digitalItems - - physicalItems + - digitalItems + - physicalItems type: object properties: physicalItems: type: array - description: "" + description: '' items: title: Item Physical required: - - quantity + - quantity type: object properties: id: @@ -3770,8 +3719,7 @@ components: description: The line-item ID. parentId: type: string - description: The product is part of a bundle such as a product - pick list, then the parentId or the main product id will populate. + description: The product is part of a bundle such as a product pick list, then the parentId or the main product ID will populate. variantId: type: integer description: ID of the variant. @@ -3783,7 +3731,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The itemʼs product name. url: type: string description: The product URL. @@ -3796,12 +3744,10 @@ components: description: Whether the item is taxable. imageUrl: type: string - description: URL of an image of this item, accessible on the - internet. + description: A publicly-accessible URL for an image of this item. discounts: type: array - description: List of discounts applied to this item, as an array - of AppliedDiscount objects. + description: A list of discounts applied to this item, as an array of AppliedDiscount objects. items: title: Applied Discount type: object @@ -3811,77 +3757,71 @@ components: description: The name provided by the merchant. discountedAmount: type: number - description: The discounted amount applied within a given - context. + description: The discounted amount applied within a given context. format: double discountAmount: type: number - description: The total value of all discounts applied to this - item (excluding coupon). + description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number - description: The total value of all coupons applied to this - item. + description: The total value of all coupons applied to this item. format: double listPrice: type: number - description: Item’s list price, as quoted by the manufacturer/distributor. + description: The item’s list price, as quoted by the manufacturer or distributor. format: double salePrice: type: number - description: Item's price after all discounts are applied. (The - final price before tax calculation.) + description: The itemʼs price after all discounts are applied. The final price before tax calculation. format: double extendedListPrice: type: number - description: Item's list price multiplied by the quantity. + description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number - description: Item's sale price multiplied by the quantity. + description: The itemʼs sale price multiplied by the quantity. format: double comparisonPrice: type: number - description: Item's comparison price + description: The itemʼs comparison price extendedComparisonPrice: type: number - description: Item's comparison price multiplied by the quantity. + description: The itemʼs comparison price multiplied by the quantity. type: type: string description: the product type - physical or digital addedByPromotion: type: boolean - description: If the item was added automatically by a promotion - such as a coupon or buy one, get one. + description: If the item was added automatically by a promotion, such as a coupon or buy one, get one. isShippingRequired: type: boolean - description: Whether this item requires shipping to a physical - address. + description: Whether this item requires shipping to a physical address. isMutable: type: boolean - description: "" + description: '' giftWrapping: title: Gift Wrapping type: object properties: name: type: string - description: "" + description: '' message: type: string - description: "" + description: '' amount: type: number - description: "" + description: '' format: double digitalItems: type: array - description: "" + description: '' items: title: Item Digital required: - - quantity + - quantity type: object properties: id: @@ -3889,7 +3829,7 @@ components: description: The line-item ID. parentId: type: string - description: Bundled items will have their parent's item Id. + description: Bundled items will have their parentʼs item ID. variantId: type: number description: ID of the variant. @@ -3903,7 +3843,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The itemʼs product name. url: type: string description: The product URL. @@ -3916,12 +3856,10 @@ components: description: Whether the item is taxable. imageUrl: type: string - description: URL of an image of this item, accessible on the - internet. + description: A publicly-accessible URL for an image of this item. discounts: type: array - description: List of discounts applied to this item, as an array - of AppliedDiscount objects. + description: A list of discounts applied to this item, as an array of AppliedDiscount objects. items: title: Applied Discount type: object @@ -3931,43 +3869,38 @@ components: description: The name provided by the merchant. discountedAmount: type: number - description: The discounted amount applied within a given - context. + description: The discounted amount applied within a given context. format: double discountAmount: type: number - description: The total value of all discounts applied to this - item (excluding coupon). + description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number - description: The total value of all coupons applied to this - item. + description: The total value of all coupons applied to this item. format: double listPrice: type: number - description: Item’s list price, as quoted by the manufacturer/distributor. + description: The item’s list price, as quoted by the manufacturer or distributor. format: double salePrice: type: number - description: Item's price after all discounts are applied. (The - final price before tax calculation.) + description: The itemʼs price after all discounts are applied. The final price before tax calculation. format: double extendedListPrice: type: number - description: Item's list price multiplied by the quantity. + description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number - description: Item's sale price multiplied by the quantity. + description: The itemʼs sale price multiplied by the quantity. format: double type: type: string - description: the product type - physical or digital + description: The product type - physical or digital. isShippingRequired: type: boolean - description: Whether this item requires shipping to a physical - address. + description: Whether this item requires shipping to a physical address. downloadFileUrls: type: array description: URLs to download all product files. @@ -3978,18 +3911,17 @@ components: description: The URL for the combined downloads page. downloadSize: type: string - description: 'Combined download size, in human-readable style. - E.g.: `30MB`.' + description: 'Specifies the combined download size in human-readable style; for example, `30MB`.' giftCertificate: type: array - description: "" + description: '' items: title: Item Gift Certificate required: - - amount - - recipient - - sender - - theme + - amount + - recipient + - sender + - theme type: object properties: id: @@ -3997,45 +3929,43 @@ components: description: Gift certificate identifier name: type: string - description: Name of the purchased gift certificate e.g. $20 - Gift Certificate + description: 'The name of the purchased gift certificate; for example, `$20 Gift Certificate`.' theme: type: string - description: Currently supports `Birthday`, `Boy`, `Celebration`, - `Christmas`, `General`, and `Girl`. + description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' amount: type: number - description: Value must be between $1.00 and $1,000.00. + description: 'Value must be between $1.00 and $1,000.00.' format: double taxable: type: boolean - description: "" + description: '' sender: title: Contact Entity type: object properties: name: type: string - description: "" + description: '' email: type: string - description: "" + description: '' recipient: title: Contact Entity type: object properties: name: type: string - description: "" + description: '' email: type: string - description: "" + description: '' message: type: string description: Limited to 200 characters. type: type: string - description: Explicitly specifying the gift certificate type + description: Explicitly specifying the gift certificate type. customItems: type: array items: @@ -4044,19 +3974,18 @@ components: properties: id: type: string - description: Id of the custom item + description: ID of the custom item. sku: type: string - description: Custom item sku + description: Custom item SKU. name: type: string - description: Item name + description: Item name. quantity: type: string listPrice: type: string - description: Price of the item. With or without tax depending - on your stores set up. + description: Price of the item. With or without tax depending on your store setup. description: |- Add a custom item to the shoppers cart. * Custom items are not added to the catalog. @@ -4067,8 +3996,7 @@ components: updatedTime: type: string description: Time when the cart was last updated. - description: A cart contains a collection of items, prices, discounts, etc. - It does not contain customer-related data. + description: A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data. x-internal: false checkoutGiftCertificates: title: checkoutGiftCertificates @@ -4080,25 +4008,24 @@ components: properties: balance: type: number - description: "" + description: '' format: double code: type: string - description: "" + description: '' purchaseDate: type: string - description: "" + description: '' format: date remaining: type: number - description: "" + description: '' format: double used: type: number - description: "" + description: '' format: double - description: The values presented here are projections of how much we would - be using out of an existent gift certificate + description: The values presented here are projections of how much we would be using out of an existent gift certificate x-internal: false consignmentShippingOption_Base: title: consignmentShippingOption_Base @@ -4106,19 +4033,20 @@ components: properties: description: type: string - description: Read-only + description: Read only. + readOnly: true id: type: string - description: "" + description: '' type: type: string - description: Specified the type of shipping option. Flat rate, UPS, etc., + description: Specifies the type of shipping option; for example, flat rate, UPS, etc. imageUrl: type: string - description: "" + description: '' cost: type: number - description: "" + description: '' format: double transitTime: type: string @@ -4126,7 +4054,7 @@ components: x-internal: false responses: Checkout: - description: "" + description: '' content: application/json: schema: @@ -4148,82 +4076,82 @@ components: cartAmount: 7.95 coupons: [] discounts: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - discountedAmount: 0 + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + discountedAmount: 0 lineItems: physicalItems: - - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 - parentId: {} - variantId: 345 - productId: 174 - sku: "" - name: 1L Le Parfait Jar - url: https:/{$$.env.store_domain}/all/1l-le-parfait-jar/ - quantity: 1 - brand: OFS - isTaxable: true - imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 - discounts: [] - discountAmount: 0 - couponAmount: 0 - listPrice: 7.95 - salePrice: 7.95 - extendedListPrice: 7.95 - extendedSalePrice: 7.95 - isShippingRequired: true - giftWrapping: {} - addedByPromotion: false + - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 + parentId: {} + variantId: 345 + productId: 174 + sku: '' + name: 1L Le Parfait Jar + url: 'https://{store_domain}/all/1l-le-parfait-jar/' + quantity: 1 + brand: OFS + isTaxable: true + imageUrl: 'https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2' + discounts: [] + discountAmount: 0 + couponAmount: 0 + listPrice: 7.95 + salePrice: 7.95 + extendedListPrice: 7.95 + extendedSalePrice: 7.95 + isShippingRequired: true + giftWrapping: {} + addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com - company: "" + company: '' address1: Mauna Kea Access Rd - address2: "" + address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US - postalCode: "96720" - phone: "8081234567" + postalCode: '96720' + phone: '8081234567' customFields: [] consignments: - - id: 5c377ead30ac1 - shippingCost: 8 - handlingCost: 0 - couponDiscounts: [] - discounts: [] - lineItemIds: - - 243c9ca2-22b4-417a-8b09-b3fc05778b52 - selectedShippingOption: - id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 - type: shipping_byweight - description: Ship by Weight - imageUrl: "" - cost: 8 - transitTime: "" - address: - firstName: Dwayne - lastName: Cole - email: dwaynecole@testing.com - company: "" - address1: Mauna Kea Access Rd - address2: "" - city: Hilo - stateOrProvince: Hawaii - stateOrProvinceCode: HI - country: United States - countryCode: US - postalCode: "96720" - phone: "8081234567" - customFields: [] + - id: 5c377ead30ac1 + shippingCost: 8 + handlingCost: 0 + couponDiscounts: [] + discounts: [] + lineItemIds: + - 243c9ca2-22b4-417a-8b09-b3fc05778b52 + selectedShippingOption: + id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 + type: shipping_byweight + description: Ship by Weight + imageUrl: '' + cost: 8 + transitTime: '' + address: + firstName: Dwayne + lastName: Cole + email: dwaynecole@testing.com + company: '' + address1: Mauna Kea Access Rd + address2: '' + city: Hilo + stateOrProvince: Hawaii + stateOrProvinceCode: HI + country: United States + countryCode: US + postalCode: '96720' + phone: '8081234567' + customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 @@ -4231,14 +4159,14 @@ components: taxTotal: 1.22 coupons: [] taxes: - - name: Tax - amount: 1.22 + - name: Tax + amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] - createdTime: 2019-01-10T17:18:00+00:00 - updatedTime: 2019-01-10T17:19:47+00:00 - customerMessage: "" + createdTime: '2019-01-10T17:18:00+00:00' + updatedTime: '2019-01-10T17:19:47+00:00' + customerMessage: '' parameters: include: name: include @@ -4246,4 +4174,3 @@ components: schema: type: string default: consignments.availableShippingOptions - diff --git a/reference/consent.sf.yml b/reference/consent.sf.yml index 7c6cf007a..0dc47193b 100644 --- a/reference/consent.sf.yml +++ b/reference/consent.sf.yml @@ -1,6 +1,9 @@ -openapi: 3.0.1 +openapi: '3.0.1' servers: - - url: 'https://{$$.env.store_domain}/api/storefront' + - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: yourstore.example.com info: title: Storefront Cookie Consent description: Specify shopper cookie consent preferences @@ -33,7 +36,7 @@ paths: - 4 description: 'Data sent to the [Update Customer Consent](/api-reference/store-management/customers-v3/customer-consent/customersconsentbycustomerid-put) Customers V3 endpoint when creating a customer during checkout' required: true - description: |- + description: | Sets the status of a customer's consent to allow data collection by cookies and scripts according to the following consent categories: @@ -45,6 +48,9 @@ paths: This endpoint only works if the cookie consent feature is enabled. It is assumed the shopper has not consented to anything until a value is explicitly set. The request body must be populated with a complete set of allowed and denied categories. Once set, consent preferences will be saved as a cookie for guest shoppers. Consent preferences will be persisted to a shopper's account to be used for future sessions once they have logged in. Consent preferences can also be managed using the [Customer Consent](/api-reference/store-management/customers-v3/customer-consent/) V3 endpoint. + + > #### Note + > * Substitute your storefront domain for `yourstore.example.com`. operationId: postConsent parameters: [] components: diff --git a/reference/current_customer.yml b/reference/current_customer.yml index 0e14c3b35..ee5a1165d 100644 --- a/reference/current_customer.yml +++ b/reference/current_customer.yml @@ -1,4 +1,4 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Current Customer description: |- @@ -8,17 +8,21 @@ info: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. - version: "" + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. + version: '' servers: -- url: https://{$$.env.store_domain} + - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: yourstore.example.com tags: -- name: Current Customers + - name: Current Customers paths: /customer/current.jwt: get: tags: - - Current Customers + - Current Customers summary: Get Current Customer description: |- Identify logged-in customers securely via JavaScript. @@ -28,15 +32,15 @@ paths: > The Send a Test Request feature is not currently supported for this endpoint. operationId: getCurrentCustomer parameters: - - name: app_client_id - in: query - required: true - description: This is your application's client ID, which is obtained during application registration in the Developer Portal. - schema: - type: string + - name: app_client_id + in: query + required: true + description: This is your applicationʼs client ID, which is obtained during application registration in the Developer Portal. + schema: + type: string responses: default: - description: "" + description: '' content: application/json: schema: @@ -59,9 +63,7 @@ paths: example: '"6"' iss: type: string - description: Indicates the token’s issuer. This is your application’s - client ID, which is obtained during application registration - in Developer Portal. + description: Indicates the token’s issuer. This is your application’s client ID, which is obtained during application registration in Developer Portal. example: '"bc/apps"' sub: type: string @@ -69,14 +71,11 @@ paths: example: '"abc123"' iat: type: integer - description: Time when the token was generated. This is a numeric - value indicating the number of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time). + description: 'Time when the token was generated. This is a numeric value indicating the number of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time).' example: 1480831863 exp: type: integer - description: Time when the token expires. The token usually expires - after 15 minutes. This is a numeric value indicating the number - of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time). + description: 'Time when the token expires. The token usually expires after 15 minutes. This is a numeric value indicating the number of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time).' example: 1480832763 version: type: integer @@ -84,9 +83,7 @@ paths: example: 1 aud: type: string - description: The "aud" (audience) claim identifies the recipients - that the JWT is intended for. This should match the *App Client - ID* and the `application_id`. + description: 'The "aud" (audience) claim identifies the recipients that the JWT is intended for. This should match the *App Client ID* and the `application_id`.' example: '"6sv16tfx3j5gsopm42ss5dd67g2srvq"' application_id: type: string @@ -103,7 +100,7 @@ paths: customer: id: 4927 email: john.doe@gmail.com - group_id: "6" + group_id: '6' iss: bc/apps sub: abc123 iat: 1480831863 diff --git a/reference/customers.sf.yml b/reference/customers.sf.yml index 89b9f20ef..4f4dcf002 100644 --- a/reference/customers.sf.yml +++ b/reference/customers.sf.yml @@ -4,7 +4,10 @@ info: title: Storefront Customers description: Manage customers and data via front-end JavaScript on BigCommerce stencil powered storefronts. servers: - - url: 'https://{$$.env.store_domain}/api/storefront' + - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: yourstore.example.com tags: - name: Customers paths: @@ -17,7 +20,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. responses: '204': description: Customer succesfully created diff --git a/reference/form_fields.sf.yml b/reference/form_fields.sf.yml index 4031c6086..bfbd5f7c9 100644 --- a/reference/form_fields.sf.yml +++ b/reference/form_fields.sf.yml @@ -24,7 +24,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. parameters: - name: filter in: query diff --git a/reference/orders.sf.yml b/reference/orders.sf.yml index 8a7b70270..ddd05a9e1 100644 --- a/reference/orders.sf.yml +++ b/reference/orders.sf.yml @@ -1,39 +1,47 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Storefront Orders description: Get order data immediately after an order is placed on the storefront. - termsOfService: "" - version: "" + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' servers: -- url: https://api.bigcommerce.com/api/storefront + - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: yourstore.example.com tags: -- name: Order + - name: Order paths: - /orders/{orderId}: + '/orders/{orderId}': get: tags: - - Order + - Order summary: Get Order description: |- Returns *Order* data. This will return order data immediately after an order is placed on the storefront. <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. operationId: OrdersByOrderIdGet parameters: - - name: orderId - in: path - description: ID of an Order. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - format: int32 + - name: orderId + in: path + description: ID of an Order. + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer + format: int32 responses: '200': - description: "" + description: '' content: application/json: schema: @@ -46,8 +54,7 @@ components: properties: order: $ref: '#/components/schemas/Order' - description: Response data container for Order endpoints (`POST /order` and - `POST /order/{orderId}`). + description: 'Response data container for Order endpoints (`POST /order` and `POST /order/{orderId}`).' x-internal: false Order: title: Order @@ -57,11 +64,11 @@ components: multipleOf: 1 minimum: 1 type: number - description: "" + description: '' format: double cartId: type: string - description: The Id of cart that was converted to order. + description: The ID of cart that was converted to order. format: uuid currency: $ref: '#/components/schemas/Currency' @@ -70,7 +77,7 @@ components: description: Whether this item is taxable. baseAmount: type: number - description: Cost of cart's contents, before applying discounts. + description: Cost of cartʼs contents before applying discounts. format: double discountAmount: type: number @@ -81,8 +88,7 @@ components: description: Gift wrapping for all items, including or excluding tax. orderAmount: type: number - description: Sum of line-items amounts, minus cart-level discounts and coupons. - This amount includes taxes (where applicable). + description: Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes where applicable. format: double orderAmountAsInteger: type: number @@ -100,7 +106,7 @@ components: $ref: '#/components/schemas/OrderLineItem' customerId: type: string - description: "" + description: '' billingAddress: $ref: '#/components/schemas/AddressProperties' status: @@ -110,15 +116,13 @@ components: description: Specifies whether this order has at least one digital item. isDownloadable: type: boolean - description: Specifies whether this order is fully paid, so that digital - items can be downloaded. + description: Specifies whether this order is fully paid, so that digital items can be downloaded. isComplete: type: boolean - description: Specifies whether this order is complete and ready to be taken - to the order confirmation page. + description: Specifies whether this order is complete and ready to be taken to the order confirmation page. customerMessage: type: string - description: Shopper's provided message for the order + description: Shopperʼs provided message for the order. shippingCostTotal: type: integer shippingCostBeforeDiscount: @@ -140,7 +144,7 @@ components: type: integer channelId: type: number - description: Id of the channel which the order belongs to. + description: ID of the channel which the order belongs to. consignments: $ref: '#/components/schemas/Consignments' x-internal: false @@ -159,15 +163,14 @@ components: description: The currency symbol. decimalPlaces: type: number - description: Number of decimal places for the currency. For example, USD - currency has two decimal places. + description: Number of decimal places for the currency. For example, USD currency has two decimal places. format: double description: This will always be the same between cart and checkout. x-internal: false AppliedCoupon: title: Applied Coupon required: - - code + - code type: object properties: id: @@ -178,8 +181,7 @@ components: description: the coupon code displayName: type: string - description: The coupon title based on different types provided in control - panel section + description: The coupon title based on different types provided in control panel section. couponType: type: string description: Key name to identify the type of coupon. @@ -194,15 +196,15 @@ components: properties: coupon: type: number - description: Property key is discount ID, value is discount amount. + description: Property key is discount ID; property value is discount amount. example: 8.28 x-internal: false OrderLineItem: title: Order Line Item required: - - digitalItems - - giftCertificate - - physicalItems + - digitalItems + - giftCertificate + - physicalItems type: object properties: physicalItems: @@ -224,7 +226,7 @@ components: ItemPhysical: title: Item Physical required: - - quantity + - quantity type: object properties: id: @@ -232,7 +234,7 @@ components: description: The line-item ID. parentId: type: string - description: Bundled items will have their parent's item Id. + description: Bundled items will have their parentʼs item ID. variantId: type: number description: ID of the variant. @@ -246,7 +248,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The itemʼs product name. url: type: string description: The product URL. @@ -259,16 +261,13 @@ components: description: Whether the item is taxable. imageUrl: type: string - description: URL of an image of this item, accessible on the internet. + description: A publicly-accessible URL for an image of this item. discounts: type: object - description: 'List of discounts applied to this item. If no discount applied, - empty array is returned. If discount has been applied, discount object - returned. ' + description: List of discounts applied to this item. If no discount applied, empty array is returned. If discount has been applied, discount object returned. discountAmount: type: number - description: The total value of all discounts applied to this item (excluding - coupon). + description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number @@ -276,20 +275,19 @@ components: format: double listPrice: type: number - description: Item's list price, as quoted by the manufacturer/distributor. + description: The itemʼs list price, as quoted by the manufacturer/distributor. format: double salePrice: type: number - description: Item's price after all discounts are applied. (The final price - before tax calculation.) + description: The itemʼs price after all discounts are applied. (The final price before tax calculation.) format: double extendedListPrice: type: number - description: Item's list price multiplied by the quantity. + description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number - description: Item's sale price multiplied by the quantity. + description: The itemʼs sale price multiplied by the quantity. format: double type: type: string @@ -304,7 +302,7 @@ components: $ref: '#/components/schemas/GiftWrapping' categories: type: array - description: 'Categories the item belongs to. ' + description: Categories the item belongs to. items: type: object x-internal: false @@ -314,19 +312,19 @@ components: properties: name: type: string - description: "" + description: '' message: type: string - description: "" + description: '' amount: type: number - description: "" + description: '' format: double x-internal: false OrderItemDigital: title: Order Item Digital required: - - quantity + - quantity type: object properties: id: @@ -334,7 +332,7 @@ components: description: The line-item ID. parentId: type: string - description: Bundled items will have their parent's item Id. + description: Bundled items will have their parentʼs item ID. variantId: type: number description: ID of the variant. @@ -348,7 +346,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The itemʼs product name. url: type: string description: The product URL. @@ -361,17 +359,15 @@ components: description: Whether the item is taxable. imageUrl: type: string - description: URL of an image of this item, accessible on the internet. + description: A publicly-accessible URL for an image of this item. discounts: type: array - description: List of discounts applied to this item, as an array of AppliedDiscount - objects. + description: A list of discounts applied to this item, as an array of AppliedDiscount objects. items: $ref: '#/components/schemas/AppliedDiscount' discountAmount: type: number - description: The total value of all discounts applied to this item (excluding - coupon). + description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number @@ -379,20 +375,19 @@ components: format: double listPrice: type: number - description: Item's list price, as quoted by the manufacturer/distributor. + description: The itemʼs list price, as quoted by the manufacturer/distributor. format: double salePrice: type: number - description: Item's price after all discounts are applied. (The final price - before tax calculation.) + description: The itemʼs price after all discounts are applied. (The final price before tax calculation.) format: double extendedListPrice: type: number - description: Item's list price multiplied by the quantity. + description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number - description: Item's sale price multiplied by the quantity. + description: The itemʼs sale price multiplied by the quantity. format: double type: type: string @@ -407,10 +402,10 @@ components: description: The URL for the combined downloads page. downloadSize: type: string - description: 'Combined download size, in human-readable style. E.g.: `30MB`.' + description: 'Specifies the combined download size in human-readable style; for example, `30MB`.' categories: type: array - description: 'Categories the item belongs to. ' + description: Categories the item belongs to. items: type: object x-internal: false @@ -420,7 +415,7 @@ components: properties: name: type: string - description: The item's product name. + description: The itemʼs product name. quantity: type: number description: Quantity of this item. @@ -439,62 +434,62 @@ components: AddressResponse: title: Address Response allOf: - - $ref: '#/components/schemas/AddressProperties' - - type: object - properties: - id: - type: string - description: "" + - $ref: '#/components/schemas/AddressProperties' + - type: object + properties: + id: + type: string + description: '' x-internal: false AddressProperties: title: Address Properties required: - - countryCode + - countryCode type: object properties: firstName: type: string - description: "" + description: '' lastName: type: string - description: "" + description: '' email: type: string - description: "" + description: '' company: type: string - description: "" + description: '' address1: type: string - description: "" + description: '' address2: type: string - description: "" + description: '' city: type: string - description: "" + description: '' stateOrProvince: type: string description: Represents state or province. stateOrProvinceCode: type: string - description: "" + description: '' country: type: string - description: "" + description: '' countryCode: type: string - description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' + description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).' postalCode: type: string - description: "" + description: '' phone: - pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ + pattern: '^\+?[1-9]\d{1,14}(x\d{1-5})?$' type: string - description: "" + description: '' customFields: type: array - description: "" + description: '' items: $ref: '#/components/schemas/CustomField' x-internal: false @@ -504,11 +499,10 @@ components: properties: fieldId: type: string - description: "" + description: '' fieldValue: type: string - description: This can also be an array for fields that need to support list - of values (e.g., a set of check boxes.) + description: This can also be an array for fields that need to support list of values; for example, a set of checkboxes. x-internal: false Status: title: Status @@ -516,26 +510,26 @@ components: description: Order status. example: INCOMPLETE enum: - - INCOMPLETE - - PENDING - - SHIPPED - - PARTIALLY_SHIPPED - - REFUNDED - - CANCELLED - - DECLINED - - AWAITING_PAYMENT - - AWAITING_PICKUP - - AWAITING_SHIPMENT - - COMPLETED - - AWAITING_FULFILLMENT - - MANUAL_VERIFICATION_REQUIRED - - DISPUTED - - PARTIALLY_REFUNDED + - INCOMPLETE + - PENDING + - SHIPPED + - PARTIALLY_SHIPPED + - REFUNDED + - CANCELLED + - DECLINED + - AWAITING_PAYMENT + - AWAITING_PICKUP + - AWAITING_SHIPMENT + - COMPLETED + - AWAITING_FULFILLMENT + - MANUAL_VERIFICATION_REQUIRED + - DISPUTED + - PARTIALLY_REFUNDED x-internal: false BaseItem: title: Base Item required: - - quantity + - quantity type: object properties: id: @@ -543,7 +537,7 @@ components: description: The line-item ID. parentId: type: string - description: Bundled items will have their parent's item Id. + description: Bundled items will have their parentʼs item ID. variantId: type: number description: ID of the variant. @@ -557,7 +551,7 @@ components: description: SKU of the variant. name: type: string - description: The item's product name. + description: The itemʼs product name. url: type: string description: The product URL. @@ -570,17 +564,15 @@ components: description: Whether the item is taxable. imageUrl: type: string - description: URL of an image of this item, accessible on the internet. + description: A publicly-accessible URL for an image of this item. discounts: type: array - description: List of discounts applied to this item, as an array of AppliedDiscount - objects. + description: A list of discounts applied to this item, as an array of AppliedDiscount objects. items: $ref: '#/components/schemas/AppliedDiscount' discountAmount: type: number - description: The total value of all discounts applied to this item (excluding - coupon). + description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number @@ -588,20 +580,19 @@ components: format: double listPrice: type: number - description: Item's list price, as quoted by the manufacturer/distributor. + description: The itemʼs list price, as quoted by the manufacturer/distributor. format: double salePrice: type: number - description: Item's price after all discounts are applied. (The final price - before tax calculation.) + description: The itemʼs price after all discounts are applied. (The final price before tax calculation.) format: double extendedListPrice: type: number - description: Item's list price multiplied by the quantity. + description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number - description: Item's sale price multiplied by the quantity. + description: The itemʼs sale price multiplied by the quantity. format: double type: type: string @@ -773,43 +764,43 @@ components: description: List of shipping consignments items: $ref: '#/components/schemas/ShippingConsignment' - description: All the consignments of the order + description: All the consignments of the order. x-examples: example-1: shipping: - - lineItems: - - id: 8 - shippingAddressId: 1 - firstName: first1 - lastName: last1 - company: company1 - address1: 2802 Skyway Cir - address2: Balcony - city: Austin - stateOrProvince: Texas - postalCode: "78704" - country: United States - countryCode: US - email: first1@bigcommerce.com - phone: "0410123452" - itemsTotal: 1 - itemsShipped: 0 - shippingMethod: Flat Rate - baseCost: 15.5 - costExTax: 15.5 - costIncTax: 16.7 - costTax: 1.2 - costTaxClassId: 2 - baseHandlingCost: 0 - handlingCostExTax: 0 - handlingCostIncTax: 0 - handlingCostTax: 0 - handlingCostTaxClassId: 2 - shippingZoneId: 1 - shippingZoneName: United States - customFields: - - name: special note - value: super rare + - lineItems: + - id: 8 + shippingAddressId: 1 + firstName: first1 + lastName: last1 + company: company1 + address1: 2802 Skyway Cir + address2: Balcony + city: Austin + stateOrProvince: Texas + postalCode: '78704' + country: United States + countryCode: US + email: first1@bigcommerce.com + phone: '0410123452' + itemsTotal: 1 + itemsShipped: 0 + shippingMethod: Flat Rate + baseCost: 15.5 + costExTax: 15.5 + costIncTax: 16.7 + costTax: 1.2 + costTaxClassId: 2 + baseHandlingCost: 0 + handlingCostExTax: 0 + handlingCostIncTax: 0 + handlingCostTax: 0 + handlingCostTaxClassId: 2 + shippingZoneId: 1 + shippingZoneName: United States + customFields: + - name: special note + value: super rare x-internal: false ShippingConsignment: title: ShippingConsignment @@ -845,7 +836,7 @@ components: example: Texas postalCode: type: string - example: "78704" + example: '78704' country: type: string example: United States @@ -857,7 +848,7 @@ components: example: first1@bigcommerce.com phone: type: string - example: "0410123452" + example: '0410123452' itemsTotal: type: integer example: 1 @@ -884,22 +875,22 @@ components: example: 2 baseHandlingCost: type: number - example: 0.0 + example: 0.00 handlingCostExTax: type: number - example: 0.0 + example: 0.00 handlingCostIncTax: type: number - example: 0.0 + example: 0.00 handlingCostTax: type: number - example: 0.0 + example: 0.00 handlingCostTaxClassId: type: integer example: 2 shippingZoneId: type: number - example: 1.0 + example: 1 shippingZoneName: type: string example: United States @@ -911,7 +902,7 @@ components: x-examples: example-1: lineItems: - - id: 4 + - id: 4 shippingAddressId: 1 firstName: first1 lastName: last1 @@ -920,11 +911,11 @@ components: address2: Balcony city: Austin stateOrProvince: Texas - postalCode: "78704" + postalCode: '78704' country: United States countryCode: US email: first1@bigcommerce.com - phone: "0410123452" + phone: '0410123452' itemsTotal: 1 itemsShipped: 0 shippingMethod: Flat Rate @@ -941,8 +932,8 @@ components: shippingZoneId: 1 shippingZoneName: United States customFields: - - name: special note - value: super rare + - name: special note + value: super rare x-internal: false ConsignmentLineItem: title: ConsignmentLineItem @@ -951,7 +942,7 @@ components: id: type: integer example: 4 - description: "" + description: '' x-internal: false ConsignmentFormField: title: ConsignmentFormField @@ -995,7 +986,7 @@ components: example-1: id: 3 lineItems: - - id: 4 + - id: 4 pickupMethodId: 10 pickupMethodDisplayName: 'Pickup Method 10: Pickup at Location 1' collectionInstructions: Pickup Method 10 Collection Instructions @@ -1007,11 +998,11 @@ components: address2: string city: Austin stateOrProvince: Texas - postalCode: "78704" + postalCode: '78704' country: United States countryCode: US email: loc1@bigcommerce.com - phone: "0410123452" + phone: '0410123452' x-internal: false PickupConsignmentLocation: title: PickupConsignmentLocation @@ -1036,7 +1027,7 @@ components: example: Texas postalCode: type: string - example: "78704" + example: '78704' country: type: string example: United States @@ -1048,7 +1039,7 @@ components: example: loc1@bigcommerce.com phone: type: string - example: "0410123452" + example: '0410123452' x-examples: example-1: id: 1 @@ -1057,15 +1048,15 @@ components: address2: string city: Austin stateOrProvince: Texas - postalCode: "78704" + postalCode: '78704' country: United States countryCode: US email: loc1@bigcommerce.com - phone: "0410123452" + phone: '0410123452' x-internal: false responses: order_Resp: - description: "" + description: '' content: application/json: schema: diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index d734e4a28..07c641f9f 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -53,8 +53,7 @@ paths: > #### Note - > * The `your_app.example.com` and `rate` are the host and path specific to the shipping provider. - + > * Substitute the host and path specific to the shipping provider for `your_app.example.com` and `rate`. > * The Send a Test Request feature is not currently supported for this endpoint. requestBody: content: @@ -380,8 +379,7 @@ paths: > #### Note - > * The `your_app.example.com` and `check_connection_options` are the host and path specific to the shipping provider. - + > * Substitute the host and path specific to the shipping provider for `your_app.example.com` and `check_connection_options`. > * The Send a Test Request feature is not currently supported for this endpoint. requestBody: content: diff --git a/reference/subscriptions.sf.yml b/reference/subscriptions.sf.yml index 8e4397225..5ae4b055a 100644 --- a/reference/subscriptions.sf.yml +++ b/reference/subscriptions.sf.yml @@ -9,16 +9,19 @@ info: * [Collecting Newsletter Subscriptions](https://support.bigcommerce.com/s/article/Collecting-Newsletter-Subscriptions) (support.bigcommerce.com) * [Customers Overview](/api-docs/customers/customers-subscribers-overview) * [Working with Storefront APIs](/api-docs/cart-and-checkout/working-sf-apis) - version: "" + version: '' servers: -- url: https://{$$.env.store_domain} + - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: yourstore.example.com tags: -- name: Subscription + - name: Subscription paths: /subscriptions: post: tags: - - Subscription + - Subscription summary: Create a Subscription operationId: createASubscription description: |- @@ -30,7 +33,8 @@ paths: <!-- theme: info --> > #### Note - > The Send a Test Request feature is not currently supported for this endpoint. + > * Substitute your storefront domain for `yourstore.example.com`. + > * The Send a Test Request feature is not currently supported for this endpoint. requestBody: content: application/json: @@ -39,7 +43,7 @@ paths: required: false responses: '200': - description: "" + description: '' content: application/json: schema: @@ -54,11 +58,10 @@ components: description: Email of subscriber acceptsMarketingNewsletter: type: boolean - description: Has subscriber provided consent for receiving Marketing emails. + description: Describes whether subscriber has consented to receive Marketing emails. acceptsAbandonedCartEmails: type: boolean - description: Has subscriber provided consent for receiving Abandon Cart - emails. + description: Describes whether subscriber has consented to receive Abandoned Cart emails. x-internal: false Subscription: type: object From 9abd3b5a98f250a72d4a5fd01ad540f02e258694 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 16 Nov 2022 18:19:19 -0600 Subject: [PATCH 062/360] DEVDOCS-4568: [update] Remove negative numbers (#1043) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/catalog.v3.yml | 6 +++--- reference/customers.v3.yml | 12 ++++++------ reference/shipping.v2.yml | 18 +++++++++--------- reference/store_content.v2.yml | 2 +- reference/store_information.v2.yml | 23 ++++++++++++++--------- 5 files changed, 33 insertions(+), 28 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 3d76762cd..2f60c6642 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -13260,7 +13260,7 @@ paths: title: irur text: anim aute status: Lorem ad sed voluptate - rating: -39218623 + rating: 3 email: esse Lorem laborum aute name: 'ut in ' date_reviewed: '2011-12-31T13:40:42.971Z' @@ -13423,7 +13423,7 @@ paths: title: irur text: anim aute status: Lorem ad sed voluptate - rating: -39218623 + rating: 3 email: esse Lorem laborum aute name: 'ut in ' date_reviewed: '2011-12-31T13:40:42.971Z' @@ -13630,7 +13630,7 @@ paths: title: irur text: anim aute status: Lorem ad sed voluptate - rating: -39218623 + rating: 3 email: esse Lorem laborum aute name: 'ut in ' date_reviewed: '2011-12-31T13:40:42.971Z' diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 7f526b874..cbe3d125b 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -1342,21 +1342,21 @@ paths: required: true x-examples: application/json: - - attribute_id: -52528392 + - attribute_id: 52528392 value: aliqua customer_id: 12990306 id: 47143304 - - attribute_id: -8263909 + - attribute_id: 8263909 value: 'n' customer_id: 1122433 - id: -34305734 - - attribute_id: -62186196 + id: 34305734 + - attribute_id: 62186196 value: '' customer_id: 10906989 id: 21175547 - - attribute_id: -68742149 + - attribute_id: 68742149 value: l - customer_id: -74084818 + customer_id: 74084818 id: 99359610 description: '' responses: diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index be7db651b..55900a1d8 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -174,18 +174,18 @@ paths: response: value: - name: esse veniam deserunt nisi - id: -6648057 + id: 6648057 type: state locations: - - id: -27962554 + - id: 27962554 zip: sed commodo country_iso2: laborum Ut state_iso2: sunt officia laboris tempor cupidatat - - id: -90778339 + - id: 90778339 zip: amet anim deserunt cillum aute country_iso2: cupidatat state_iso2: dolor nisi - - id: -48379114 + - id: 48379114 zip: dolore fugiat country_iso2: sit in officia ea state_iso2: qui ad @@ -909,14 +909,14 @@ paths: examples: response: value: - - id: -23225205 + - id: 23225205 name: tempo type: royalmail settings: {} enabled: true handling_fees: fixed_surcharge is_fallback: false - - id: -35889344 + - id: 35889344 name: Lorem Excepteur esse type: canadapost settings: {} @@ -995,7 +995,7 @@ paths: examples: response: value: - id: -19609616 + id: 19609616 name: ad sed type: auspost settings: {} @@ -1302,7 +1302,7 @@ paths: examples: response: value: - id: -71711609 + id: 71711609 name: nisi type: weight settings: {} @@ -1518,6 +1518,7 @@ paths: post: description: "Creates a *Carrier Connection*. \n\nCarrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier.\n\n*Notes:*\n\n- There is no `GET` with this resource. It has `PUT`, `POST` and `DELETE`.\n * `PUT` is used to update. The connection can be updated by API.\n\n \n- Connections created here do not enable the shipping method. To enable the carrier for a shipping zone, use the Shipping Methods API. \n\n- The Carrier Connection resource returns a 204 for both successful and unsuccessful attempts to connect. If a field is missing, it will return a 400.\n\n### Australia Post\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"auspost\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourAusPostAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"auspost\"\n}\n```\n\n#### Australia Post Connection Object – Properties\n\nAustralia Post `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description\n| - | - | - |\n| auth_key | string | Australia Post authorization key. |\n| test_mode | boolean | Whether or not to use Australia Post test-mode settings. Acceptable values are `true` or `false`. |\n\n\n### Endicia\nUSPS is connected through Endicia.\n\n#### Sample Request – PUT or POST\n\n```json\n{\t\"carrier_id\" : \"endicia\",\n\t\"connection\": {\n\t\t\"account_id\" : \"yourEndiciaAccountId\",\n\t\t\"pass_phrase\" : \"yourEndiciaPassphrase\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"endicia\"\n}\n```\n\n#### Endicia Connection Object – Properties\n\nEndicia `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description |\n| - | - | - |\n| account_id | string | Endicia account ID. |\n| passphrase | string | Endicia passphrase. |\n\n\n### FedEx\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"fedex\",\n\t\"connection\" : {\n\t\t\"key\" : \"yourFedexKey\",\n\t\t\"password\" : \"yourFedexPassword\",\n\t\t\"account_number\" : \"yourFedexAccountNumber\",\n\t\t\"meter_number\" : \"yourFedexMeterNumber\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"fedex\"\n}\n```\n\n#### FedEx Connection Object – Properties\n\nFedEx `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| key | string | FedEx account ID. | \n| password | string | FedEx passphrase. |\n| account_number | string | FedEx account number. |\n| meter_number | string | FedEx meter number. |\n\n### Royal Mail\n\nSample Request - PUT or POST\n\n```json\n{\n \"carrier_id\" : \"royalmail\",\n \"connection\" : {\n \n }\n}\n```\n\nSample Request - DELETE\n\n```json\n{\n \"carrier_id\" : \"royalmail\"\n}\n```\n\n#### Royal Mail Connection Object - Properties\n\nRoyal Mail has no connection object properties.\n\n\n### Zoom2U\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourZoom2uAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\"\n}\n```\n\n#### Zoom2U Connection Object – Properties\n\nZoom2U `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| auth_key | string | Zoom2U authorization key. |\n| test_mode | boolean | Whether or not to use Zoom2U test-mode settings. Acceptable values are `true` or `false`. |" summary: Create a Carrier Connection + operationId: createACarrierConnection parameters: - name: Accept in: header @@ -1577,7 +1578,6 @@ paths: IsMultiContentStreaming: false tags: - Shipping Carrier - operationId: createACarrierConnection delete: description: |- Deletes a *Carrier Connection*. diff --git a/reference/store_content.v2.yml b/reference/store_content.v2.yml index d2dbde9e3..d451aa346 100644 --- a/reference/store_content.v2.yml +++ b/reference/store_content.v2.yml @@ -1248,7 +1248,7 @@ components: dst_offset: type: integer description: '“-/+” offset from UTC/GMT, in seconds, during summer/daylight saving time.' - example: -18000 + example: 18000 dst_correction: type: boolean description: A boolean indicating whether this time zone observes daylight saving time. diff --git a/reference/store_information.v2.yml b/reference/store_information.v2.yml index f9bea1327..6cb536d91 100644 --- a/reference/store_information.v2.yml +++ b/reference/store_information.v2.yml @@ -1,8 +1,13 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: version: '' title: Store Information - description: 'Get Store Information endpoint, manage store profile settings.' + description: Get Store Information endpoint, manage store profile settings. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com paths: '/stores/{store_hash}/v2/store': get: @@ -100,10 +105,10 @@ paths: admin_email: dolor commodo elit do order_email: ea qui timezone: - name: culpa quis sint eiusmod ut - raw_offset: -25825722 - dst_offset: -97926378 - dst_correction: false + name: 'Australia/Sydney' + raw_offset: 39600 + dst_offset: 36000 + dst_correction: true date_format: display: cupidatat export: est @@ -401,15 +406,15 @@ components: example: America/Chicago type: string raw_offset: - description: 'a negative or positive number, identifying the offset from UTC/GMT, in seconds, during winter/standard time.' + description: 'A negative or positive number, identifying the offset from UTC/GMT, in seconds, during winter/standard time.' example: -21600 type: integer dst_offset: - description: '"-/+" offset from UTC/GMT, in seconds, during summer/daylight saving time.' + description: 'A negative or positive number, identifying the offset from UTC/GMT, in seconds, during summer/daylight saving time.' example: -18000 type: integer dst_correction: - description: a boolean indicating whether this time zone observes daylight saving time. + description: A boolean indicating whether this time zone observes daylight saving time. example: true type: boolean date_format: From d7abf05b40c39752c4b9c6b7d6efbe60bc6df0e3 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Thu, 17 Nov 2022 11:52:19 -0600 Subject: [PATCH 063/360] DEVDOCS-4568: [revise open PR] Align dst_offset (#1054) --- reference/store_content.v2.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/store_content.v2.yml b/reference/store_content.v2.yml index d451aa346..2e83f1ec6 100644 --- a/reference/store_content.v2.yml +++ b/reference/store_content.v2.yml @@ -1247,8 +1247,8 @@ components: example: -21600 dst_offset: type: integer - description: '“-/+” offset from UTC/GMT, in seconds, during summer/daylight saving time.' - example: 18000 + description: 'A negative or positive number, identifying the offset from UTC/GMT, in seconds, during summer/daylight saving time.' + example: -18000 dst_correction: type: boolean description: A boolean indicating whether this time zone observes daylight saving time. From 6a5becd204de44fbc633c049d208238acf1f1995 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 18 Nov 2022 11:46:51 -0600 Subject: [PATCH 064/360] DEVDOCS-3878: [maintenance] price list assignments (#1044) * fixed incorrect method * added POST after converting to OAS3 * edited POST * copyedit POST * copyedit POST * added PUT path * added Assignment For Put Request * Added Assignment For Put Response * PUT parameter * copyedit PUT * edited 204 No Content response * caps * caps * caps * fixed 422 error message schema * added note to DELETE (one query param. required) * fixed 204 response for DELETE * fixed incorrect schema for PUT response * changed order of fields * added examples for responses Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/price_lists.v3.yml | 185 +++++++++++++++++++++++------------ 1 file changed, 121 insertions(+), 64 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 549bb6605..a112d4c87 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1561,7 +1561,7 @@ paths: The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. format: double minimum: 0 - example: 2.50 + example: 2.5 bulk_pricing_tiers: type: array items: @@ -1646,7 +1646,7 @@ paths: price: 3.99 sale_price: 3.49 retail_price: 4.99 - map_price: 2.50 + map_price: 2.5 bulk_pricing_tiers: - quantity_min: 1 quantity_max: 10 @@ -2668,10 +2668,35 @@ paths: schema: $ref: '#/components/schemas/AssignmentsForGetResponse' post: + tags: + - Price Lists Assignments + description: Creates a batch of `Price List Assignments`. + summary: Create Price List Assignments + operationId: CreatePriceListAssignments + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateBatchPriceListAssignmentsRequest' + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessBatchResponse' + '422': + description: Error response. Includes the errors for each reference ID. + content: + application/json: + schema: + $ref: '#/components/schemas/PriceListAssignmentsBatchErrorResponse' + delete: tags: - Price Lists Assignments summary: Delete Price List Assignments - description: Deletes one or more `Price List Assignments` objects from BigCommerce using a filter. + description: 'Deletes one or more `Price List Assignments` objects from BigCommerce using a query parameter. You must use at least one query parameter. ' operationId: deletePriceListAssignmentsByFilter parameters: - $ref: '#/components/parameters/FilterAssignmentIdParam' @@ -2681,17 +2706,37 @@ paths: - $ref: '#/components/parameters/ChannelIdInParam' responses: '204': - description: An empty response. - content: - application/json: - schema: - $ref: '#/components/schemas/NoContent' + description: No Content. parameters: - name: store_hash in: path required: true schema: type: string + '/pricelists/{price_list_id}/assignments': + put: + tags: + - Price Lists Assignments + description: Upsert a single `Price List Assignment` for a `Price List`. + summary: Upsert Price List Assignment + operationId: upsertPriceListAssignment + parameters: + - $ref: '#/components/parameters/PriceListIdParam' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AssignmentForPutRequest' + required: true + responses: + '200': + description: A price list assignment. + content: + application/json: + schema: + $ref: '#/components/schemas/AssignmentForPutResponse' + '404': + description: 'A matching customer group or channel wasn''t found, so no assignment is created or returned.' components: parameters: ChannelIdInParam: @@ -2899,76 +2944,110 @@ components: AssignmentsForRequest: type: object description: '`Price List Assignments` object used in a batch create request.' + x-internal: false properties: - customer_group_id: + price_list_id: type: integer format: int32 - description: Customer group id for assignment. - price_list_id: + description: Price list ID for assignment. + example: 1 + customer_group_id: type: integer format: int32 - description: Pricelist id for assignment. + description: Customer group ID for assignment. + example: 2 channel_id: type: integer format: int32 description: Channel ID for assignment + example: 1 required: - price_list_id - x-internal: false - PriceListAssignmentsBatchErrorResponse: - description: Errors during batch usage for the BigCommerce API. + AssignmentForPutRequest: type: object properties: - batch_errors: - type: array - items: - $ref: '#/components/schemas/PriceListAssignmentsBatchErrorSet' - x-internal: false - PriceListAssignmentsBatchErrorSet: - description: Error during `Price List Assignments` batch POST. Includes data sent in the request and errors. + customer_group_id: + type: integer + format: int32 + description: Customer group ID for assignment. + example: 2 + channel_id: + type: integer + format: int32 + description: Channel ID for assignment + example: 1 + required: + - customer_group_id + - channel_id + AssignmentForPutResponse: type: object properties: data: - $ref: '#/components/schemas/PriceListAssignmentsIdentifiers' - field_errors: - $ref: '#/components/schemas/DetailedErrors' - x-internal: false - PriceListAssignmentsIdentifiers: - type: object - description: '`Price List Assignments` object used in GET response.' - allOf: - - type: object + type: object properties: - customer_group_id: + id: type: integer - description: The Customer Group with which this price list assignment is associated. A customer_group_id of 0 indicates default pricing for the channel given in the request. + format: int32 + description: Unique identifier for this price list assignment. + example: 1 price_list_id: type: integer - description: The Price List with which this price set is associated. + format: int32 + description: Price list ID for assignment. + example: 1 + customer_group_id: + type: integer + format: int32 + description: Customer group ID for assignment. + example: 2 channel_id: type: integer - description: The Channel with which this price set is associated. This field is optional or may be null when a price list applies across channels for the customer_group_id in the assignment. + format: int32 + description: Channel ID for assignment. + example: 2 + meta: + type: object + PriceListAssignmentsBatchErrorResponse: + type: object x-internal: false + properties: + status: + type: integer + title: + type: string + type: + type: string + errors: + type: object + meta: + type: object + properties: + saved_records: + type: integer AssignmentForGetResponse: type: object + x-internal: false properties: id: type: integer format: int32 description: Unique identifier for this price list assignment. - customer_group_id: - type: integer - format: int32 - description: Customer group ID for assignment. + example: 1 price_list_id: type: integer format: int32 description: Pricelist ID for assignment. + example: 1 + customer_group_id: + type: integer + format: int32 + description: Customer group ID for assignment. + example: 2 channel_id: type: integer format: int32 - description: Channel ID for assignment - x-internal: false + description: Channel ID for assignment. + example: 2 AssignmentsForGetResponse: description: Array of the price list assignments matching the filter. The response is paginated. type: object @@ -4040,7 +4119,7 @@ components: x-internal: false SuccessBatchResponse: type: object - description: Empty object for Success case for Batch API. + description: Empty object. title: Success Batch Response x-internal: false PriceRecordBatchErrorResponse: @@ -4087,22 +4166,6 @@ components: title: PriceRecord Batch Error Set title: PriceRecord Batch Error Response x-internal: false - NoContent: - description: No-content response for the BigCommerce API. - title: No Content - type: object - properties: - status: - description: 204 HTTP status code. - type: integer - title: - description: The error title describing the situation. - type: string - type: - type: string - instance: - type: string - x-internal: false PriceRecordBatchErrorSet: description: Error during Price Record batch PUT request. Includes data sent in the request and errors. type: object @@ -4295,12 +4358,6 @@ components: type: string title: Base Error x-internal: false - DetailedErrors: - type: object - additionalProperties: - type: string - title: Detailed Errors - x-internal: false NotFound: description: Error payload for the BigCommerce API. type: object From 9f3287885c920ec0c802f843fec4db162a880f37 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Fri, 18 Nov 2022 12:03:25 -0600 Subject: [PATCH 065/360] DEVDOCS-4064-remove-beta (#1053) --- reference/customers.v3.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index cbe3d125b..dc67c6454 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -1633,15 +1633,12 @@ paths: required: true '/stores/{store_hash}/v3/customers/{customerId}/stored-instruments': get: - summary: Get Stored Instruments (Beta) + summary: Get Stored Instruments tags: - Customer Stored Instruments description: |- Lists all available stored instruments for a customer. This list will include all types of stored instruments namely card, account and bank_account instruments - <!-- theme: info --> - > #### Note - > * This endpoint is in beta. operationId: liststoredinstruments parameters: - $ref: '#/components/parameters/customerId' From 353ecfbdb1e12a62ab57101b92bdf60c2c4c0f5b Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 21 Nov 2022 13:00:08 -0600 Subject: [PATCH 066/360] DEVDOCS-4498: [edit] type enum values (#1045) Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/shipping.v2.yml | 500 ++++++++++++++------------------------ 1 file changed, 181 insertions(+), 319 deletions(-) diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index 55900a1d8..ea32af8ca 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -1,4 +1,4 @@ -openapi: '3.0.3' +openapi: 3.0.3 info: version: '' title: Shipping V2 @@ -120,26 +120,26 @@ paths: title: Shipping Zone Handling Fees type: object oneOf: - - properties: - fixed_surcharge: - description: Flat-rate handling fee applied to shipping cost. - example: '0' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -279,7 +279,7 @@ paths: title: Shipping Zone Handling Fees type: object oneOf: - - properties: + - properties: fixed_surcharge: description: Flat-rate handling fee applied to shipping cost. example: '0' @@ -288,17 +288,17 @@ paths: description: Indicates whether store displays handling fee separately at checkout. example: true type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -393,26 +393,26 @@ paths: title: Shipping Zone Handling Fees type: object oneOf: - - properties: - fixed_surcharge: - description: Flat-rate handling fee applied to shipping cost. - example: '0' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -516,26 +516,26 @@ paths: title: Shipping Zone Handling Fees type: object oneOf: - - properties: - fixed_surcharge: - description: Flat-rate handling fee applied to shipping cost. - example: '0' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -637,26 +637,26 @@ paths: title: Shipping Zone Handling Fees type: object oneOf: - - properties: - fixed_surcharge: - description: Flat-rate handling fee applied to shipping cost. - example: '0' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -727,26 +727,26 @@ paths: title: Shipping Zone Handling Fees type: object oneOf: - - properties: - fixed_surcharge: - description: Flat-rate handling fee applied to shipping cost. - example: '0' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -1222,44 +1222,7 @@ paths: example: Flat Rate type: string type: - title: Shipping Method Type - example: perorder - x-enum-elements: - - name: perorder - description: '' - - name: peritem - description: '' - - name: weight - description: '' - - name: total - description: '' - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: upsready - description: '' - type: string - enum: - - perorder - - peritem - - weight - - total - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - upsready + $ref: '#/components/schemas/ShippingMethodType' settings: description: 'Depends on the shipping method type. See the [supported settings object](#supported-settings).' type: object @@ -1269,18 +1232,18 @@ paths: type: boolean handling_fees: oneOf: - - properties: - fixed_surcharge: - type: number - description: Flat-rate handling fee applied to shipping cost. - example: 0 - title: fixed surcharge - - properties: - percentage_surcharge: - type: number - description: Percentage handling fee applied to shipping cost. - example: 0 - title: percentage surcharge + - title: fixed surcharge + properties: + fixed_surcharge: + type: number + description: Flat-rate handling fee applied to shipping cost. + example: 0 + - title: percentage surcharge + properties: + percentage_surcharge: + type: number + description: Percentage handling fee applied to shipping cost. + example: 0 type: object is_fallback: description: Whether or not this shipping zone is the fallback if all others are not valid for the order. @@ -1679,25 +1642,6 @@ components: TrackingCarrier: title: Tracking Carrier example: auspost - x-enum-elements: - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: ups - description: '' - - name: upsready - description: '' - - name: shipperhq - description: '' type: string enum: - auspost @@ -1712,29 +1656,6 @@ components: x-internal: false ShippingProvider: title: Shipping Provider - x-enum-elements: - - name: Enum_0 - description: empty string - - name: Enum_1 - description: '' - - name: Enum_2 - description: '' - - name: Enum_3 - description: '' - - name: Enum_4 - description: '' - - name: Enum_5 - description: '' - - name: Enum_6 - description: '' - - name: Enum_7 - description: '' - - name: Enum_8 - description: '' - - name: Enum_9 - description: '' - - name: Enum_10 - description: '' type: string enum: - '``' @@ -1808,26 +1729,26 @@ components: title: Shipping Zone Handling Fees type: object oneOf: - - properties: - fixed_surcharge: - description: Flat-rate handling fee applied to shipping cost. - example: '0' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge enabled: description: Whether this shipping zone is enabled. example: true @@ -1860,26 +1781,26 @@ components: title: Shipping Zone Handling Fees type: object oneOf: - - properties: - fixed_surcharge: - description: Flat-rate handling fee applied to shipping cost. - example: '0' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: fixed surcharge - - properties: - percentage_surcharge: - description: Percentage handling fee applied to shipping cost. - example: '5' - type: string - display_separately: - description: Indicates whether store displays handling fee separately at checkout. - example: true - type: boolean - title: percentage surcharge + - properties: + fixed_surcharge: + description: Flat-rate handling fee applied to shipping cost. + example: '0' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: fixed surcharge + - properties: + percentage_surcharge: + description: Percentage handling fee applied to shipping cost. + example: '5' + type: string + display_separately: + description: Indicates whether store displays handling fee separately at checkout. + example: true + type: boolean + title: percentage surcharge x-internal: false shippingMethod_Full: title: shippingMethod_Full @@ -1896,29 +1817,6 @@ components: ShippingMethodType: title: Shipping Method Type example: perorder - x-enum-elements: - - name: perorder - description: '' - - name: peritem - description: '' - - name: weight - description: '' - - name: total - description: '' - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: upsready - description: '' type: string enum: - perorder @@ -1932,6 +1830,7 @@ components: - fedex - royalmail - upsready + - freeshipping x-internal: false shippingMethod_Base: title: shippingMethod_Base @@ -1943,44 +1842,7 @@ components: example: Flat Rate type: string type: - title: Shipping Method Type - example: perorder - x-enum-elements: - - name: perorder - description: '' - - name: peritem - description: '' - - name: weight - description: '' - - name: total - description: '' - - name: auspost - description: '' - - name: canadapost - description: '' - - name: endicia - description: '' - - name: usps - description: '' - - name: fedex - description: '' - - name: royalmail - description: '' - - name: upsready - description: '' - type: string - enum: - - perorder - - peritem - - weight - - total - - auspost - - canadapost - - endicia - - usps - - fedex - - royalmail - - upsready + $ref: '#/components/schemas/ShippingMethodType' settings: description: 'Depends on the shipping method type. See the [supported settings object](#supported-settings).' type: object @@ -1995,18 +1857,18 @@ components: type: boolean handling_fees: oneOf: - - properties: - fixed_surcharge: - type: number - description: Flat-rate handling fee applied to shipping cost. - example: 0 - title: fixed surcharge - - properties: - percentage_surcharge: - type: number - description: Percentage handling fee applied to shipping cost. - example: 0 - title: percentage surcharge + - title: fixed surcharge + properties: + fixed_surcharge: + type: number + description: Flat-rate handling fee applied to shipping cost. + example: 0 + - title: percentage surcharge + properties: + percentage_surcharge: + type: number + description: Percentage handling fee applied to shipping cost. + example: 0 type: object is_fallback: description: Whether or not this shipping zone is the fallback if all others are not valid for the order. @@ -2025,7 +1887,7 @@ components: type: string connection: type: object - description: 'The `connection` object varies by carrier.' + description: The `connection` object varies by carrier. x-internal: false metaCollection: title: metaCollection From e30f5524b0a1fdfef1df250e85a6eca90854a833 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 21 Nov 2022 14:42:59 -0600 Subject: [PATCH 067/360] DEVDOCS-4406: [maintenance] Catalog, category name & url required (#1046) --- reference/catalog.v3.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 2f60c6642..edea57232 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -19037,7 +19037,10 @@ paths: description: |- Creates new categories. - `tree_id` or `parent_id` are required to create a category. + Creating a category requires: + - `name` + - `url` + - `tree_id` or `parent_id` tags: - Categories Batch requestBody: @@ -24752,7 +24755,7 @@ components: allOf: - $ref: '#/components/schemas/TreeIdCreateData' - $ref: '#/components/schemas/ParentIdCreateData' - - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/CategoryDataPOST' x-tags: - Models title: Create Categories @@ -24766,7 +24769,7 @@ components: - $ref: '#/components/schemas/CategoryIdUpdateData' - $ref: '#/components/schemas/CategoryUuidData' - $ref: '#/components/schemas/ParentIdUpdateData' - - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/CategoryDataPUT' Category: x-tags: - Models @@ -24844,8 +24847,6 @@ components: required: - tree_id CategoryData: - x-tags: - - Models allOf: - type: object properties: @@ -24875,7 +24876,17 @@ components: type: string url: $ref: '#/components/schemas/Url' + CategoryDataPUT: + allOf: + - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/default_product_sort' + CategoryDataPOST: + allOf: + - $ref: '#/components/schemas/CategoryData' - $ref: '#/components/schemas/default_product_sort' + required: + - name + - url Urls: type: array items: From 97425717cfa37ef70376e658129355d8a9c4b381 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Tue, 22 Nov 2022 12:35:15 -0600 Subject: [PATCH 068/360] DEVDOCS-4376: [maintenance] Checkouts, clarify number of line_item_ids (#1055) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/checkouts.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 5a288f42e..f7e1bc479 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -8409,7 +8409,7 @@ components: format: double line_item_ids: type: array - description: '' + description: Array lists only one line item. To display multiple `line_item_ids`, perform a `POST` request to add consignments to the checkout using the same address. items: type: string taxes: From 2d5a96889e9a170495719ea171fd877f214bf368 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Mon, 28 Nov 2022 12:57:20 -0600 Subject: [PATCH 069/360] DEVDOCS-4605: [update] Payments, add bigpay_token (#1056) Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> --- reference/orders.v3.yml | 95 ++++++++++++++++++++++++++++++----------- 1 file changed, 69 insertions(+), 26 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 382f33d4b..5bf600f21 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -363,8 +363,9 @@ paths: responses: '201': $ref: '#/components/responses/Refund_Resp' - '503': - description: Service Unavailable + '422': + description: | + Unable to process a guest refund with store credit. content: application/json: schema: @@ -373,36 +374,35 @@ paths: data: type: array items: - $ref: '#/components/schemas/FailedQuoteError' - meta: - $ref: '#/components/schemas/Meta' + $ref: '#/components/schemas/ErrorResponse' examples: response: value: data: - - order_id: 1 - status: 503 - error: Tax service gone away - meta: {} - '422': - description: | - Unable to process a guest refund with store credit. + - status: 422 + title: Unable to provide store credit for a guest customer. + type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' + '503': + description: Service Unavailable content: application/json: schema: type: object - properties: + properties: data: type: array items: - $ref: '#/components/schemas/ErrorResponse' - examples: + $ref: '#/components/schemas/FailedQuoteError' + meta: + $ref: '#/components/schemas/Meta' + examples: response: - value: + value: data: - - status: 422 - title: "Unable to provide store credit for a guest customer." - type: "https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes" + - order_id: 1 + status: 503 + error: Tax service gone away + meta: {} tags: - Payment Actions get: @@ -755,7 +755,7 @@ paths: } } '503': - description: "Every request in the batch failed. The error object describes the failure for each component request." + description: Every request in the batch failed. The error object describes the failure for each component request. content: application/json: schema: @@ -1710,6 +1710,7 @@ components: - store_credit - apple_pay_card - apple_pay_token + - bigpay_token - token - custom - offsite @@ -1815,7 +1816,6 @@ components: title: Not Found x-internal: false Transaction: - description: A BigCommerce Transaction object describes a single transaction. allOf: - title: Transaction Base properties: @@ -2043,9 +2043,52 @@ components: type: number format: float example: 35.42 - title: Transaction - x-internal: false type: object + title: '' + x-examples: + Example 1: + event: purchase + method: credit_card + amount: 3.4 + currency: string + gateway: 2checkout + gateway_transaction_id: string + date_created: '2019-08-24T14:15:22Z' + test: true + status: ok + fraud_review: true + reference_transaction_id: 0 + offline: + display_name: string + custom: + payment_method: string + payment_method_id: string + id: 0 + order_id: string + payment_instrument_token: string + avs_result: + code: string + message: string + street_match: string + postal_match: string + cvv_result: + code: string + message: string + credit_card: + card_type: alelo + card_iin: string + card_last4: string + card_expiry_month: 1 + card_expiry_year: 0 + gift_certificate: + code: MB345 + original_balance: 100 + starting_balance: 100 + remaining_balance: 35.42 + status: active + store_credit: + remaining_balance: 35.42 + description: '' CreditCard: type: object description: A credit-card model. @@ -2329,11 +2372,11 @@ components: example: 1 items: type: array - items: + items: $ref: '#/components/schemas/ItemsRefund' required: - - order_id - - items + - order_id + - items RefundQuote_Full: type: object title: RefundQuote_Full From 1de4c501dd91beb90dc084e289468aa0bfac30de Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 30 Nov 2022 11:33:06 -0600 Subject: [PATCH 070/360] DEVDOCS-4605: [update] Payments, add bigpay_token 2 (#1066) --- reference/orders.v3.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 5bf600f21..f71c712de 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -1841,6 +1841,7 @@ components: - gift_certificate - store_credit - apple_pay_card + - bigpay_token - apple_pay_token - token - custom From 089a75e97e376cd5d15ce025b8818fa736f34ee9 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 30 Nov 2022 15:43:05 -0600 Subject: [PATCH 071/360] DEVDOCS-4570: [edit] Shipping Provider, remove cart_id, add examples (#1064) Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> Co-authored-by: Garry Yeatman <Gazzayeatman@msn.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/shipping_provider.yml | 514 +++++++++++++------------------- 1 file changed, 207 insertions(+), 307 deletions(-) diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index 07c641f9f..02ce9d169 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -1,74 +1,58 @@ openapi: 3.0.0 info: - version: "" + version: '' title: Shipping Providers - description: >- - Implement endpoints consumed by BigCommerce for custom shipping - integrations. To learn more, see [Shipping Provider API - Overview](/api-docs/store-management/shipping/shipping-provider-api). + description: |- + Implement endpoints consumed by BigCommerce for custom shipping integrations. To learn more, see [Shipping Provider API Overview](/api-docs/store-management/shipping/shipping-provider-api). ## Authentication - This specification file describes API requests BigCommerce will make to a registered shipping carrier's server to check connection options and retrieve rates. As such, the method of authentication is determined by the carrier's server. + This specification file describes API requests BigCommerce will make to a registered shipping carrierʼs server to check connection options and retrieve rates. As such, the method of authentication is determined by the carrierʼs server. ## Subresources - ### Check Connection Options - The Check Connection Options request is made by BigCommerce when checking for available shipping options. Each Shipping Provider will have different configurations for the payload. ### Rate - The Rate request is made by BigCommerce to get shipping quotes from the provider. ## Additional Information - - **Webhooks** - + ### Webhooks - [Shipment](/api-docs/store-management/webhooks/webhook-events#shipment) - - **Related API Resources** - + ### Related API Resources - [Shipping Provider](/api-reference/store-management/shipping-provider-api) - - [Shipping V2 API](/api-reference/shipping/shipping-api) - termsOfService: "" + termsOfService: '' paths: /rate: post: - description: >- - Request shipping rates. BigCommerce sends a request for shipping quotes - to the shipping provider's URL. The shipping provider responds with - shipping quotes. - - - + description: |- + Request shipping rates. BigCommerce sends a request for shipping quotes to the shipping providerʼs URL. The shipping provider responds with shipping quotes. > #### Note - > * Substitute the host and path specific to the shipping provider for `your_app.example.com` and `rate`. > * The Send a Test Request feature is not currently supported for this endpoint. requestBody: content: application/json: schema: - $ref: "#/components/schemas/RateRequestPayload" - description: Rate request object + $ref: '#/components/schemas/RateRequestPayload' + description: Rate request object. required: true responses: - "200": - description: Quote response + '200': + description: Quote response. content: application/json: schema: - $ref: "#/components/schemas/RateResponsePayload" + $ref: '#/components/schemas/RateResponsePayload' examples: response: value: @@ -102,7 +86,7 @@ paths: units: DAYS duration: 74 - code: GND - display_name: "" + display_name: '' cost: currency: PRZ amount: 85659359.530116 @@ -140,10 +124,10 @@ paths: type: INFO - text: dolor type: ERROR - - text: "ex " + - text: ex type: ERROR - description: "ullamco " - rate_id: "" + description: ullamco + rate_id: '' discounted_cost: currency: CKD amount: 18401337.766514115 @@ -152,11 +136,11 @@ paths: units: HOURS duration: 54 carrier_info: - code: "" + code: '' display_name: c - quotes: - code: GND - display_name: "labore " + display_name: labore cost: currency: OHQ amount: 63679444.026082255 @@ -187,7 +171,7 @@ paths: - text: cillum a type: INFO description: nisi - rate_id: "" + rate_id: '' discounted_cost: currency: VFS amount: 86177946.62739782 @@ -197,7 +181,7 @@ paths: duration: 11 carrier_info: code: consect - display_name: "eiusmod " + display_name: eiusmod - quotes: - code: GND display_name: ullamc @@ -232,9 +216,9 @@ paths: messages: - text: ex type: WARNING - - text: "ipsum " + - text: ipsum type: WARNING - description: "" + description: '' rate_id: aute c discounted_cost: currency: SJL @@ -249,7 +233,7 @@ paths: currency: SUR amount: 97146769.48560241 messages: - - text: "Lorem " + - text: Lorem type: INFO description: de rate_id: fu @@ -289,7 +273,7 @@ paths: currency: TTO amount: 65094224.57995142 messages: - - text: "ut " + - text: ut type: INFO description: labo rate_id: anim ma @@ -302,7 +286,7 @@ paths: duration: 55 carrier_info: code: dol - display_name: "commodo " + display_name: commodo - quotes: - code: GND display_name: sed @@ -312,13 +296,13 @@ paths: messages: - text: i type: ERROR - - text: "dolore " + - text: dolore type: WARNING - text: ut type: INFO - text: nos type: ERROR - description: "" + description: '' rate_id: c discounted_cost: currency: QGD @@ -337,7 +321,7 @@ paths: type: ERROR - text: an type: WARNING - - text: "Duis " + - text: Duis type: ERROR - text: ipsum type: WARNING @@ -368,33 +352,26 @@ paths: operationId: requestShippingRates /check_connection_options: post: - description: >- - Validate connection options. BigCommerce sends a request to the shipping - provider's URL in order to check a merchant's connection credentials. - The shipping provider sends a response indicating whether a merchant has - valid credentials. - - - + description: |- + Validate connection options. BigCommerce sends a request to the shipping providerʼs URL in order to check a merchantʼs connection credentials. The shipping provider sends a response indicating whether a merchant has valid credentials. > #### Note - > * Substitute the host and path specific to the shipping provider for `your_app.example.com` and `check_connection_options`. - > * The Send a Test Request feature is not currently supported for this endpoint. + > * The Send a Test Request feature is not currently supported for this endpoint. requestBody: content: application/json: schema: - $ref: "#/components/schemas/CheckConnectionOptionsRequestPayload" - description: Check connection options request + $ref: '#/components/schemas/CheckConnectionOptionsRequestPayload' + description: Check connection options request. required: true responses: - "200": - description: Check connection options response + '200': + description: Check connection options response. content: application/json: schema: - $ref: "#/components/schemas/CheckConnectionOptionsResponsePayload" + $ref: '#/components/schemas/CheckConnectionOptionsResponsePayload' examples: response: value: @@ -423,30 +400,24 @@ components: RateRequestPayload: type: object title: Rate Request Payload - description: Payload sent off to a Shipping Provider in order to get quotes. + description: Payload sent to a Shipping Provider to get quotes. properties: base_options: - $ref: "#/components/schemas/BaseOptions" + $ref: '#/components/schemas/BaseOptions' zone_options: - type: object - description: Optional, any zone specific request options declared by the carrier - and configued by the merchant to retrieve rates - title: Zone Options Instance + $ref: '#/components/schemas/ZoneOptionsInstance' connection_options: - type: object - description: Optional, any global request options declared by the carrier and - configued by the merchant to retrieve rates - title: Connection Options Instance + $ref: '#/components/schemas/ConnectionOptionsInstance' required: - base_options x-internal: false BaseOptionsSchema: type: object title: Base Options - description: Payload sent off to a Shipping Provider in order to get quotes. + description: Payload sent to a Shipping Provider in to get quotes. properties: base_options: - description: The minimum required payload that is sent to retrieve rates + description: The minimum required payload that is sent to retrieve rates. type: object title: Base Rate Request required: @@ -472,22 +443,22 @@ components: zip: type: string maxLength: 20 - example: "94105" + example: '94105' city: type: string maxLength: 50 example: San Francisco state_iso2: type: string - description: State in ISO_3166 2 format + description: State in ISO_3166 2 format. maxLength: 2 country_iso2: type: string - description: Country in ISO_3166 2 format + description: Country in ISO_3166 2 format. maxLength: 2 example: US address_type: - description: Optional, defaults to residential + description: 'Optional. Defaults to `RESIDENTIAL`.' type: string enum: - RESIDENTIAL @@ -509,22 +480,22 @@ components: zip: type: string maxLength: 20 - example: "94105" + example: '94105' city: type: string maxLength: 50 example: San Francisco state_iso2: type: string - description: State in ISO_3166 2 format + description: State in ISO_3166 2 format. maxLength: 2 country_iso2: type: string - description: Country in ISO_3166 2 format + description: Country in ISO_3166 2 format. maxLength: 2 example: US address_type: - description: Optional, defaults to residential + description: 'Optional. Defaults to `RESIDENTIAL`.' type: string enum: - RESIDENTIAL @@ -533,12 +504,12 @@ components: type: array items: type: object - description: A cart item along with it's shipping specific attributes + description: A cart item along with its shipping-specific attributes. title: Rate Request Item properties: sku: type: string - description: The variant SKU + description: The variant SKU. variant_id: type: string product_id: @@ -546,7 +517,7 @@ components: name: type: string length: - description: Value object for a length measurement + description: Value object for a length measurement. type: object title: Dimension Value properties: @@ -562,7 +533,7 @@ components: - units - value width: - description: Value object for a length measurement + description: Value object for a width measurement. type: object title: Dimension Value properties: @@ -578,7 +549,7 @@ components: - units - value height: - description: Value object for a length measurement + description: Value object for a height measurement. type: object title: Dimension Value properties: @@ -594,7 +565,7 @@ components: - units - value weight: - description: Value object for a weight measurement + description: Value object for a weight measurement. type: object title: Weight Value properties: @@ -610,13 +581,13 @@ components: - units - value discounted_price: - description: Value object for a money amount + description: Value object for a money amount. type: object title: Money Value properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -624,13 +595,13 @@ components: - currency - amount declared_value: - description: Value object for a money amount + description: Value object for a money amount. type: object title: Money Value properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -641,9 +612,7 @@ components: type: number format: int32 attributes: - description: A list of arbitrary properties stored as part of the - product or product variant meta fields. These consist of - public fields specific to the carrier integration. + description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of public fields specific to the carrier integration. type: array items: type: object @@ -651,38 +620,27 @@ components: properties: key: type: string - description: The key associated with the meta field + description: The key associated with the meta field. value: type: string - description: The value associated with the meta field + description: The value associated with the meta field. namespace: type: string - description: The namespace associated with - product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) - or product variant - (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) - meta fields. The meta field namespace should be - saved under this format - `shipping_carrier_{yourCarrierId}` otherwise it will - not be recognized as an attribute. + description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' resource_type: type: string enum: - product - variant - description: Resource type associated with the meta field. - Currently the only values available are 'product' or - 'variant' + description: 'Resource type associated with the meta field. Currently, the only values available are `product` or `variant`.' resource_id: type: string - description: The resource id of the meta field + description: The resource ID of the meta field. attribute_type: type: string enum: - metafield - description: Attribute type associated with the product or - product variant meta field. Currently the only value - for this is 'metafield' + description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' customer: type: object title: Customer Details @@ -693,9 +651,7 @@ components: items: type: object title: Customer Group - description: The Group (if any) that this customer is in. This will be - default to zero if the customer is not in a group or is a - guest. + description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' properties: customer_group_id: type: integer @@ -703,8 +659,6 @@ components: type: string customer_id: type: integer - cart_id: - type: string store_id: type: string request_context: @@ -717,22 +671,16 @@ components: items: type: object title: Reference Value - description: Value objects contained within the request context + description: Value objects contained within the request context. properties: name: type: string value: type: string zone_options: - type: object - description: Optional, any zone specific request options declared by the carrier - and configued by the merchant to retrieve rates - title: Zone Options Instance + $ref: '#/components/schemas/ZoneOptionsInstance' connection_options: - type: object - description: Optional, any global request options declared by the carrier and - configued by the merchant to retrieve rates - title: Connection Options Instance + $ref: '#/components/schemas/ConnectionOptionsInstance' required: - base_options x-internal: false @@ -749,8 +697,7 @@ components: customer_group_name: type: string title: Customer Group - description: The Group (if any) that this customer is in. This will be default - to zero if the customer is not in a group or is a guest. + description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' customer_id: type: integer title: Customer Details @@ -758,18 +705,16 @@ components: x-internal: false ZoneOptionsInstance: type: object - description: Optional, any zone specific request options declared by the carrier and - configued by the merchant to retrieve rates + description: Optional. Any zone-specific request options declared by the carrier and configured by the merchant to retrieve rates. title: Zone Options Instance x-internal: false ConnectionOptionsInstance: type: object - description: Optional, any global request options declared by the carrier and - configued by the merchant to retrieve rates + description: Optional. Any global request options declared by the carrier and configured by the merchant to retrieve rates. title: Connection Options Instance x-internal: false RateOptionsInstance: - description: Optional, any checkout specific request options to retrieve rates + description: Optional. Any checkout-specific request options to retrieve rates. type: array items: type: object @@ -792,8 +737,7 @@ components: customer_group_name: type: string title: Customer Group - description: The Group (if any) that this customer is in. This will be default to - zero if the customer is not in a group or is a guest. + description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' x-internal: false KeyValuePair: type: object @@ -832,12 +776,12 @@ components: - text - type title: Message - description: A simple string/type response for returning information. + description: 'A simple string/type response for returning information.' carrier_quotes: type: array items: type: object - description: A grouping of carrier rates and optionally info about that carrier + description: A grouping of carrier rates and optionally, info about that carrier. properties: carrier_info: type: object @@ -858,21 +802,21 @@ components: type: object properties: code: - description: A code describing the service + description: A code describing the service. type: string maxLength: 50 example: GND display_name: - description: A display name for the service + description: A display name for the service. type: string maxLength: 100 cost: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -899,8 +843,7 @@ components: - text - type title: Message - description: A simple string/type response for returning - information. + description: 'A simple string/type response for returning information.' description: type: string maxLength: 500 @@ -908,12 +851,12 @@ components: type: string maxLength: 50 discounted_cost: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -938,7 +881,7 @@ components: minimum: 1 maximum: 90 title: Transit Time Object - description: Value object for the length of time in transit + description: Value object for the length of time in transit. required: - code - display_name @@ -953,11 +896,11 @@ components: - messages - carrier_quotes title: Rate Response Payload - description: The response from the Shipping Service, will contain zero to many quotes. + description: The response from the Shipping Service. Can contain zero to many quotes. x-internal: false CarrierQuoteObject: type: object - description: A grouping of carrier rates and optionally info about that carrier + description: A grouping of carrier rates and optionally, info about that carrier. properties: carrier_info: type: object @@ -978,21 +921,21 @@ components: type: object properties: code: - description: A code describing the service + description: A code describing the service. type: string maxLength: 50 example: GND display_name: - description: A display name for the service + description: A display name for the service. type: string maxLength: 100 cost: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1019,7 +962,7 @@ components: - text - type title: Message - description: A simple string/type response for returning information. + description: 'A simple string/type response for returning information.' description: type: string maxLength: 500 @@ -1027,12 +970,12 @@ components: type: string maxLength: 50 discounted_cost: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1057,7 +1000,7 @@ components: minimum: 1 maximum: 90 title: Transit Time Object - description: Value object for the length of time in transit + description: Value object for the length of time in transit. required: - code - display_name @@ -1070,11 +1013,11 @@ components: x-internal: false RateRequestItem: type: object - description: A cart item along with it's shipping specific attributes + description: A cart item along with its shipping-specific attributes. properties: sku: type: string - description: The variant SKU + description: The variant SKU. variant_id: type: string product_id: @@ -1082,7 +1025,7 @@ components: name: type: string length: - description: Value object for a length measurement + description: Value object for a length measurement. type: object properties: units: @@ -1098,7 +1041,7 @@ components: - value title: Dimension Value width: - description: Value object for a length measurement + description: Value object for a width measurement. type: object properties: units: @@ -1114,7 +1057,7 @@ components: - value title: Dimension Value height: - description: Value object for a length measurement + description: Value object for a height measurement. type: object properties: units: @@ -1130,7 +1073,7 @@ components: - value title: Dimension Value weight: - description: Value object for a weight measurement + description: Value object for a weight measurement. type: object properties: units: @@ -1146,12 +1089,12 @@ components: - value title: Weight Value discounted_price: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1160,12 +1103,12 @@ components: - amount title: Money Value declared_value: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1178,46 +1121,33 @@ components: format: int32 attributes: type: array - description: A list of arbitrary properties stored as part of the product or - product variant meta fields. These consist of any public fields - specific to the carrier integration. + description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of public fields specific to the carrier integration. items: type: object properties: key: type: string - description: The key associated with the product or product variant meta - field + description: The key associated with the product or product variant meta field. value: type: string - description: The value associated with the product or product variant meta - field + description: The value associated with the product or product variant meta field. namespace: type: string - description: The namespace associated with - product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) - or product variant - (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) - meta fields. The meta field namespace should be saved under - this format `shipping_carrier_{yourCarrierId}` otherwise it - will not be recognized as an attribute. + description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' resource_type: type: string enum: - product - variant - description: Resource type associated with the product or product variant - meta field. Currently the only values available are 'product' - or 'variant' + description: 'Resource type associated with the product or product variant meta field. Currently, the only values available are `product` or `variant`.' resource_id: type: string - description: The resource id of the product or product variant meta field + description: The resource ID of the product or product variant meta field. attribute_type: type: string enum: - metafield - description: Attribute type associated with the product or product variant - meta field. Currently the only value for this is 'metafield' + description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' title: Attribute Value title: Rate Request Item x-internal: false @@ -1234,7 +1164,7 @@ components: value: type: string title: Reference Value - description: Value objects contained within the request context + description: Value objects contained within the request context. title: Request Context description: A collection of Reference Value objects. x-internal: false @@ -1246,7 +1176,7 @@ components: value: type: string title: Reference Value - description: Value objects contained within the request context + description: Value objects contained within the request context. x-internal: false Message: type: object @@ -1265,27 +1195,27 @@ components: - text - type title: Message - description: A simple string/type response for returning information. + description: 'A simple string/type response for returning information.' x-internal: false RateQuoteObject: type: object properties: code: - description: A code describing the service + description: A code describing the service. type: string maxLength: 50 example: GND display_name: - description: A display name for the service + description: A display name for the service. type: string maxLength: 100 cost: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1312,7 +1242,7 @@ components: - text - type title: Message - description: A simple string/type response for returning information. + description: 'A simple string/type response for returning information.' description: type: string maxLength: 500 @@ -1320,12 +1250,12 @@ components: type: string maxLength: 50 discounted_cost: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1350,7 +1280,7 @@ components: minimum: 1 maximum: 90 title: Transit Time Object - description: Value object for the length of time in transit + description: Value object for the length of time in transit. required: - code - display_name @@ -1372,53 +1302,44 @@ components: minimum: 1 maximum: 90 title: Transit Time Object - description: Value object for the length of time in transit + description: Value object for the length of time in transit. x-internal: false AttributeValue: - description: Value object for an attribute. This represents a product or product - variant meta field. + description: Value object for an attribute. This represents a product or product variant meta field. type: object properties: key: type: string - description: The key associated with the product or product variant meta field + description: The key associated with the product or product variant meta field. value: type: string - description: The value associated with the product or product variant meta field + description: The value associated with the product or product variant meta field. namespace: type: string - description: The namespace associated with - product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) - or product variant - (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) - meta fields. The meta field namespace should be saved under this - format `shipping_carrier_{yourCarrierId}` otherwise it will not be - recognized as an attribute. + description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' resource_type: type: string - description: Resource type associated with the product or product variant meta - field. Currently the only values available are 'product' or - 'variant' + description: 'Resource type associated with the product or product variant meta field. Currently, the only values available are `product` or `variant`.' enum: - product - variant resource_id: type: string + description: The resource ID of the product or product variant meta field. attribute_type: type: string - description: Attribute type associated with the product or product variant meta - field. Currently the only value for this is 'metafield' + description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' enum: - metafield title: Attribute Value x-internal: false MoneyValue: - description: Value object for a money amount + description: Value object for a money amount. type: object properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1428,7 +1349,7 @@ components: title: Money Value x-internal: false DimensionValue: - description: Value object for a length measurement + description: Value object for a length measurement. type: object properties: units: @@ -1445,7 +1366,7 @@ components: title: Dimension Value x-internal: false WeightValue: - description: Value object for a weight measurement + description: Value object for a weight measurement. type: object properties: units: @@ -1462,28 +1383,26 @@ components: title: Weight Value x-internal: false RateOptionsSchema: - description: A set of carrier specific fields that will be displayed to shoppers at - checkout + description: A set of carrier-specific fields that will be displayed to shoppers at checkout. type: array items: - description: An individual carrier defined field to display at checkout, along with - any defaults and validation + description: An individual carrier-defined field to display at checkout, along with any defaults and validation. type: object properties: code: - description: The internal code that represents this input field + description: The internal code that represents this input field. type: string label: - description: Display name for this input field + description: Display name for this input field. type: string description: - description: Longer description text to be displayed as a tooltip at checkout + description: Longer description text to be displayed as a tooltip at checkout. type: string validation: - description: Placeholder for any validation we choose to implement + description: Placeholder for any validation we choose to implement. type: string type: - description: How this input will be displayed + description: How this input will be displayed. type: string enum: - date @@ -1491,16 +1410,15 @@ components: - select - code default_value: - description: A valid default value for this field + description: A valid default value for this field. type: string value_options: - description: For select type fields, the list of available options + description: For select type fields, the list of available options. type: array items: type: string date_ranges: - description: For date type fields, a set of valid date ranges available to - choose from + description: For date type fields, a set of valid date ranges available to choose from. type: array items: type: object @@ -1514,7 +1432,7 @@ components: timezone: type: string title: Date Value - description: Value Object representing a Date + description: Value Object representing a Date. to: type: object properties: @@ -1524,9 +1442,9 @@ components: timezone: type: string title: Date Value - description: Value Object representing a Date + description: Value Object representing a Date. title: Date Range - description: Representation of a range of date objects + description: Representation of a range of date objects. required: - code - label @@ -1536,24 +1454,23 @@ components: title: Rate Options Schema x-internal: false KeyValuePairSchema: - description: An individual carrier defined field to display at checkout, along with - any defaults and validation + description: An individual carrier-defined field to display at checkout, along with any defaults and validation. type: object properties: code: - description: The internal code that represents this input field + description: The internal code that represents this input field. type: string label: - description: Display name for this input field + description: Display name for this input field. type: string description: - description: Longer description text to be displayed as a tooltip at checkout + description: Longer description text to be displayed as a tooltip at checkout. type: string validation: - description: Placeholder for any validation we choose to implement + description: Placeholder for any validation we choose to implement. type: string type: - description: How this input will be displayed + description: How this input will be displayed. type: string enum: - date @@ -1561,16 +1478,15 @@ components: - select - code default_value: - description: A valid default value for this field + description: A valid default value for this field. type: string value_options: - description: For select type fields, the list of available options + description: For select type fields, the list of available options. type: array items: type: string date_ranges: - description: For date type fields, a set of valid date ranges available to choose - from + description: For date type fields, a set of valid date ranges available to choose from. type: array items: type: object @@ -1584,7 +1500,7 @@ components: timezone: type: string title: Date Value - description: Value Object representing a Date + description: Value Object representing a Date. to: type: object properties: @@ -1594,9 +1510,9 @@ components: timezone: type: string title: Date Value - description: Value Object representing a Date + description: Value Object representing a Date. title: Date Range - description: Representation of a range of date objects + description: Representation of a range of date objects. required: - code - label @@ -1618,22 +1534,22 @@ components: zip: type: string maxLength: 20 - example: "94105" + example: '94105' city: type: string maxLength: 50 example: San Francisco state_iso2: type: string - description: State in ISO_3166 2 format + description: State in ISO_3166 2 format. maxLength: 2 country_iso2: type: string - description: Country in ISO_3166 2 format + description: Country in ISO_3166 2 format. maxLength: 2 example: US address_type: - description: Optional, defaults to residential + description: Optional. Defaults to `RESIDENTIAL`. type: string enum: - RESIDENTIAL @@ -1646,16 +1562,12 @@ components: type: object properties: connection_options: - type: object - description: Optional, any global request options declared by the carrier and - configued by the merchant to retrieve rates - title: Connection Options Instance + $ref: '#/components/schemas/ConnectionOptionsInstance' required: - connection_options title: Check Connection Options Request Payload - description: >- - The payload sent to a Shipping Provider to check that the store is - connected to this provider. + description: |- + The payload sent to a Shipping Provider to check that the store is connected to this provider. Each Shipping Provider will have different configurations for the payload. x-internal: false @@ -1664,7 +1576,7 @@ components: properties: valid: type: boolean - description: Indicates whether or not the connection options are valid + description: Indicates whether or not the connection options are valid. messages: type: array items: @@ -1684,10 +1596,9 @@ components: - text - type title: Message - description: A simple string/type response for returning information. + description: 'A simple string/type response for returning information.' title: Check Connection Options Response Payload - description: The response recieved back from the Shipping Provider connection check - this allows the store to understand if the connection was successful. + description: The response received back from the Shipping Provider connection check. This allows the store to understand whether the connection was successful. x-internal: false DateRange: type: object @@ -1701,7 +1612,7 @@ components: timezone: type: string title: Date Value - description: Value Object representing a Date + description: Value Object representing a Date. to: type: object properties: @@ -1711,9 +1622,9 @@ components: timezone: type: string title: Date Value - description: Value Object representing a Date + description: Value Object representing a Date. title: Date Range - description: Representation of a range of date objects + description: Representation of a range of date objects. x-internal: false DateValue: type: object @@ -1724,10 +1635,10 @@ components: timezone: type: string title: Date Value - description: Value Object representing a Date + description: Value Object representing a Date. x-internal: false BaseOptions: - description: The minimum required payload that is sent to retrieve rates + description: The minimum required payload that is sent to retrieve rates. type: object title: Base Rate Request required: @@ -1753,22 +1664,22 @@ components: zip: type: string maxLength: 20 - example: "94105" + example: '94105' city: type: string maxLength: 50 example: San Francisco state_iso2: type: string - description: State in ISO_3166 2 format + description: State in ISO_3166 2 format. maxLength: 2 country_iso2: type: string - description: Country in ISO_3166 2 format + description: Country in ISO_3166 2 format. maxLength: 2 example: US address_type: - description: Optional, defaults to residential + description: 'Optional. Defaults to `RESIDENTIAL`.' type: string enum: - RESIDENTIAL @@ -1790,7 +1701,7 @@ components: zip: type: string maxLength: 20 - example: "94105" + example: '94105' city: type: string maxLength: 50 @@ -1814,12 +1725,12 @@ components: type: array items: type: object - description: A cart item along with it's shipping specific attributes + description: A cart item along with its shipping-specific attributes. title: Rate Request Item properties: sku: type: string - description: The variant SKU + description: The variant SKU. variant_id: type: string product_id: @@ -1827,7 +1738,7 @@ components: name: type: string length: - description: Value object for a length measurement + description: Value object for a length measurement. type: object title: Dimension Value properties: @@ -1843,7 +1754,7 @@ components: - units - value width: - description: Value object for a length measurement + description: Value object for a length measurement. type: object title: Dimension Value properties: @@ -1859,7 +1770,7 @@ components: - units - value height: - description: Value object for a length measurement + description: Value object for a length measurement. type: object title: Dimension Value properties: @@ -1875,7 +1786,7 @@ components: - units - value weight: - description: Value object for a weight measurement + description: Value object for a weight measurement. type: object title: Weight Value properties: @@ -1891,13 +1802,13 @@ components: - units - value discounted_price: - description: Value object for a money amount + description: Value object for a money amount. type: object title: Money Value properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1905,13 +1816,13 @@ components: - currency - amount declared_value: - description: Value object for a money amount + description: Value object for a money amount. type: object title: Money Value properties: currency: type: string - pattern: ^[A-Z]{3,3}$ + pattern: '^[A-Z]{3,3}$' amount: type: number minimum: 0 @@ -1922,9 +1833,7 @@ components: type: number format: int32 attributes: - description: A list of arbitrary properties stored as part of the product - or product variant meta fields. These consist of public fields - specific to the carrier integration. + description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of public fields specific to the carrier integration. type: array items: type: object @@ -1932,36 +1841,27 @@ components: properties: key: type: string - description: The key associated with the meta field + description: The key associated with the meta field. value: type: string - description: The value associated with the meta field + description: The value associated with the meta field. namespace: type: string - description: The namespace associated with - product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) - or product variant - (/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) - meta fields. The meta field namespace should be saved - under this format `shipping_carrier_{yourCarrierId}` - otherwise it will not be recognized as an attribute. + description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' resource_type: type: string enum: - product - variant - description: Resource type associated with the meta field. Currently - the only values available are 'product' or 'variant' + description: 'Resource type associated with the meta field. Currently, the only values available are `product` or `variant`.' resource_id: type: string - description: The resource id of the meta field + description: The resource ID of the meta field. attribute_type: type: string enum: - metafield - description: Attribute type associated with the product or product - variant meta field. Currently the only value for this is - 'metafield' + description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' customer: type: object title: Customer Details @@ -1972,9 +1872,7 @@ components: items: type: object title: Customer Group - description: The Group (if any) that this customer is in. This will be - default to zero if the customer is not in a group or is a - guest. + description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' properties: customer_group_id: type: integer @@ -1982,8 +1880,6 @@ components: type: string customer_id: type: integer - cart_id: - type: string store_id: type: string request_context: @@ -1996,10 +1892,14 @@ components: items: type: object title: Reference Value - description: Value objects contained within the request context + description: Value objects contained within the request context. properties: name: type: string + description: The property to which the reference value pertains. + example: 'channel_id' value: type: string - x-internal: false \ No newline at end of file + description: The reference value. + example: '770ded29-da45-4ee0-abc6-883e83c0e5ed' + x-internal: false From ffff2b4599ea635d043b468710ff8f2c57298783 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 30 Nov 2022 16:50:06 -0600 Subject: [PATCH 072/360] DEVDOCS-4570: [re-edit] Shipping Provider, reference values examples (#1070) --- reference/shipping_provider.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index 02ce9d169..8b000c1ed 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -1896,10 +1896,8 @@ components: properties: name: type: string - description: The property to which the reference value pertains. - example: 'channel_id' + description: The property to which the reference value pertains. Examples include `channel_id` and `cart_id`. value: type: string - description: The reference value. - example: '770ded29-da45-4ee0-abc6-883e83c0e5ed' + description: The reference value. Examples include `1` and `770ded29-da45-4ee0-abc6-883e83c0e5ed`. x-internal: false From 9f19c15d7e0d3eb0d711828d1aeb198e21e3fdaa Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Fri, 2 Dec 2022 13:28:39 -0600 Subject: [PATCH 073/360] DEVDOCS-4480: [fix] Marketing, convert dates to RFC 2822 (#1063) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/marketing.v2.yml | 54 +++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index 1ca1b11d2..20b74271f 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -890,8 +890,8 @@ paths: status: active template: "Birthday" message: Happy Birthday! - purchase_date: "1520957992" - expiry_date: "0" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" put: tags: - Gift Certificates @@ -953,8 +953,8 @@ paths: status: active template: "Birthday" message: Happy Birthday! - purchase_date: "1520957992" - expiry_date: "0" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" x-codegen-request-body-name: body delete: tags: @@ -1084,8 +1084,8 @@ paths: from_name: Noland from_email: test1@test.com customer_id: 0 - expiry_date: "0" - purchase_date: "1454432829" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" - id: 25 code: 10R-6E3-AO4-RST amount: "700.0000" @@ -1098,8 +1098,8 @@ paths: from_name: Noland from_email: test1@test.com customer_id: 0 - expiry_date: "0" - purchase_date: "1454433240" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" - id: 27 code: 15R-6E3-AO4-RST amount: "50.0000" @@ -1112,8 +1112,8 @@ paths: from_name: Somethingelse from_email: test15@test.com customer_id: 0 - expiry_date: "0" - purchase_date: "1454433621" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" post: tags: - Gift Certificates @@ -1182,8 +1182,8 @@ paths: status: active template: "Birthday" message: Happy Birthday! - purchase_date: "1520957992" - expiry_date: "0" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" x-codegen-request-body-name: body delete: tags: @@ -1510,12 +1510,12 @@ components: example: "0" purchase_date: type: string - description: Date the gift certificate was purchased. If not assigned, - this will be set to today’s date. Date displays in Unix timestamp format. - example: "1454432829" + description: Date the gift certificate was purchased. If not assigned, this will be set to today’s date. Date displays in the [RFC 2822](https://www.rfc-editor.org/rfc/rfc2822#section-3.3) timestamp format. + example: "Tue, 20 Jan 1970 08:45:38 CST" expiry_date: type: string - description: Date on which the gift certificate is set to expire. + description: Date on which the gift certificate is set to expire. Date displays in the [RFC 2822](https://www.rfc-editor.org/rfc/rfc2822#section-3.3) timestamp format. + example: Mon, 2 Jan 2023 08:45:38 CST template: type: string description: The email theme to use in the message sent to the recipient. @@ -1566,7 +1566,7 @@ components: expiry_date: type: string description: Date on which the gift certificate is set to expire. - example: "1622583106" + example: "Mon, 02 Jan 2023 08:45:38 CST" customer_id: type: integer description: The ID of the customer placing the order. @@ -1621,8 +1621,8 @@ components: example: Mon, 19 Jan 1970 07:21:46 CST expiry_date: type: string - description: Date on which the gift certificate is set to expire. - example: "1622583106" + description: Date on which the gift certificate is set to expire. The date must be in [RFC 2822](https://www.rfc-editor.org/rfc/rfc2822#section-3.3) format. + example: "Tue, 20 Jan 1970 08:45:38 CST" customer_id: type: integer description: The ID of the customer placing the order. @@ -1821,8 +1821,8 @@ components: from_name: Noland from_email: test1@test.com customer_id: 5 - expiry_date: "0" - purchase_date: "1454432829" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" - id: 25 code: 10R-6E3-AO4-RST amount: "700.0000" @@ -1835,8 +1835,8 @@ components: from_name: Noland from_email: test1@test.com customer_id: 0 - expiry_date: "0" - purchase_date: "1454433240" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" - id: 27 code: 15R-6E3-AO4-RST amount: "50.0000" @@ -1849,8 +1849,8 @@ components: from_name: Somethingelse from_email: test15@test.com customer_id: 0 - expiry_date: "0" - purchase_date: "1454433621" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" giftCertificate_Resp: description: "" content: @@ -1871,8 +1871,8 @@ components: status: active template: "Birthday" message: Happy Birthday! - purchase_date: "1520957992" - expiry_date: "0" + purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" + expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" securitySchemes: X-Auth-Token: type: apiKey From 11eee36ead57fd28da7e229f4a28338078426450 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 5 Dec 2022 21:58:29 -0600 Subject: [PATCH 074/360] DEVDOCS-3814: [update] Add Batch Limit to Get Price List Assignments (#1074) --- reference/price_lists.v3.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index a112d4c87..83255c145 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -2670,7 +2670,10 @@ paths: post: tags: - Price Lists Assignments - description: Creates a batch of `Price List Assignments`. + description: |- + Creates a batch of `Price List Assignments`. + + **Note:** The batch limit for `Price List Assignments` is 25. summary: Create Price List Assignments operationId: CreatePriceListAssignments requestBody: From 70894585a36a65475efff9dadb6e55df55a923fa Mon Sep 17 00:00:00 2001 From: Johan Nielsen <106064302+bc-0dp@users.noreply.github.com> Date: Thu, 8 Dec 2022 18:35:15 +0100 Subject: [PATCH 075/360] (no ticket): Orders typo (#1077) --- reference/orders.v2.oas2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index f1edd1387..fd9054546 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -4111,7 +4111,7 @@ components: - type: null external_source: description: |- - This value identifies an external system that generated the order and submitted it to BigCommerce with the the Orders API. + This value identifies an external system that generated the order and submitted it to BigCommerce with the Orders API. * When supplying the value, we recommend combining the type of system and vendor, e.g., ERP (Acumatica) or POS (Square). * If you are migrating historical orders processed on another eCommerce platform to BigCommerce, supply the following code as the value: M-MIG. This code will exclude historical orders from the store’s GMV/order count, which factors into pricing. * If you do not provide a value, then it will default to null. From 5908c213887e0ce1af9464781a1495de3501f111 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Fri, 9 Dec 2022 14:28:09 -0600 Subject: [PATCH 076/360] DEVDOCS-4653: [fix] Geography endpoint path (#1079) --- reference/geography.v2.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index 9ed920c98..9f19de977 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -183,7 +183,7 @@ paths: name: store_hash in: path required: true - '/stores/{store_hash}/v2/countries/{country_id}/states{id}': + '/stores/{store_hash}/v2/countries/{country_id}/states/{id}': get: description: |- Returns a *State*. @@ -237,14 +237,14 @@ paths: required: true schema: type: string - - name: id + - schema: + type: string + name: store_hash in: path required: true - schema: - type: string - schema: type: string - name: store_hash + name: id in: path required: true '/stores/{store_hash}/v2/countries/count': From d61502a8388304c65739ee508d4b598be5fbf94d Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Sat, 10 Dec 2022 23:34:41 -0600 Subject: [PATCH 077/360] DEVDOCS-4654: [fix] Widgets endpoint path (#1080) --- reference/widgets.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index 28a7f1c2d..ff611b244 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -222,7 +222,7 @@ paths: name: store_hash in: path required: true - '/store/{store_hash}/v3/content/widget-templates/{uuid}/preview': + '/stores/{store_hash}/v3/content/widget-templates/{uuid}/preview': post: tags: - Widget Template From b8263734c8cfc757edc5a8150e4dd42d86eb50d6 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 12 Dec 2022 10:31:09 -0800 Subject: [PATCH 078/360] DEVDOCS-4602: [edit] Point shipping carrier links to GitHub (#1059) Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/orders.v2.oas2.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index fd9054546..c2039c9c7 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -693,7 +693,7 @@ paths: Acceptable values for `shipping_provider` include an empty string (`""`), auspost, canadapost, endicia, usps, fedex, royalmail, ups, upsready, upsonline, or shipperhq. - Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid tracking-carrier values viewable [here](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv) and downloadable as a .CSV file [here](https://raw.githubusercontent.com/bigcommerce/dev-docs/master/assets/csv/tracking_carrier_values.csv). + Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). summary: Create Order Shipment parameters: - $ref: '#/components/parameters/Accept' @@ -3626,7 +3626,7 @@ components: title: Tracking Carrier description: |- Tracking carrier for the shipment. - Acceptable values include an empty string (`""`) or one of the valid tracking-carrier values that you can view and download as a .CSV file [here](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). + Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). tracking_link: type: string description: Returns a tracking link from the shipping service. @@ -3953,7 +3953,7 @@ components: title: Tracking Carrier description: |- Tracking carrier for the shipment. - Acceptable values include an empty string (`""`) or one of the valid tracking-carrier values viewable [here](https://docs.google.com/spreadsheets/d/1w9c_aECSCGyf-oOrvGeUniDl-ARGKemfZl0qSsav8D4/pubhtml?gid=0&single=true) and downloadable as a .CSV file [here](https://docs.google.com/spreadsheets/d/1mTueEynfcEmwsU2y2Jd2MX-8GKwNZrmlRMBcIElg9aY/pub?gid=0&single=true&output=csv). + Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). comments: type: string description: Comments the shipper wishes to add. @@ -4006,7 +4006,7 @@ components: title: Tracking Carrier description: |- Tracking carrier for the shipment. - Acceptable values include an empty string (`""`) or one of the valid tracking-carrier values viewable and downloadable as a .CSV file [here](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). + Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). comments: type: string description: Comments the shipper wishes to add. From 7310600e5c6695708ece71d90538ba2afce62169 Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Tue, 13 Dec 2022 12:46:18 -0600 Subject: [PATCH 079/360] DEVDOCS-3991: [net new] Settings, document /v3/settings/inventory (#967) * DEVDOCS-3351: [internal] Update PR templates (#957) * DEVDOCS-4368: [add] Customers API, add includes for segments (#963) Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> * DEVDOCS-3991 initial commit * Revert "DEVDOCS-3351: [internal] Update PR templates (#957)" This reverts commit bb866635cac04217bc008b48822efb5f04b848d2. * Revert "DEVDOCS-4368: [add] Customers API, add includes for segments (#963)" This reverts commit 86cf8ddd1a6c1cef0cc181acd91d02f9832aa779. * Revert "Revert "DEVDOCS-3351: [internal] Update PR templates (#957)"" This reverts commit 822924de15396482d4ac39fdbba6927c50ab687e. * Revert "Revert "DEVDOCS-4368: [add] Customers API, add includes for segments (#963)"" This reverts commit 148e107fb0b396f47fb9a010d02c40fa2879b12b. * added enum values * added descriptions * Update reference/settings.v3.yml Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> * Update reference/settings.v3.yml Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> * Update reference/settings.v3.yml Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Matt Hill <matt.hill@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: andrea.dao@bigcommerce.com <andrea.dao@bigcommerce.com> Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/settings.v3.yml | 101 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index fbd026ac2..1dbae8a19 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -1359,6 +1359,63 @@ paths: type: object tags: - Storefront Status + '/stores/{store_hash}/v3/settings/inventory': + get: + summary: Get inventory settings + tags: + - Inventory + responses: + '200': + description: 'OK, null indicates that a particular field has not been overridden on a channel level when channel level settings are requested' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/InventorySettings' + meta: + type: object + '422': + description: Provided settings could not be applied for some reason - detailed errors in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + parameters: + - $ref: '#/components/parameters/ChannelIdParam' + description: Get Inventory Settings + put: + summary: Update Inventory Settings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InventorySettings' + description: null set for a particular field removes override on a channel level and means inheritance from a global level + responses: + '200': + description: 'OK, null indicates that a particular field has not been overridden on a channel level when channel level settings are requested' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/InventorySettings' + meta: + type: object + parameters: + - $ref: '#/components/parameters/ChannelIdParam' + tags: + - Inventory + description: Update inventory settings + parameters: + - schema: + type: string + name: store_hash + in: path + required: true components: parameters: ChannelIdParam: @@ -1840,6 +1897,50 @@ components: - test.user@example.com out_of_stock_notification_address: - test.user@example.com + InventorySettings: + type: object + properties: + product_out_of_stock_behavior: + type: string + enum: + - do_nothing + - hide_product + - hide_product_and_accessible + - hide_product_and_redirect + description: Describes storefront behavior when product is out of stock. + option_out_of_stock_behavior: + type: string + enum: + - do_nothing + - hide_option + - label_option + description: Describes storefront behavior when variant is out of stock. + update_stock_behavior: + type: string + enum: + - order_placed + - order_completed_or_shipped + description: Describes when stock levels are updated. + edit_order_stock_adjustment: + type: boolean + description: Describes whether stock levels automatically adjust when you edit an order. + refund_order_stock_adjustment: + type: boolean + description: Describes whether stock levels automatically adjust when you refund or cancel an order. + stock_level_display: + type: string + enum: + - dont_show + - show + - show_when_low + description: Describes whether a storefront displays stock levels. + default_out_of_stock_message: + type: string + example: Currently out of stock + description: Out of stock message displayed to shoppers. + hide_in_product_filtering: + type: boolean + description: 'Describes whether an option is hidden in product filtering. Applies when `option_out_of_stock_behavior` is set to `label_option`. ' Locale: description: 'The basic locale settings for a store, used to give shopper information about languages, countries, etc.' type: object From bc672e9b16aab7a09385ced44b77836c2d6840fb Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Tue, 13 Dec 2022 13:17:26 -0600 Subject: [PATCH 080/360] update inventory notif tags (#1083) --- reference/settings.v3.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index 1dbae8a19..c1e2e858a 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -369,7 +369,7 @@ paths: type: object - $ref: 'https://raw.githubusercontent.com/bigcommerce/api-specs/master/reference/global_refs.yaml#/components/schemas/meta_Empty' tags: - - Inventory + - Inventory Notifications parameters: - $ref: '#/components/parameters/store_hash' put: @@ -2325,6 +2325,7 @@ tags: - name: Analytics - name: Catalog - name: Inventory + - name: Inventory Notifications - name: Logo - name: Logo Image - name: Favicon Image From eb1ac6fdb5b7fd291d41c81f589a687c23ac81c6 Mon Sep 17 00:00:00 2001 From: Mark Murphy <mark.murphy@bigcommerce.com> Date: Tue, 13 Dec 2022 13:42:47 -0600 Subject: [PATCH 081/360] minor tag edits (#1084) --- reference/settings.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index c1e2e858a..b73b49c80 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -391,7 +391,7 @@ paths: '200': description: OK tags: - - Inventory + - Inventory Notifications '/stores/{store_hash}/v3/settings/logo': get: operationId: get-settings-logo @@ -1361,7 +1361,7 @@ paths: - Storefront Status '/stores/{store_hash}/v3/settings/inventory': get: - summary: Get inventory settings + summary: Get Inventory Settings tags: - Inventory responses: From 70a86ba7e2a877740ddea9d8227b5387b79f88c3 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 14 Dec 2022 10:15:00 -0600 Subject: [PATCH 082/360] DEVDOCS-3840: [update] Add channel_id as query parameter (#990) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/catalog.v3.yml | 384 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 378 insertions(+), 6 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index edea57232..855b9e96b 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: title: Catalog description: |- @@ -87,7 +87,9 @@ paths: tags: - Products summary: Get All Products - description: Returns a list of **Products**. Optional filter parameters can be passed in. + description: |- + Returns a list of **Products**. Optional filter parameters can be passed in. + You can supply category IDs. operationId: getProducts parameters: - name: store_hash @@ -390,6 +392,11 @@ paths: - inventory_level - is_visible - total_sold + - name: 'channels:in' + in: query + description: Filter items by channel ID. + schema: + type: array - name: 'categories:in' in: query description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' @@ -423,6 +430,251 @@ paths: $ref: '#/components/schemas/product_Full' meta: $ref: '#/components/schemas/metaCollection_Full' + examples: + example-1: + value: + data: + - id: 1 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + channels: + - 1 + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability_description: string + availability: available + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05.000Z' + date_modified: '2018-08-24T14:41:00.000Z' + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: + pagination: + total: 36 + count: 36 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: string + current: '?page=1&limit=50' + next: string put: tags: - Products @@ -439,6 +691,9 @@ paths: - `date_modified` - `calculated_price` - `base_variant_id` + + **Usage Notes** + You can supply category IDs. operationId: updateProducts parameters: - name: store_hash @@ -883,7 +1138,7 @@ paths: tags: - Products summary: Create a Product - description: |- + description: | Creates a *Product*. Only one product can be created at a time. **Required Fields:** @@ -903,8 +1158,8 @@ paths: - 250 characters product name length. **Usage Notes** - * `POST` requests to `/products` accept a `video` array. - * `POST` requests to `/products/{product_id}/videos` accept a `video` object. + * `POST` requests to `/products` accept a single `video` object. To send an array of video objects, use: `/products/{product_id}/videos`. + * You can supply category IDs. operationId: createProduct parameters: - name: store_hash @@ -934,7 +1189,111 @@ paths: application/json: schema: $ref: '#/components/schemas/product_Base' + examples: + example-1: + value: + id: 0 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability_description: string + availability: available + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string required: true + description: '' responses: '200': description: '' @@ -1380,7 +1739,8 @@ paths: tags: - Products summary: Get a Product - description: Returns a single *Product*. Optional parameters can be passed in. + description: | + Returns a single *Product*. Optional parameters can be passed in. operationId: getProductById parameters: - name: product_id @@ -1556,6 +1916,9 @@ paths: - date_modified - calculated_price - base_variant_id + + **Usage Notes** + * You can supply category IDs. operationId: updateProduct parameters: - name: product_id @@ -23756,6 +24119,8 @@ components: reviews_rating_sum: 3.2 reviews_count: 4 total_sold: 80 + channels: + - 1 custom_fields: - id: 6 name: ISBN @@ -23788,6 +24153,7 @@ components: id: 0 product_id: 0 length: string + x-extension-1: null properties: id: type: integer @@ -24148,6 +24514,12 @@ components: description: | The total quantity of this product sold. example: 80 + channels: + type: array + description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' + items: + type: number + example: 1 custom_fields: type: array items: From 0903e162b01a30f0ef420e44d848335c281ea04b Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 14 Dec 2022 15:26:17 -0600 Subject: [PATCH 083/360] DEVDOCS-3840: [update] Catalog, move channels after categories (#1086) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/catalog.v3.yml | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 855b9e96b..e7061960f 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -450,10 +450,10 @@ paths: map_price: 0 tax_class_id: 0 product_tax_code: string - channels: - - 1 categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -744,6 +744,8 @@ paths: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -862,6 +864,8 @@ paths: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -1829,6 +1833,8 @@ paths: categories: - 23 - 21 + channels: + - 1 brand_id: 36 option_set_id: 55 option_set_display: right @@ -24069,6 +24075,8 @@ components: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -24119,8 +24127,6 @@ components: reviews_rating_sum: 3.2 reviews_count: 4 total_sold: 80 - channels: - - 1 custom_fields: - id: 6 name: ISBN @@ -24263,6 +24269,12 @@ components: - post items: type: integer + channels: + type: array + description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' + items: + type: number + example: 1 brand_id: maximum: 1000000000 minimum: 0 @@ -24514,12 +24526,6 @@ components: description: | The total quantity of this product sold. example: 80 - channels: - type: array - description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' - items: - type: number - example: 1 custom_fields: type: array items: From 6bdfc1c9b34c9abdbb4739bd1142785b7ff8b0fa Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 14 Dec 2022 15:39:00 -0600 Subject: [PATCH 084/360] DEVDOCS-4663: [fix] Catalog, structure of responses (#1082) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/catalog.v3.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index e7061960f..6bbc584c2 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1307,11 +1307,11 @@ paths: title: Product Response type: object properties: + data: + $ref: '#/components/schemas/product_Full' meta: type: object properties: {} - product_Full: - $ref: '#/components/schemas/product_Full' example-1: example: name: Smith Journal 13 @@ -1971,11 +1971,11 @@ paths: title: Product Response type: object properties: + data: + $ref: '#/components/schemas/product_Full' meta: type: object properties: {} - product_Full: - $ref: '#/components/schemas/product_Full' example-1: example: name: Smith Journal 13 @@ -29218,11 +29218,11 @@ components: title: Product Response type: object properties: + data: + $ref: '#/components/schemas/product_Full' meta: type: object properties: {} - product_Full: - $ref: '#/components/schemas/product_Full' example-1: example: name: Smith Journal 13 From 48ef7d491ee09ca06f47c7c4d6de2b39bd37786c Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Fri, 16 Dec 2022 11:35:39 -0600 Subject: [PATCH 085/360] DEVDOCS-3840: [rollback] Catalog, channel_id as query param (#1092) * revert 1086 * revert 990 --- reference/catalog.v3.yml | 390 +-------------------------------------- 1 file changed, 6 insertions(+), 384 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 6bbc584c2..e9c86fdb8 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1,4 +1,4 @@ -openapi: '3.0.3' +openapi: 3.0.3 info: title: Catalog description: |- @@ -87,9 +87,7 @@ paths: tags: - Products summary: Get All Products - description: |- - Returns a list of **Products**. Optional filter parameters can be passed in. - You can supply category IDs. + description: Returns a list of **Products**. Optional filter parameters can be passed in. operationId: getProducts parameters: - name: store_hash @@ -392,11 +390,6 @@ paths: - inventory_level - is_visible - total_sold - - name: 'channels:in' - in: query - description: Filter items by channel ID. - schema: - type: array - name: 'categories:in' in: query description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' @@ -430,251 +423,6 @@ paths: $ref: '#/components/schemas/product_Full' meta: $ref: '#/components/schemas/metaCollection_Full' - examples: - example-1: - value: - data: - - id: 1 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - channels: - - 1 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability_description: string - availability: available - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05.000Z' - date_modified: '2018-08-24T14:41:00.000Z' - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: - pagination: - total: 36 - count: 36 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: string - current: '?page=1&limit=50' - next: string put: tags: - Products @@ -691,9 +439,6 @@ paths: - `date_modified` - `calculated_price` - `base_variant_id` - - **Usage Notes** - You can supply category IDs. operationId: updateProducts parameters: - name: store_hash @@ -744,8 +489,6 @@ paths: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -864,8 +607,6 @@ paths: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -1142,7 +883,7 @@ paths: tags: - Products summary: Create a Product - description: | + description: |- Creates a *Product*. Only one product can be created at a time. **Required Fields:** @@ -1162,8 +903,8 @@ paths: - 250 characters product name length. **Usage Notes** - * `POST` requests to `/products` accept a single `video` object. To send an array of video objects, use: `/products/{product_id}/videos`. - * You can supply category IDs. + * `POST` requests to `/products` accept a `video` array. + * `POST` requests to `/products/{product_id}/videos` accept a `video` object. operationId: createProduct parameters: - name: store_hash @@ -1193,111 +934,7 @@ paths: application/json: schema: $ref: '#/components/schemas/product_Base' - examples: - example-1: - value: - id: 0 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability_description: string - availability: available - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string required: true - description: '' responses: '200': description: '' @@ -1743,8 +1380,7 @@ paths: tags: - Products summary: Get a Product - description: | - Returns a single *Product*. Optional parameters can be passed in. + description: Returns a single *Product*. Optional parameters can be passed in. operationId: getProductById parameters: - name: product_id @@ -1833,8 +1469,6 @@ paths: categories: - 23 - 21 - channels: - - 1 brand_id: 36 option_set_id: 55 option_set_display: right @@ -1922,9 +1556,6 @@ paths: - date_modified - calculated_price - base_variant_id - - **Usage Notes** - * You can supply category IDs. operationId: updateProduct parameters: - name: product_id @@ -24075,8 +23706,6 @@ components: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -24159,7 +23788,6 @@ components: id: 0 product_id: 0 length: string - x-extension-1: null properties: id: type: integer @@ -24269,12 +23897,6 @@ components: - post items: type: integer - channels: - type: array - description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' - items: - type: number - example: 1 brand_id: maximum: 1000000000 minimum: 0 From 53b28889d9aaf35dae38315732a4aad278eba1c9 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 16 Dec 2022 12:11:37 -0600 Subject: [PATCH 086/360] DEVDOCS-4669: [update] Price Lists, rate limits for simultaneous in-flight requests (#1089) Co-authored-by: Vitali Judin <vitali.judin@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/price_lists.v3.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 83255c145..1bb7626a8 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -850,7 +850,12 @@ paths: tags: - Price Lists Records summary: Get All Price List Records - description: Returns a list of *Price List Records* associated with a *Price List*. + description: |- + Returns a list of *Price List Records* associated with a *Price List*. + + **Notes** + * Supports up to 10 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error and your additional requests will fail. + * Store Pricelist Records data to reduce the number of calls and maximize performance. operationId: getPriceListRecordCollection parameters: - name: price_list_id @@ -1761,7 +1766,12 @@ paths: tags: - Price Lists Records summary: Get Price Records by Variant - description: Returns *Price List Records* using the variant ID. Will also contain currency records. + description: | + Returns *Price List Records* using the variant ID. Will also contain currency records. + + **Notes** + * Supports up to 50 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error and your additional requests will fail. + * Store Pricelist Records data to reduce the number of calls and maximize performance. operationId: getPriceListRecordsByVariantId parameters: - name: price_list_id From c6b2363ccd84a58bc7c5ceebaf2b0343bd8775cc Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 20 Dec 2022 11:50:05 -0800 Subject: [PATCH 087/360] DEVDOCS-4560: [add] Shipping Provider, add form_fields to destination (#1038) Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/shipping_provider.yml | 145 +++++++++++++++++--------------- 1 file changed, 79 insertions(+), 66 deletions(-) diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index 8b000c1ed..d185c11e1 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -1,26 +1,21 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: version: '' title: Shipping Providers description: |- Implement endpoints consumed by BigCommerce for custom shipping integrations. To learn more, see [Shipping Provider API Overview](/api-docs/store-management/shipping/shipping-provider-api). - ## Authentication + This specification file describes API requests BigCommerce will make to a registered shipping carrierʼs server to check connection options and retrieve rates. As such, the method of authentication is determined by the carrier server. - This specification file describes API requests BigCommerce will make to a registered shipping carrierʼs server to check connection options and retrieve rates. As such, the method of authentication is determined by the carrierʼs server. - - - ## Subresources + ## Sub-resources ### Check Connection Options The Check Connection Options request is made by BigCommerce when checking for available shipping options. Each Shipping Provider will have different configurations for the payload. - ### Rate The Rate request is made by BigCommerce to get shipping quotes from the provider. - ## Additional Information ### Webhooks @@ -29,12 +24,25 @@ info: ### Related API Resources - [Shipping Provider](/api-reference/store-management/shipping-provider-api) - [Shipping V2 API](/api-reference/shipping/shipping-api) - termsOfService: '' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +tags: + - name: Shipping Provider +x-stoplight: + docs: + includeDownloadLink: true + showModels: false +servers: + - url: 'https://your_app.example.com' + description: The public URL of your shipping provider application. paths: /rate: post: description: |- - Request shipping rates. BigCommerce sends a request for shipping quotes to the shipping providerʼs URL. The shipping provider responds with shipping quotes. + Request shipping rates. BigCommerce sends a request for shipping quotes to the shipping provider URL. The shipping provider responds with shipping quotes. > #### Note > * Substitute the host and path specific to the shipping provider for `your_app.example.com` and `rate`. @@ -81,7 +89,7 @@ paths: discounted_cost: currency: VQD amount: 16810732.187082157 - dispatch_date: 1947-07-10 + dispatch_date: '1947-07-10' transit_time: units: DAYS duration: 74 @@ -106,7 +114,7 @@ paths: discounted_cost: currency: XRQ amount: 69218406.22440869 - dispatch_date: 1954-03-05 + dispatch_date: '1954-03-05' transit_time: units: HOURS duration: 21 @@ -131,7 +139,7 @@ paths: discounted_cost: currency: CKD amount: 18401337.766514115 - dispatch_date: 1993-06-23 + dispatch_date: '1993-06-23' transit_time: units: HOURS duration: 54 @@ -158,7 +166,7 @@ paths: discounted_cost: currency: UBE amount: 40327578.11995282 - dispatch_date: 1943-09-25 + dispatch_date: '1943-09-25' transit_time: units: DAYS duration: 10 @@ -175,7 +183,7 @@ paths: discounted_cost: currency: VFS amount: 86177946.62739782 - dispatch_date: 1999-01-13 + dispatch_date: '1999-01-13' transit_time: units: DAYS duration: 11 @@ -204,7 +212,7 @@ paths: discounted_cost: currency: NPA amount: 72743924.13626081 - dispatch_date: 2006-01-17 + dispatch_date: '2006-01-17' transit_time: units: BUSINESS_DAYS duration: 52 @@ -223,7 +231,7 @@ paths: discounted_cost: currency: SJL amount: 60745150.4084129 - dispatch_date: 1976-06-19 + dispatch_date: '1976-06-19' transit_time: units: DAYS duration: 69 @@ -240,7 +248,7 @@ paths: discounted_cost: currency: PCP amount: 99728805.8108871 - dispatch_date: 1962-05-18 + dispatch_date: '1962-05-18' transit_time: units: DAYS duration: 10 @@ -263,7 +271,7 @@ paths: discounted_cost: currency: HMF amount: 98693839.53819382 - dispatch_date: 2010-08-15 + dispatch_date: '2010-08-15' transit_time: units: HOURS duration: 31 @@ -280,7 +288,7 @@ paths: discounted_cost: currency: ZMA amount: 57479313.52475042 - dispatch_date: 2008-10-24 + dispatch_date: '2008-10-24' transit_time: units: DAYS duration: 55 @@ -307,7 +315,7 @@ paths: discounted_cost: currency: QGD amount: 81757709.40827666 - dispatch_date: 1999-11-11 + dispatch_date: '1999-11-11' transit_time: units: HOURS duration: 6 @@ -332,7 +340,7 @@ paths: discounted_cost: currency: YYL amount: 11005656.662449125 - dispatch_date: 1980-05-16 + dispatch_date: '1980-05-16' transit_time: units: HOURS duration: 32 @@ -353,7 +361,7 @@ paths: /check_connection_options: post: description: |- - Validate connection options. BigCommerce sends a request to the shipping providerʼs URL in order to check a merchantʼs connection credentials. The shipping provider sends a response indicating whether a merchant has valid credentials. + Validate connection options. BigCommerce sends a request to the shipping provider URL to check a merchantʼs connection credentials. The shipping provider sends a response indicating whether a merchant has valid credentials. > #### Note > * Substitute the host and path specific to the shipping provider for `your_app.example.com` and `check_connection_options`. @@ -387,14 +395,6 @@ paths: tags: - Shipping Provider operationId: validateConnectionOptions -tags: - - name: Shipping Provider -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -servers: - - url: https://your_app.example.com components: schemas: RateRequestPayload: @@ -626,13 +626,13 @@ components: description: The value associated with the meta field. namespace: type: string - description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' + description: 'The namespace associated with metafields for [products](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) and [product variants](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string enum: - product - variant - description: 'Resource type associated with the meta field. Currently, the only values available are `product` or `variant`.' + description: The resource type associated with the metafield. Currently, the only values available are `product` and `variant`. resource_id: type: string description: The resource ID of the meta field. @@ -640,7 +640,7 @@ components: type: string enum: - metafield - description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' + description: The attribute type associated with the product or product variant metafield. Currently, the only value available is `metafield`. customer: type: object title: Customer Details @@ -651,7 +651,7 @@ components: items: type: object title: Customer Group - description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' + description: The Group (if any) that this customer is in. The value defaults to zero if the customer is not in a group or is a guest. properties: customer_group_id: type: integer @@ -697,7 +697,7 @@ components: customer_group_name: type: string title: Customer Group - description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' + description: The Group (if any) that this customer is in. The value will default to zero if the customer is not in a group or is a guest. customer_id: type: integer title: Customer Details @@ -705,16 +705,16 @@ components: x-internal: false ZoneOptionsInstance: type: object - description: Optional. Any zone-specific request options declared by the carrier and configured by the merchant to retrieve rates. + description: Any zone-specific request options declared by the carrier and configured by the merchant to retrieve rates. Optional. title: Zone Options Instance x-internal: false ConnectionOptionsInstance: type: object - description: Optional. Any global request options declared by the carrier and configured by the merchant to retrieve rates. + description: Any global request options declared by the carrier and configured by the merchant to retrieve rates. Optional. title: Connection Options Instance x-internal: false RateOptionsInstance: - description: Optional. Any checkout-specific request options to retrieve rates. + description: Optional, any checkout specific request options to retrieve rates type: array items: type: object @@ -737,7 +737,7 @@ components: customer_group_name: type: string title: Customer Group - description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' + description: The Group (if any) that this customer is in. The value will default to zero if the customer is not in a group or is a guest. x-internal: false KeyValuePair: type: object @@ -896,7 +896,7 @@ components: - messages - carrier_quotes title: Rate Response Payload - description: The response from the Shipping Service. Can contain zero to many quotes. + description: The response from the Shipping Service. Contains zero or more quotes. x-internal: false CarrierQuoteObject: type: object @@ -1121,7 +1121,7 @@ components: format: int32 attributes: type: array - description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of public fields specific to the carrier integration. + description: A list of arbitrary properties stored as part of the product or product variant meta fields. These consist of any public fields specific to the carrier integration. items: type: object properties: @@ -1133,13 +1133,13 @@ components: description: The value associated with the product or product variant meta field. namespace: type: string - description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' + description: 'The namespace associated with metafields for [products](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) and [product variants](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string enum: - product - variant - description: 'Resource type associated with the product or product variant meta field. Currently, the only values available are `product` or `variant`.' + description: Resource type associated with the product or product variant meta field. Currently, the only values available are 'product' or 'variant'. resource_id: type: string description: The resource ID of the product or product variant meta field. @@ -1147,7 +1147,7 @@ components: type: string enum: - metafield - description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' + description: Attribute type associated with the product or product variant meta field. Currently, the only value for this is 'metafield'. title: Attribute Value title: Rate Request Item x-internal: false @@ -1316,10 +1316,10 @@ components: description: The value associated with the product or product variant meta field. namespace: type: string - description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' + description: 'The namespace associated with metafields for [products](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) and [product variants](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string - description: 'Resource type associated with the product or product variant meta field. Currently, the only values available are `product` or `variant`.' + description: Resource type associated with the product or product variant meta field. Currently, the only values available are 'product' or 'variant'. enum: - product - variant @@ -1328,7 +1328,7 @@ components: description: The resource ID of the product or product variant meta field. attribute_type: type: string - description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' + description: Attribute type associated with the product or product variant meta field. Currently, the only value for this is 'metafield'. enum: - metafield title: Attribute Value @@ -1386,7 +1386,7 @@ components: description: A set of carrier-specific fields that will be displayed to shoppers at checkout. type: array items: - description: An individual carrier-defined field to display at checkout, along with any defaults and validation. + description: Options, ranges, defaults, and validation for a carrier-defined field that displays at checkout. type: object properties: code: @@ -1413,12 +1413,12 @@ components: description: A valid default value for this field. type: string value_options: - description: For select type fields, the list of available options. + description: The list of options available for `select` type fields. type: array items: type: string date_ranges: - description: For date type fields, a set of valid date ranges available to choose from. + description: The set of valid date ranges for `date` type fields. type: array items: type: object @@ -1454,7 +1454,7 @@ components: title: Rate Options Schema x-internal: false KeyValuePairSchema: - description: An individual carrier-defined field to display at checkout, along with any defaults and validation. + description: Options, ranges, defaults, and validation for a carrier-defined field that displays at checkout. type: object properties: code: @@ -1481,12 +1481,12 @@ components: description: A valid default value for this field. type: string value_options: - description: For select type fields, the list of available options. + description: The list of options available for `select` type fields. type: array items: type: string date_ranges: - description: For date type fields, a set of valid date ranges available to choose from. + description: 'For date type fields, a set of valid date ranges available to choose from' type: array items: type: object @@ -1641,11 +1641,7 @@ components: description: The minimum required payload that is sent to retrieve rates. type: object title: Base Rate Request - required: - - origin - - destination - - items - - store_id + x-internal: false properties: origin: type: object @@ -1716,11 +1712,20 @@ components: maxLength: 2 example: US address_type: - description: Optional, defaults to residential + description: Defaults to residential. Optional. type: string enum: - RESIDENTIAL - COMMERCIAL + form_fields: + type: object + example: + "1": selected_value + "3": checkbox_selection_1 + description: Describes one or more [custom form fields](/api-reference/storefront/form-fields/form-fields/getformfields). Property key is the global ID of a shipping address form field. When no custom fields exist, the object is empty. + properties: + '<form field global ID>': + $ref: '#/components/schemas/FormFieldValue' items: type: array items: @@ -1847,13 +1852,13 @@ components: description: The value associated with the meta field. namespace: type: string - description: 'The namespace associated with [product](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or [product variant](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. The meta field namespace should be saved using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as an attribute.' + description: 'The namespace associated with a product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or product variant(/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. You should save a meta field namespace under this format `shipping_carrier_{yourCarrierId}`; otherwise, you will not be able to recognize it as an attribute.' resource_type: type: string enum: - product - variant - description: 'Resource type associated with the meta field. Currently, the only values available are `product` or `variant`.' + description: Resource type associated with the meta field. Currently, the only values available are 'product' or 'variant'. resource_id: type: string description: The resource ID of the meta field. @@ -1861,7 +1866,7 @@ components: type: string enum: - metafield - description: 'Attribute type associated with the product or product variant meta field. Currently, the only value for this is `metafield`.' + description: Attribute type associated with the product or product variant meta field. Currently, the only value for this is 'metafield'. customer: type: object title: Customer Details @@ -1872,7 +1877,7 @@ components: items: type: object title: Customer Group - description: 'The Group (if any) that this customer is in. This defaults to zero if the customer is a guest or is not in a group.' + description: The Group (if any) that this customer is in. This will default to zero if the customer is not in a group or is a guest. properties: customer_group_id: type: integer @@ -1899,5 +1904,13 @@ components: description: The property to which the reference value pertains. Examples include `channel_id` and `cart_id`. value: type: string - description: The reference value. Examples include `1` and `770ded29-da45-4ee0-abc6-883e83c0e5ed`. - x-internal: false + required: + - origin + - destination + - items + - store_id + FormFieldValue: + type: string + description: The value of a [shipping address](/api-reference/store-management/orders/order-shipping-addresses/getashippingaddress) form field. Depending on the form field, this could be a user-defined value or the value of a hidden input. + title: Form Field Value + \ No newline at end of file From 9270d45c7aa76a1602744c90db3b14301b333227 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 20 Dec 2022 14:05:00 -0800 Subject: [PATCH 088/360] DEVDOCS-4007: [net new] Tax Rates Zones API (#945) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> --- reference/tax_rates_zones.v3.yml | 798 +++++++++++++++++++++++++++++++ toc.json | 5 + 2 files changed, 803 insertions(+) create mode 100644 reference/tax_rates_zones.v3.yml diff --git a/reference/tax_rates_zones.v3.yml b/reference/tax_rates_zones.v3.yml new file mode 100644 index 000000000..c780831ce --- /dev/null +++ b/reference/tax_rates_zones.v3.yml @@ -0,0 +1,798 @@ +openapi: '3.0.0' +info: + title: Tax Rates & Zones + version: '1.0.0' + description: Manage manual tax rates and zones. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +servers: + - url: 'https://api.bigcommerce.com' + description: BigCommerce API Gateway +tags: + - name: Tax Zones + - name: Tax Rates +paths: + '/stores/{store_hash}/v3/tax/zones': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' + get: + parameters: + - $ref: '#/components/parameters/idIn' + tags: + - Tax Zones + summary: Get Tax Zones + description: 'Retrieve a selection of tax zones when you provide a list of tax zone IDs. Otherwise, retrieve all tax zones defined on the store.' + operationId: get-tax-zones + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tax_Zone' + meta: + type: object + examples: + Example 1: + value: + data: + - id: 2 + name: example zone + enabled: false + price_display_settings: + show_inclusive: false + show_both_on_detail_view: false + show_both_on_list_view: false + shopper_target_settings: + locations: + - country_code: AR + subdivision_codes: + - T + - V + postal_codes: [] + - country_code: AU + subdivision_codes: + - WA + - VIC + postal_codes: [] + customer_groups: + - 2 + meta: {} + put: + parameters: + - $ref: '#/components/parameters/Content-Type' + tags: + - Tax Zones + summary: Update Tax Zones + description: Update one or more tax zones. Only the tax zone `id` field is required. Fields unspecified by the request will retain their current state. + operationId: update-tax-zones + requestBody: + $ref: '#/components/requestBodies/Tax_ZoneArray' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tax_Zone' + meta: + type: object + examples: + Example 1: + value: + data: + - id: 23 + name: Australia + enabled: false + price_display_settings: + show_inclusive: false + show_both_on_detail_view: false + show_both_on_list_view: false + shopper_target_settings: + locations: + - country_code: AU + subdivision_codes: [] + postal_codes: + - '2238' + - '2173' + customer_groups: + - 2 + meta: {} + post: + parameters: + - $ref: '#/components/parameters/Content-Type' + tags: + - Tax Zones + summary: Create Tax Zones + description: |- + Create one or more tax zones. + + <!-- theme: info --> + > #### Note + > You cannot create a default tax zone. + operationId: create-tax-zones + requestBody: + $ref: '#/components/requestBodies/Tax_ZoneArrayPOST' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tax_Zone' + meta: + type: object + examples: + Example 1: + value: + data: + - id: 2 + name: example zone + enabled: true + price_display_settings: + show_inclusive: true + show_both_on_detail_view: true + show_both_on_list_view: true + shopper_target_settings: + locations: + - country_code: AR + subdivision_codes: + - T + - V + postal_codes: [] + - country_code: AU + subdivision_codes: + - WA + - VIC + postal_codes: [] + customer_groups: + - 0 + meta: {} + delete: + parameters: + - $ref: '#/components/parameters/idIn' + tags: + - Tax Zones + summary: Delete Tax Zones + description: Delete one or more tax zones. Deleting a tax zone removes all associated tax rates. + operationId: delete-tax-zones + responses: + '204': + description: No Content + '/stores/{store_hash}/v3/tax/rates': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' + get: + tags: + - Tax Rates + summary: Get Tax Rates + description: Retrieve a list of tax rates. + operationId: get-tax-rates + parameters: + - name: 'tax_zone_id:in' + in: query + example: '12,34,56' + schema: + type: string + description: Filter by tax zone `id`. Use comma-separated list of IDs for multiple tax zones. + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tax_Rate' + meta: + $ref: '#/components/schemas/Meta' + examples: {} + put: + parameters: + - $ref: '#/components/parameters/Content-Type' + tags: + - Tax Rates + summary: Update Tax Rates + description: Update one or more tax rates. Only the tax rate `id` field is required. Fields unspecified by the request will retain their current state. + operationId: update-tax-rates + requestBody: + $ref: '#/components/requestBodies/Tax_RateArray' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tax_Rate' + meta: + type: object + examples: + Example 1: + value: + data: + - id: 3 + tax_zone_id: 2 + name: Sales Tax + enabled: true + priority: 1 + class_rates: + - rate: 10 + tax_class_id: 0 + meta: {} + post: + parameters: + - $ref: '#/components/parameters/Content-Type' + tags: + - Tax Rates + summary: Create Tax Rates + description: Create one or more tax rates. Tax rates must be associated with a `tax_zone_id`. + operationId: create-tax-rates + requestBody: + $ref: '#/components/requestBodies/Tax_RateArrayPOST' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tax_Rate' + meta: + type: object + examples: + Example 1: + value: + data: + - id: 3 + tax_zone_id: 2 + name: Sales Tax + enabled: true + priority: 1 + class_rates: + - rate: 5 + tax_class_id: 0 + meta: {} + delete: + parameters: + - $ref: '#/components/parameters/idIn' + tags: + - Tax Rates + summary: Delete Tax Rates + description: Delete one or more tax rates. + operationId: delete-tax-rates + responses: + '204': + description: No Content +components: + requestBodies: + Tax_RateArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tax_RatePUT' + examples: + Example 1: + value: + - id: 3 + tax_zone_id: 2 + name: Sales Tax + enabled: true + priority: 1 + class_rates: + - rate: 10 + tax_class_id: 0 + required: true + Tax_RateArrayPOST: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tax_RatePOST' + examples: + Example 1: + value: + - tax_zone_id: 2 + name: Sales Tax + enabled: true + priority: 1 + class_rates: + - rate: 5 + tax_class_id: 0 + required: true + Tax_ZoneArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tax_ZonePUT' + examples: + Example 1: + value: + - id: 3 + name: Australia + enabled: false + price_display_settings: + show_inclusive: false + show_both_on_detail_view: false + show_both_on_list_view: false + shopper_target_settings: + locations: + - country_code: AU + postal_codes: + - '2238' + - '2173' + customer_groups: + - 2 + required: true + Tax_ZoneArrayPOST: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tax_ZonePOST' + examples: + Example 1: + value: + - name: example zone + enabled: true + price_display_settings: + show_inclusive: true + show_both_on_detail_view: true + show_both_on_list_view: true + shopper_target_settings: + locations: + - country_code: AR + subdivision_codes: + - T + - V + - country_code: AU + subdivision_codes: + - WA + - VIC + customer_groups: + - 0 + required: true + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + type: apiKey + in: header + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Information & Settings | modify | `store_v2_information` | + | Information & Settings | read-only | `store_v2_information_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](/api-docs/getting-started/authentication/rest-api-authentication). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see [API Accounts and OAuth Scopes](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + schemas: + Tax_Zone: + type: object + x-examples: {} + properties: + id: + type: integer + description: 'Tax Zone ID. Internal identifier used to get, update, or delete a specific tax zone.' + name: + type: string + description: The human-readable name for this tax zone. The name displays on the merchant's control panel. + example: Australia + enabled: + type: boolean + description: Indicates whether a tax zone is enabled. Tax operations are only for enabled zones. + default: true + price_display_settings: + type: object + description: Settings that describe how a store displays prices to shoppers matched with this tax zone. + properties: + show_inclusive: + type: boolean + description: Indicates whether to show prices as tax inclusive or tax exclusive to shoppers matched with this tax zone. + show_both_on_detail_view: + type: boolean + description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing product detail; for example, on product pages. This view applies to shoppers matched with this tax zone.' + show_both_on_list_view: + type: boolean + description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone.' + shopper_target_settings: + type: object + description: 'Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. The default tax zone does not have any shopper target settings, as this zone applies to all shoppers that are unable to be matched with another tax zone.' + properties: + locations: + type: array + description: A tax zone may target shoppers in one or more locations. + items: + type: object + properties: + country_code: + type: string + example: AU + description: Two-letter ISO 3166-1 country code + subdivision_codes: + type: array + example: + - NSW + - QLD + description: Three-letter ISO 3166-2 subdivision code + items: + type: string + postal_codes: + type: array + example: + - '2234' + - '2170' + items: + type: string + customer_groups: + type: array + description: One or more customer groups that a tax zone targets. Empty array if zone applies to all customers. + items: + type: integer + Tax_ZonePUT: + type: object + x-stoplight: + id: 3d6cd787b77b3 + properties: + id: + type: integer + description: 'Tax Zone ID. Internal identifier used to get, update, or delete a specific tax zone.' + name: + type: string + description: The human-readable name for this tax zone. The name displays on the merchant's control panel. + example: Australia + enabled: + type: boolean + description: Indicates whether a tax zone is enabled. Tax operations are only for enabled zones. + default: true + price_display_settings: + type: object + description: Settings that describe how a store displays prices to shoppers matched with this tax zone. + properties: + show_inclusive: + type: boolean + description: Indicates whether to show prices as tax inclusive or tax exclusive to shoppers matched with this tax zone. + show_both_on_detail_view: + type: boolean + description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing product detail; for example, on product pages. This view applies to shoppers matched with this tax zone.' + show_both_on_list_view: + type: boolean + description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone.' + shopper_target_settings: + type: object + description: 'Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. The default tax zone does not have any shopper target settings, as this zone applies to all shoppers that are unable to be matched with another tax zone.' + properties: + locations: + type: array + description: A tax zone may target shoppers in one or more locations. + items: + type: object + properties: + country_code: + type: string + example: AU + description: Two-letter ISO 3166-1 country code + subdivision_codes: + type: array + example: + - NSW + - QLD + description: Three-letter ISO 3166-2 subdivision code + items: + type: string + postal_codes: + type: array + example: + - '2234' + - '2170' + items: + type: string + customer_groups: + type: array + description: One or more customer groups that a tax zone targets. Empty array if zone applies to all customers. + items: + type: integer + required: + - id + Tax_ZonePOST: + type: object + properties: + name: + type: string + description: The human-readable name for this tax zone. The name displays on the merchant's control panel. + example: Australia + enabled: + type: boolean + description: Indicates whether a tax zone is enabled. Tax operations are only for enabled zones. + default: true + price_display_settings: + type: object + description: Settings that describe how a store displays prices to shoppers matched with this tax zone. + properties: + show_inclusive: + type: boolean + description: Indicates whether to show prices as tax inclusive or tax exclusive to shoppers matched with this tax zone. + show_both_on_detail_view: + type: boolean + description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing product detail; for example, on product pages. This view applies to shoppers matched with this tax zone.' + default: false + show_both_on_list_view: + type: boolean + description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone.' + default: false + required: + - show_inclusive + shopper_target_settings: + type: object + description: Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. + properties: + locations: + type: array + description: A tax zone may target shoppers in one or more locations. + items: + type: object + properties: + country_code: + type: string + example: AU + description: Two-letter ISO 3166-1 country code + subdivision_codes: + type: array + example: + - NSW + - QLD + description: Three-letter ISO 3166-2 subdivision code + items: + type: string + postal_codes: + type: array + example: + - '2234' + - '2170' + items: + type: string + customer_groups: + type: array + description: One or more customer groups that a tax zone targets. Empty array if zone applies to all customers. + items: + type: integer + required: + - locations + required: + - name + Tax_Rate: + type: object + properties: + class_rates: + type: array + description: Tax rates for tax classes. You must assign at least one tax rate for each tax class defined on a store. + items: + type: object + properties: + rate: + type: number + description: The tax rate that you apply to the items in a tax class. + example: 5 + tax_class_id: + type: integer + description: ID of a tax class. You must associate a tax rate with a tax class. The rate will apply to all the items in this tax class. + example: 1 + enabled: + type: boolean + description: Indicates whether a tax rate is enabled. Tax operations are only for enabled zones. + default: true + id: + type: integer + description: Tax Rate ID. Internal identifier to update and delete a specific tax rate. + example: 3 + name: + type: string + description: 'The human-readable name for this tax zone. The name displays on the merchant control panel and to shoppers, depending on store tax settings.' + example: Sales Tax + priority: + type: integer + description: 'Allows for compounding tax rates, common in certain jurisdictions.' + default: 1 + tax_zone_id: + type: integer + description: ID of an associated tax zone. You must associate a tax rate with a tax zone. + example: 2 + x-examples: {} + Tax_RatePUT: + type: object + x-stoplight: + id: d741cb3bba64c + properties: + class_rates: + type: array + description: Tax rates for tax classes. You must assign at least one tax rate for each tax class defined on a store. + items: + type: object + properties: + rate: + type: number + description: The tax rate that you apply to the items in a tax class. + example: 5 + tax_class_id: + type: integer + description: ID of a tax class. You must associate a tax rate with a tax class. The rate will apply to all the items in this tax class. + example: 1 + enabled: + type: boolean + description: Indicates whether a tax rate is enabled. Tax operations are only for enabled zones. + default: true + id: + type: integer + description: Tax Rate ID. Internal identifier to update and delete a specific tax rate. + example: 3 + name: + type: string + description: 'The human-readable name for this tax zone. The name displays on the merchant control panel and to shoppers, depending on store tax settings.' + example: Sales Tax + priority: + type: integer + description: 'Allows for compounding tax rates, common in certain jurisdictions.' + default: 1 + tax_zone_id: + type: integer + description: ID of an associated tax zone. You must associate a tax rate with a tax zone. + example: 2 + required: + - id + Tax_RatePOST: + type: object + properties: + class_rates: + type: array + description: Tax rates for tax classes. You must assign at least one tax rate for each tax class defined on a store. + items: + type: object + properties: + rate: + type: number + description: The tax rate that you apply to the items in a tax class. + example: 5 + tax_class_id: + type: integer + description: ID of a tax class. You must associate a tax rate with a tax class. The rate will apply to all items in this tax class. + example: 1 + required: + - rate + - tax_class_id + enabled: + type: boolean + description: Indicates whether a tax rate is enabled. Tax operations are only for enabled zones. + default: true + name: + type: string + description: 'The human-readable name for this tax zone. The name displays on the merchant control panel and to shoppers, depending on store tax settings.' + example: Sales Tax + priority: + type: integer + description: 'Allows for compounding tax rates, common in certain jurisdictions.' + default: 1 + tax_zone_id: + type: integer + description: ID of an associated tax zone. You must associate a tax rate with a tax zone. + example: 2 + required: + - class_rates + - name + - tax_zone_id + Meta: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + count: + type: integer + per_page: + type: integer + current_page: + type: integer + total_pages: + type: integer + links: + type: object + properties: + current: + type: string + x-examples: + Example 1: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?tax_zone_id%3Ain=1&page=1&limit=50' + title: Meta + parameters: + storeHash: + name: store_hash + in: path + required: true + description: Permanent ID of the BigCommerce store. + schema: + type: string + 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' + Content-Type: + 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' + idIn: + name: 'id:in' + in: query + example: '12,34,56' + schema: + type: string + description: Filter by tax zone `id`. Use a comma-separated list of IDs for multiple tax zones. + required: true +security: + - X-Auth-Token: [] + diff --git a/toc.json b/toc.json index 84d740b3b..65e4fd0ce 100644 --- a/toc.json +++ b/toc.json @@ -232,6 +232,11 @@ "title": "Tax Classes", "uri": "reference/tax_classes.v2.yml" }, + { + "type": "item", + "title": "Tax Rates and Zones", + "uri": "reference/tax_rates_zones.v3.yml" + }, { "type": "item", "title": "Tax Properties", From 1a579bf1497595cf93a698aeb61f533ba8cfb569 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Tue, 20 Dec 2022 17:33:17 -0600 Subject: [PATCH 089/360] DEVDOCS-4388: [deprecate] Widgets, Get widgets by search (#1097) --- reference/widgets.v3.yml | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index ff611b244..577efb498 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -188,40 +188,6 @@ paths: required: true schema: type: string - '/stores/{store_hash}/v3/content/widgets/search': - get: - tags: - - Widget - summary: Get All Widgets by Search - description: Returns a list of widgets by search. - operationId: searchWidgets - parameters: - - in: query - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - in: query - name: page - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - in: query - name: query - description: The query string associated with a widget's name and description. - schema: - type: string - responses: - '200': - $ref: '#/components/responses/WidgetCollection_Resp' - '422': - $ref: '#/components/responses/Error422_Resp' - parameters: - - schema: - type: string - name: store_hash - in: path - required: true '/stores/{store_hash}/v3/content/widget-templates/{uuid}/preview': post: tags: From d21002a77e702ec07a665745c23451742d79fa1e Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 21 Dec 2022 02:26:35 -0600 Subject: [PATCH 090/360] DEVDOCS-4270: [update] MSF control panel UI references (#1099) --- reference/channels.v3.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index c03fd448a..2c8a36cfd 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -266,7 +266,7 @@ paths: - Channel Currency Assignments summary: Create Multiple Channels Currency Assignments operationId: createMultipleChannelsCurrencyAssignments - description: Sets enabled currencies and default currency for multiple channels. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Sets enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -286,7 +286,7 @@ paths: - Channel Currency Assignments summary: Update Multiple Channels Currency Assignments operationId: updateMultipleChannelsCurrencyAssignments - description: Updates enabled currencies and default currency for multiple channels. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Updates enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -337,7 +337,7 @@ paths: - Channel Currency Assignments summary: Create Channel Currency Assignments operationId: createSingleChannelCurrencyAssignments - description: Sets enabled currencies and default currency for a specific channel. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Sets enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -357,7 +357,7 @@ paths: - Channel Currency Assignments summary: Update Channel Currency Assignments operationId: updateSingleChannelCurrencyAssignments - description: Updates enabled currencies and default currency for a specific channel. Note that currencies must be added first in the Settings > Setup > Currencies settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Updates enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: content: application/json: From 74f5c5ee7aae0fc4a0aaf8fb8e801c111d02351b Mon Sep 17 00:00:00 2001 From: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Date: Fri, 30 Dec 2022 12:12:12 -0600 Subject: [PATCH 091/360] DEVDOCS-4686: [fix] Sites, change site route PUT request body to object (#1109) Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> --- reference/sites.v3.yml | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/reference/sites.v3.yml b/reference/sites.v3.yml index 1fc1a85da..9336c55fc 100644 --- a/reference/sites.v3.yml +++ b/reference/sites.v3.yml @@ -8,7 +8,7 @@ info: ## Authentication - Authenticate requests by sending an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` via `X-Auth-Token` HTTP heade + Authenticate requests by sending an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` via `X-Auth-Token` HTTP header. ### Example ```http @@ -96,7 +96,7 @@ info: |`category`|Route to category pages | |`blog`|Route to blog page| |`home`|Route to storefront homepage| - |`cart`|Route to shopper's cart| + |`cart`|Route to shopper’s cart| |`checkout`|Route to checkout page| |`search`|Route to store search page| |`account`|Route to account profile page| @@ -296,7 +296,7 @@ paths: schema: type: string get: - summary: Get a Site's Routes + summary: Get a Site’s Routes operationId: index-site-routes parameters: - name: site_id @@ -354,7 +354,7 @@ paths: total_pages: 1 tags: - Site Routes - description: Get a site's routes. + description: Get a site’s routes. post: summary: Create a Site Route operationId: post-site-route @@ -437,7 +437,7 @@ paths: ## Usage Notes * `id` is required when updating an existing route. - summary: Update a Site's Routes + summary: Update a Site’s Routes parameters: - in: path name: site_id @@ -448,9 +448,7 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/siteRoute_Full' + $ref: '#/components/schemas/siteRoute_Full' x-examples: application/json: - id: 1 @@ -501,7 +499,7 @@ paths: meta: {} tags: - Site Routes - description: Get a site's route. + description: Get a site’s route. put: summary: Update a Site Route operationId: put-site-route @@ -533,7 +531,7 @@ paths: tags: - Site Routes description: | - Update a site's route. + Update a site’s route. delete: summary: Delete a Site Route operationId: delete-route @@ -553,7 +551,7 @@ paths: description: '' tags: - Site Routes - description: Delete a site's route. + description: Delete a site’s route. parameters: - name: store_hash in: path @@ -583,8 +581,8 @@ paths: in: path required: true get: - summary: Get a Site's SSL/TLS Certificate Information - description: Obtain information about a site's SSL/TLS certificate. + summary: Get a Site’s SSL/TLS Certificate Information + description: Obtain information about a site’s SSL/TLS certificate. tags: - Site Certificate operationId: getSitesIdCertificate @@ -597,7 +595,7 @@ paths: $ref: '#/components/schemas/CertificateResponse' examples: {} put: - summary: Upsert a Site's SSL/TLS Certificate Information + summary: Upsert a Site’s SSL/TLS Certificate Information operationId: putSiteIdCertificate tags: - Site Certificate @@ -744,7 +742,7 @@ components: enum: - dedicated - shared - description: 'Indicates if a private/dedicated SSL is installed on this site, or if it''s using shared SSL.' + description: Indicates whether a site is using a private/dedicated SSL or a shared SSL. urls: type: array description: 'All URLs that belong to the site, including `primary`, `canonical`, and `checkout` URLs.' From 379962369b87410c3e0a5ff3e3bc57207fb30e31 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 10 Jan 2023 13:15:45 -0800 Subject: [PATCH 092/360] DEVDOCS-4680: [clarify] Tax zones, default zone has no shopper target settings (#1120) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/tax_rates_zones.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/tax_rates_zones.v3.yml b/reference/tax_rates_zones.v3.yml index c780831ce..d0e00c78f 100644 --- a/reference/tax_rates_zones.v3.yml +++ b/reference/tax_rates_zones.v3.yml @@ -447,7 +447,7 @@ components: description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone.' shopper_target_settings: type: object - description: 'Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. The default tax zone does not have any shopper target settings, as this zone applies to all shoppers that are unable to be matched with another tax zone.' + description: Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. You cannot define shopper target settings for the default tax zone because it must accommodate all shoppers who donʼt qualify for any other zone. properties: locations: type: array @@ -510,7 +510,7 @@ components: description: 'Indicates whether to show both tax inclusive and tax exclusive prices when viewing a list of products; for example, on category and brand pages. This view applies to shoppers matched with this tax zone.' shopper_target_settings: type: object - description: 'Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. The default tax zone does not have any shopper target settings, as this zone applies to all shoppers that are unable to be matched with another tax zone.' + description: Settings that describe which shoppers match this tax zone and help determine the most appropriate target for a shopper. You cannot define shopper target settings for the default tax zone because it must accommodate all shoppers who donʼt qualify for any other zone. properties: locations: type: array From e639b9cef69c9357def592e6ad20bd83b7433a1d Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 11 Jan 2023 11:11:03 -0800 Subject: [PATCH 093/360] DEVDOCS-4668: [update] Storefront Tokens, clarify intent of Revoke a token endpoint (#1115) Co-authored-by: Nathan Booker <nathan.booker@bigcommerce.com> --- reference/storefront_tokens.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/storefront_tokens.v3.yml b/reference/storefront_tokens.v3.yml index 3302c9df0..300d23c67 100644 --- a/reference/storefront_tokens.v3.yml +++ b/reference/storefront_tokens.v3.yml @@ -173,7 +173,7 @@ paths: tags: - API Token summary: Revoke a Token - description: Revoke access for a Storefront API token. + description: Revoke access for a Storefront API token. Only revoke compromised tokens under emergency situations. Let uncompromised short-lived tokens expire naturally, as you do not need to revoke these. operationId: revokeToken parameters: - name: store_hash From 72533744068c8b39178685c6aa11094de90d9c86 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 11 Jan 2023 15:16:11 -0600 Subject: [PATCH 094/360] DEVDOCS-4652: [update] Redirects, add link to new list of forbidden redirects (#1117) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/redirects.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index f708fb4bb..2370f91b5 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -2,7 +2,7 @@ openapi: 3.0.1 info: title: Redirects description: |- - Manage 301 redirects for one or more storefronts powered by a single BigCommerce back-end. + Manage 301 redirects for one or more storefronts powered by a single BigCommerce backend. For a list of redirects that are not allowed, see the [301 Redirects FAQ](https://support.bigcommerce.com/s/article/301-Redirects#faq) in our Help Center. ## Authentication From 6e49737b81722fba6fd0d476a8f707d698e80cf9 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Wed, 11 Jan 2023 15:25:13 -0600 Subject: [PATCH 095/360] DEVDOCS-4645: [update] Orders V3, clarify async payment processing (#1119) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/orders.v3.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index f71c712de..3cebd7dba 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -20,8 +20,7 @@ paths: post: summary: Capture description: |- - Capture the payment for an order updating the `payment_status` to `capture pending`. - + Capture the payment for an order. When there are no payment method validation issues, the capture process is successful, the `payment_status` updates to `capture pending`, and the payment request is scheduled. The payment request itself occurs asynchronously. Requires at least one of the following scopes: * `store_v2_orders` * `store_v2_transactions` @@ -67,7 +66,7 @@ paths: post: summary: Void description: |- - Void the payment for an order updating the `payment_status` to `void pending`. + Void the payment for an order. When there are no payment method validation issues, the void process is successful, the `payment_status` updates to `void pending`, and the void payment request is scheduled. The payment request itself occurs asynchronously. Requires at least one of the following scopes: * `store_v2_orders` @@ -274,7 +273,7 @@ paths: post: summary: Create a Refund description: |- - Creates a refund. + Creates a refund. When there are no payment method validation issues, the refund process is successful and the refund payment request is scheduled. The payment request itself occurs asynchronously. Requires at least one of the following scopes: * `store_v2_orders` From c5484fb1ff38f053cbea36a703b8cca91bf56a8d Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 11 Jan 2023 15:42:38 -0600 Subject: [PATCH 096/360] DEVDOCS-4689: [update] Customers, add create limit (#1114) Co-authored-by: Vitali Judin <vitali.judin@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/customers.v3.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index dc67c6454..22d90e1c0 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -219,7 +219,7 @@ paths: $ref: '#/components/responses/CustomerCollectionResponse' post: description: |- - Creates Customers. Multiple customers can be created in one call. + Creates Customers. Create up to 10 customers in one call. **Required Fields** * last_name @@ -239,8 +239,8 @@ paths: * attribute_value -- This is input as a string, regardless of the [Type](/api-reference/customer-subscribers/v3-customers-api/models/type). **Limits** - * Limit of 10 concurrent requests. - + * Limit of 10 concurrent requests + **Notes** A customer can be created with global access or channel-specific access. @@ -305,6 +305,8 @@ paths: responses: '200': $ref: '#/components/responses/CustomerCollectionResponse' + '413': + description: The request payload is too large. The maximum number of items allowed in the array is 10. '422': description: The *Customer* was not valid. This is the result of missing required fields or trying to edit a read only field. See the response for more details. content: @@ -345,6 +347,8 @@ paths: responses: '200': $ref: '#/components/responses/CustomerCollectionResponse' + '413': + description: The request payload is too large. The maximum number of items allowed in the array is 10. '422': description: | The `Customer` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. From 87d2d8207b2faf7318131a599ebe6d6b796fd2fd Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 11 Jan 2023 14:09:40 -0800 Subject: [PATCH 097/360] DEVDOCS-4681: [refine] Tax Rates + Zones, cleanup (#1118) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/tax_rates_zones.v3.yml | 61 +++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/reference/tax_rates_zones.v3.yml b/reference/tax_rates_zones.v3.yml index d0e00c78f..640a31fd2 100644 --- a/reference/tax_rates_zones.v3.yml +++ b/reference/tax_rates_zones.v3.yml @@ -1,4 +1,4 @@ -openapi: '3.0.0' +openapi: '3.1.0' info: title: Tax Rates & Zones version: '1.0.0' @@ -21,7 +21,7 @@ paths: - $ref: '#/components/parameters/Accept' get: parameters: - - $ref: '#/components/parameters/idIn' + - $ref: '#/components/parameters/zoneIdIn' tags: - Tax Zones summary: Get Tax Zones @@ -169,11 +169,16 @@ paths: meta: {} delete: parameters: - - $ref: '#/components/parameters/idIn' + - $ref: '#/components/parameters/zoneIdIn' tags: - Tax Zones summary: Delete Tax Zones - description: Delete one or more tax zones. Deleting a tax zone removes all associated tax rates. + description: |- + Delete one or more tax zones. Deleting a tax zone removes all associated tax rates. + + <!-- theme:info --> + > You must specify which zone(s) to delete using the `id:in` query parameter. + operationId: delete-tax-zones responses: '204': @@ -189,13 +194,8 @@ paths: description: Retrieve a list of tax rates. operationId: get-tax-rates parameters: - - name: 'tax_zone_id:in' - in: query - example: '12,34,56' - schema: - type: string - description: Filter by tax zone `id`. Use comma-separated list of IDs for multiple tax zones. - required: true + - $ref: '#/components/parameters/rateIdIn' + - $ref: '#/components/parameters/taxZoneIdIn' responses: '200': description: OK @@ -287,11 +287,16 @@ paths: meta: {} delete: parameters: - - $ref: '#/components/parameters/idIn' + - $ref: '#/components/parameters/rateIdIn' tags: - Tax Rates summary: Delete Tax Rates - description: Delete one or more tax rates. + description: |- + Delete one or more tax rates. + + <!-- theme:info --> + > You must specify which rate(s) to delete using the `id:in` query parameter. + operationId: delete-tax-rates responses: '204': @@ -788,11 +793,33 @@ components: idIn: name: 'id:in' in: query - example: '12,34,56' schema: - type: string - description: Filter by tax zone `id`. Use a comma-separated list of IDs for multiple tax zones. - required: true + type: array + items: + type: integer + minItems: 1 + style: form + explode: false + description: Filter by `id`. Use a comma-separated CSV string of IDs for multiple selections. For example, `5` or `12,34,56`. + required: false + zoneIdIn: + $ref: '#/components/parameters/idIn' + description: Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. + rateIdIn: + $ref: '#/components/parameters/idIn' + description: Filter by tax rate `id`. Use a comma-separated CSV string of IDs for multiple tax rates. For example, `5` or `12,34,56`. + taxZoneIdIn: + name: 'tax_zone_id:in' + in: query + schema: + type: array + items: + type: integer + minItems: 1 + style: form + explode: false + description: Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. + required: false security: - X-Auth-Token: [] From 3a064abb6c698426220502d62175f556f0202842 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Tue, 17 Jan 2023 12:11:15 -0600 Subject: [PATCH 098/360] DEVDOCS-3840: [new] Catalog, add channel_id query parameter (#1096) roll forward 990 & 1086 --- reference/catalog.v3.yml | 390 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 384 insertions(+), 6 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index e9c86fdb8..6bbc584c2 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: title: Catalog description: |- @@ -87,7 +87,9 @@ paths: tags: - Products summary: Get All Products - description: Returns a list of **Products**. Optional filter parameters can be passed in. + description: |- + Returns a list of **Products**. Optional filter parameters can be passed in. + You can supply category IDs. operationId: getProducts parameters: - name: store_hash @@ -390,6 +392,11 @@ paths: - inventory_level - is_visible - total_sold + - name: 'channels:in' + in: query + description: Filter items by channel ID. + schema: + type: array - name: 'categories:in' in: query description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' @@ -423,6 +430,251 @@ paths: $ref: '#/components/schemas/product_Full' meta: $ref: '#/components/schemas/metaCollection_Full' + examples: + example-1: + value: + data: + - id: 1 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + channels: + - 1 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability_description: string + availability: available + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05.000Z' + date_modified: '2018-08-24T14:41:00.000Z' + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: + pagination: + total: 36 + count: 36 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: string + current: '?page=1&limit=50' + next: string put: tags: - Products @@ -439,6 +691,9 @@ paths: - `date_modified` - `calculated_price` - `base_variant_id` + + **Usage Notes** + You can supply category IDs. operationId: updateProducts parameters: - name: store_hash @@ -489,6 +744,8 @@ paths: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -607,6 +864,8 @@ paths: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -883,7 +1142,7 @@ paths: tags: - Products summary: Create a Product - description: |- + description: | Creates a *Product*. Only one product can be created at a time. **Required Fields:** @@ -903,8 +1162,8 @@ paths: - 250 characters product name length. **Usage Notes** - * `POST` requests to `/products` accept a `video` array. - * `POST` requests to `/products/{product_id}/videos` accept a `video` object. + * `POST` requests to `/products` accept a single `video` object. To send an array of video objects, use: `/products/{product_id}/videos`. + * You can supply category IDs. operationId: createProduct parameters: - name: store_hash @@ -934,7 +1193,111 @@ paths: application/json: schema: $ref: '#/components/schemas/product_Base' + examples: + example-1: + value: + id: 0 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability_description: string + availability: available + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string required: true + description: '' responses: '200': description: '' @@ -1380,7 +1743,8 @@ paths: tags: - Products summary: Get a Product - description: Returns a single *Product*. Optional parameters can be passed in. + description: | + Returns a single *Product*. Optional parameters can be passed in. operationId: getProductById parameters: - name: product_id @@ -1469,6 +1833,8 @@ paths: categories: - 23 - 21 + channels: + - 1 brand_id: 36 option_set_id: 55 option_set_display: right @@ -1556,6 +1922,9 @@ paths: - date_modified - calculated_price - base_variant_id + + **Usage Notes** + * You can supply category IDs. operationId: updateProduct parameters: - name: product_id @@ -23706,6 +24075,8 @@ components: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -23788,6 +24159,7 @@ components: id: 0 product_id: 0 length: string + x-extension-1: null properties: id: type: integer @@ -23897,6 +24269,12 @@ components: - post items: type: integer + channels: + type: array + description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' + items: + type: number + example: 1 brand_id: maximum: 1000000000 minimum: 0 From 896702e952bfa8e7923835dc8ab8aeabde2983fb Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 17 Jan 2023 15:14:58 -0800 Subject: [PATCH 099/360] DEVDOCS-4673: [update] Catalog API, changed max value for inventory (#1095) --- reference/catalog.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 6bbc584c2..662fe20bd 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -24282,13 +24282,13 @@ components: description: | A product can be added to an existing brand during a product /PUT or /POST. inventory_level: - maximum: 1000000000 + maximum: 2147483647 minimum: 0 type: integer description: | Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. inventory_warning_level: - maximum: 1000000000 + maximum: 2147483647 minimum: 0 type: integer description: | From cad88431e56991fd39c81e93d0194f444bea6cc1 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Wed, 18 Jan 2023 10:41:05 -0600 Subject: [PATCH 100/360] DEVDOCS-3840: [rollback] Catalog, add channel_id query parameter (#1129) --- reference/catalog.v3.yml | 390 +-------------------------------------- 1 file changed, 6 insertions(+), 384 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 662fe20bd..4ddd5d0ea 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1,4 +1,4 @@ -openapi: '3.0.3' +openapi: 3.0.3 info: title: Catalog description: |- @@ -87,9 +87,7 @@ paths: tags: - Products summary: Get All Products - description: |- - Returns a list of **Products**. Optional filter parameters can be passed in. - You can supply category IDs. + description: Returns a list of **Products**. Optional filter parameters can be passed in. operationId: getProducts parameters: - name: store_hash @@ -392,11 +390,6 @@ paths: - inventory_level - is_visible - total_sold - - name: 'channels:in' - in: query - description: Filter items by channel ID. - schema: - type: array - name: 'categories:in' in: query description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' @@ -430,251 +423,6 @@ paths: $ref: '#/components/schemas/product_Full' meta: $ref: '#/components/schemas/metaCollection_Full' - examples: - example-1: - value: - data: - - id: 1 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - channels: - - 1 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability_description: string - availability: available - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05.000Z' - date_modified: '2018-08-24T14:41:00.000Z' - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: - pagination: - total: 36 - count: 36 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: string - current: '?page=1&limit=50' - next: string put: tags: - Products @@ -691,9 +439,6 @@ paths: - `date_modified` - `calculated_price` - `base_variant_id` - - **Usage Notes** - You can supply category IDs. operationId: updateProducts parameters: - name: store_hash @@ -744,8 +489,6 @@ paths: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -864,8 +607,6 @@ paths: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -1142,7 +883,7 @@ paths: tags: - Products summary: Create a Product - description: | + description: |- Creates a *Product*. Only one product can be created at a time. **Required Fields:** @@ -1162,8 +903,8 @@ paths: - 250 characters product name length. **Usage Notes** - * `POST` requests to `/products` accept a single `video` object. To send an array of video objects, use: `/products/{product_id}/videos`. - * You can supply category IDs. + * `POST` requests to `/products` accept a `video` array. + * `POST` requests to `/products/{product_id}/videos` accept a `video` object. operationId: createProduct parameters: - name: store_hash @@ -1193,111 +934,7 @@ paths: application/json: schema: $ref: '#/components/schemas/product_Base' - examples: - example-1: - value: - id: 0 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability_description: string - availability: available - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string required: true - description: '' responses: '200': description: '' @@ -1743,8 +1380,7 @@ paths: tags: - Products summary: Get a Product - description: | - Returns a single *Product*. Optional parameters can be passed in. + description: Returns a single *Product*. Optional parameters can be passed in. operationId: getProductById parameters: - name: product_id @@ -1833,8 +1469,6 @@ paths: categories: - 23 - 21 - channels: - - 1 brand_id: 36 option_set_id: 55 option_set_display: right @@ -1922,9 +1556,6 @@ paths: - date_modified - calculated_price - base_variant_id - - **Usage Notes** - * You can supply category IDs. operationId: updateProduct parameters: - name: product_id @@ -24075,8 +23706,6 @@ components: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -24159,7 +23788,6 @@ components: id: 0 product_id: 0 length: string - x-extension-1: null properties: id: type: integer @@ -24269,12 +23897,6 @@ components: - post items: type: integer - channels: - type: array - description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' - items: - type: number - example: 1 brand_id: maximum: 1000000000 minimum: 0 From cdace5e1b4fb376ed5ad2159bb204d7b6deb2b2b Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 19 Jan 2023 13:30:50 -0600 Subject: [PATCH 101/360] DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101) Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/catalog.v3.yml | 1810 ++++++-------------------------------- 1 file changed, 249 insertions(+), 1561 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 4ddd5d0ea..73b90d47d 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -471,8 +471,7 @@ paths: examples: example-1: value: - - id: 0 - name: Smith Journal 13 + - name: Smith Journal 13 type: physical sku: SM-13 description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' @@ -590,7 +589,8 @@ paths: example-1: value: data: - - name: Smith Journal 13 + - id: 1 + name: Smith Journal 13 type: physical sku: SM-13 description: '<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.</span></p>' @@ -691,7 +691,6 @@ paths: length: string date_created: '2018-08-15T14:49:05+00:00' date_modified: '2018-08-24T14:41:00+00:00' - id: 1 base_variant_id: 0 calculated_price: 0 options: @@ -2156,10 +2155,6 @@ paths: - title: Product Image Base type: object properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. product_id: type: integer description: | @@ -4159,7 +4154,9 @@ paths: type: object properties: data: - $ref: '#/components/schemas/metafield_Base' + type: array + items: + $ref: '#/components/schemas/metafield_Full' meta: $ref: '#/components/schemas/categoriesTree_Resp' '404': @@ -4237,7 +4234,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Post' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -4249,106 +4246,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -4356,16 +4254,16 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only + resource_type: variant resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '409': description: | @@ -4505,7 +4403,7 @@ paths: value: 'Shelf 3, Bin 5' namespace: Inventory Namespace permission_set: read - resource_type: product + resource_type: variant resource_id: 158 description: Where products are located date_created: '2018-09-13T16:42:37+00:00' @@ -4581,7 +4479,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Put' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -4606,7 +4504,7 @@ paths: value: 'Shelf 3, Bin 5' namespace: Inventory Namespace permission_set: read - resource_type: product + resource_type: variant resource_id: 158 description: Where products are located date_created: '2018-09-13T16:42:37+00:00' @@ -5000,12 +4898,6 @@ paths: - title: Option Base description: Common Option properties. properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - nullable: true product_id: type: integer description: | @@ -9967,12 +9859,6 @@ paths: title: Complex Rule type: object properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 product_id: type: integer description: | @@ -11128,13 +11014,6 @@ paths: - value type: object properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 name: maxLength: 250 minLength: 1 @@ -11663,7 +11542,16 @@ paths: data: type: array items: - $ref: '#/components/schemas/bulkPricingRule_Full' + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' meta: $ref: '#/components/schemas/metaCollection_Full' example: @@ -11777,11 +11665,19 @@ paths: type: object properties: data: - $ref: '#/components/schemas/bulkPricingRule_Full' + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' meta: title: Meta type: object - properties: {} description: Empty meta object; may be used later. example: data: @@ -11928,7 +11824,16 @@ paths: type: object properties: data: - $ref: '#/components/schemas/bulkPricingRule_Full' + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' meta: title: Meta type: object @@ -12012,7 +11917,16 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/bulkPricingRule_Full' + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' required: true responses: '200': @@ -12034,6 +11948,7 @@ paths: id: type: integer description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true quantity_min: minimum: 0 type: integer @@ -12306,24 +12221,24 @@ paths: $ref: '#/components/schemas/metaCollection_Full' example: data: - - permission_set: app_only - namespace: Warehouse Locations + - id: 6 key: Location value: 4HG - description: Location in the warehouse - resource_type: brand + namespace: Warehouse Locations + permission_set: app_only + resource_type: product resource_id: 111 - id: 6 + description: Location in the warehouse date_created: '1973-01-20T21:34:57.903Z' date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: read - namespace: Warehouse Locations - key: Location + - id: 7 + key: Sublocation value: 4HG - description: Location in the warehouse - resource_type: brand + namespace: Warehouse Locations + permission_set: read + resource_type: product resource_id: 111 - id: 6 + description: Location in the warehouse date_created: '1973-01-20T21:34:57.903Z' date_modified: '1990-12-30T00:29:23.515Z' meta: @@ -12403,7 +12318,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Post' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -12550,106 +12465,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -12657,16 +12473,16 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only - resource_id: 137 resource_type: product - value: 'Shelf 3, Bin 5' + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '404': description: | @@ -12731,7 +12547,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Put' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -12743,106 +12559,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -12850,17 +12567,17 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only - resource_id: 137 resource_type: product - value: 'Shelf 3, Bin 5' - meta: {} + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} '404': description: | The resource was not found. @@ -14056,11 +13773,6 @@ paths: type: object description: Common Category object properties. properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. parent_id: type: integer description: |- @@ -14546,6 +14258,7 @@ paths: description: |- Unique ID of the *Category*. Increments sequentially. Read-Only. + readOnly: true parent_id: type: integer description: |- @@ -14683,6 +14396,7 @@ paths: description: |- Unique ID of the *Category*. Increments sequentially. Read-Only. + readOnly: true parent_id: type: integer description: |- @@ -15055,24 +14769,24 @@ paths: $ref: '#/components/schemas/metaCollection_Full' example: data: - - permission_set: app_only - namespace: Warehouse Locations + - id: 6 key: Location value: 4HG - description: Location in the warehouse - resource_type: brand + namespace: Warehouse Locations + permission_set: app_only + resource_type: category resource_id: 111 - id: 6 + description: Location in the warehouse date_created: '1973-01-20T21:34:57.903Z' date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: read - namespace: Warehouse Locations + - id: 7 key: Location value: 4HG - description: Location in the warehouse - resource_type: brand + namespace: Warehouse Locations + permission_set: read + resource_type: category resource_id: 111 - id: 6 + description: Location in the warehouse date_created: '1973-01-20T21:34:57.903Z' date_modified: '1990-12-30T00:29:23.515Z' meta: @@ -15152,7 +14866,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Post' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -15164,106 +14878,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -15271,16 +14886,16 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only + resource_type: category resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '409': description: | @@ -15399,106 +15014,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -15506,16 +15022,16 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only + resource_type: category resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '404': description: The resource was not found. @@ -15579,7 +15095,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Put' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -15591,106 +15107,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -15698,16 +15115,16 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only + resource_type: category resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '404': description: | @@ -16280,13 +15697,9 @@ paths: application/json: schema: title: Brand - required: - - name type: object + description: Common brand properties. properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. name: maxLength: 255 minLength: 1 @@ -16335,6 +15748,7 @@ paths: custom_url: title: Custom Url Brand type: object + description: The custom URL for the brand on the storefront. properties: url: type: string @@ -16347,8 +15761,8 @@ paths: description: | Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. + required: + - name required: true responses: '200': @@ -16366,6 +15780,7 @@ paths: id: type: integer description: Unique ID of the *Brand*. Read-Only. + readOnly: true name: maxLength: 255 minLength: 1 @@ -16702,6 +16117,7 @@ paths: id: type: integer description: Unique ID of the *Brand*. Read-Only. + readOnly: true name: maxLength: 255 minLength: 1 @@ -16784,6 +16200,7 @@ paths: id: type: integer description: Unique ID of the *Brand*. Read-Only. + readOnly: true name: maxLength: 255 minLength: 1 @@ -17124,24 +16541,24 @@ paths: $ref: '#/components/schemas/metaCollection_Full' example: data: - - permission_set: app_only - namespace: Warehouse Locations + - id: 6 key: Location value: 4HG - description: Location in the warehouse + namespace: Warehouse Locations + permission_set: app_only resource_type: brand resource_id: 111 - id: 6 + description: Location in the warehouse date_created: '1973-01-20T21:34:57.903Z' date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: read - namespace: Warehouse Locations - key: Location + - id: 7 + key: Brand location value: 4HG - description: Location in the warehouse + namespace: Warehouse Locations + permission_set: read resource_type: brand resource_id: 111 - id: 6 + description: Location in the warehouse date_created: '1973-01-20T21:34:57.903Z' date_modified: '1990-12-30T00:29:23.515Z' meta: @@ -17221,7 +16638,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Post' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -17233,138 +16650,39 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. - meta: - title: Meta + $ref: '#/components/schemas/metafield_Full' + meta: + title: Meta type: object properties: {} description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only + resource_type: brand resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} examples: example-1: value: data: - date_created: '2018-05-07T20:14:17+00:00' - date_modified: '2018-05-07T20:14:17+00:00' - description: Location in the warehouse id: 6 key: Location + value: 4HG namespace: Warehouse Locations permission_set: app_only - resource_id: 111 resource_type: category - value: 4HG + resource_id: 111 + description: Location in the warehouse + date_created: '2018-05-07T20:14:17+00:00' + date_modified: '2018-05-07T20:14:17+00:00' meta: {} '409': description: | @@ -17483,106 +16801,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -17590,16 +16809,16 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only - resource_id: 137 resource_type: product - value: 'Shelf 3, Bin 5' + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '404': description: | @@ -17664,7 +16883,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/metafield_Put' + $ref: '#/components/schemas/metafield_Base' required: true responses: '200': @@ -17676,106 +16895,7 @@ paths: type: object properties: data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. + $ref: '#/components/schemas/metafield_Full' meta: title: Meta type: object @@ -17783,16 +16903,16 @@ paths: description: Empty meta object; may be used later. example: data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located id: 4 key: location_id + value: 'Shelf 3, Bin 5' namespace: App Namespace permission_set: app_only - resource_id: 137 resource_type: product - value: 'Shelf 3, Bin 5' + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '404': description: | @@ -21061,6 +20181,7 @@ components: description: |- Unique ID of the *Category*. Increments sequentially. Read-Only. + readOnly: true parent_id: type: integer description: |- @@ -21166,6 +20287,7 @@ components: id: type: integer description: Unique ID of the *Brand*. Read-Only. + readOnly: true name: maxLength: 255 minLength: 1 @@ -22405,14 +21527,6 @@ components: title: product_Put description: The model for a PUT to update a product. allOf: - - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the product; increments sequentially. - x-required: - - put - $ref: '#/components/schemas/product_Base' - type: object properties: @@ -22474,44 +21588,10 @@ components: x-internal: false metafield_Base: title: metafield_Base - required: - - key - - namespace - - permission_set - - value type: object + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + x-internal: false properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post key: maxLength: 64 minLength: 1 @@ -22530,6 +21610,33 @@ components: example: 4HG x-required: - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access description: maxLength: 255 minLength: 0 @@ -22537,41 +21644,11 @@ components: description: | Description for the metafields. example: Location in the warehouse - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' - x-internal: false + required: + - permission_set + - namespace + - key + - value complexRule_Base: title: complexRule_Base type: object @@ -22822,9 +21899,6 @@ components: - type type: object properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. quantity_min: minimum: 0 type: integer @@ -23215,6 +22289,13 @@ components: product_Full: title: product_Full allOf: + - type: object + properties: + id: + minimum: 1 + type: integer + description: ID of the product. Read-Only. + readOnly: true - $ref: '#/components/schemas/product_Base' - type: object properties: @@ -23230,10 +22311,6 @@ components: The date on which the product was modified. format: date-time example: '2018-08-24T14:41:00+00:00' - id: - minimum: 1 - type: integer - description: ID of the product. Read Only. base_variant_id: type: integer description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. @@ -23302,11 +22379,6 @@ components: format: date-time description: Common ProductImage properties. x-internal: false - metafield_Post: - title: metafield_Post - allOf: - - $ref: '#/components/schemas/metafield_Base' - x-internal: false product_Put_Collection: title: product_Put_Collection description: The model for batch updating products. @@ -23789,8 +22861,6 @@ components: product_id: 0 length: string properties: - id: - type: integer name: maxLength: 250 minLength: 1 @@ -24155,7 +23225,16 @@ components: bulk_pricing_rules: type: array items: - $ref: '#/components/schemas/bulkPricingRule_Full' + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' images: type: array items: @@ -24169,34 +23248,52 @@ components: - type - weight - price - metafield_Put: - title: metafield_Put - description: Properties for updating metafields. + metafield_Full: + title: metafield_Full allOf: - type: object properties: id: type: integer description: Unique ID of the *Metafield*. Read-Only. + readOnly: true example: 6 - $ref: '#/components/schemas/metafield_Base' - x-internal: false - metafield_Full: - title: metafield_Full - allOf: - - $ref: '#/components/schemas/metafield_Put' - type: object properties: + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID of the resource with which the metafield is associated. + example: 111 + x-required: + - post date_created: type: string description: | Date and time of the metafield's creation. Read-Only. + readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. + readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' x-internal: false @@ -24284,6 +23381,7 @@ components: description: |- Unique ID of the *Category*. Increments sequentially. Read-Only. + readOnly: true parent_id: type: integer description: |- @@ -24382,107 +23480,6 @@ components: - name x-tags: - Models - betametafield_Base: - type: object - title: metafield_Base - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - namespace: - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - minLength: 1 - maxLength: 64 - example: Warehouse Locations - required: - - post - key: - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - minLength: 1 - maxLength: 64 - example: Location - required: - - post - value: - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - minLength: 1 - maxLength: 65535 - example: 4HG - required: - - post - description: - type: string - description: | - Description for the metafields. - minLength: 0 - maxLength: 255 - example: Location in the warehouse - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - enum: - - category - - brand - - product - - variant - example: product - required: - - post - resource_id: - type: integer - description: | - The ID for the resource with which the metafield is associated. - minimum: 0 - maximum: 10000000000 - example: 111 - required: - - post - date_created: - type: string - format: date-time - description: | - Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - format: date-time - description: | - Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17+00:00' - required: - - permission_set - - namespace - - key - - value - description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' - x-tags: - - Models betametaCollection_Full: type: object description: 'Data about the response, including pagination and collection totals.' @@ -24622,45 +23619,6 @@ components: type: string x-tags: - Models - betametafield_Post: - allOf: - - $ref: '#/components/schemas/betametafield_Base' - title: metafield_Post - x-tags: - - Models - betametafield_Put: - description: Properties for updating metafields. - title: metafield_Put - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - - $ref: '#/components/schemas/betametafield_Base' - x-tags: - - Models - betametafield_Full: - allOf: - - $ref: '#/components/schemas/betametafield_Put' - - type: object - properties: - date_created: - type: string - format: date-time - description: | - Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - format: date-time - description: | - Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17+00:00' - title: metafield_Full - x-tags: - - Models betaerrorResponse_409: title: errorResponse_409 allOf: @@ -24879,14 +23837,14 @@ components: CategoryDataPUT: allOf: - $ref: '#/components/schemas/CategoryData' - - $ref: '#/components/schemas/default_product_sort' + - $ref: '#/components/schemas/default_product_sort' CategoryDataPOST: allOf: - $ref: '#/components/schemas/CategoryData' - $ref: '#/components/schemas/default_product_sort' required: - name - - url + - url Urls: type: array items: @@ -25469,6 +24427,7 @@ components: description: |- Unique ID of the *Category*. Increments sequentially. Read-Only. + readOnly: true parent_id: title: parent_id x-stoplight: @@ -25501,6 +24460,7 @@ components: id: type: integer description: Unique ID of the *Brand*. Read-Only. + readOnly: true name: maxLength: 255 minLength: 1 @@ -25601,6 +24561,7 @@ components: id: type: integer description: Unique ID of the *Brand*. Read-Only. + readOnly: true name: maxLength: 255 minLength: 1 @@ -26546,6 +25507,7 @@ components: id: type: integer description: Unique ID of the *Metafield*. Read-Only. + readOnly: true example: 6 permission_set: type: string @@ -26626,12 +25588,14 @@ components: type: string description: | Date and time of the metafield's creation. Read-Only. + readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. + readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' description: Common Metafield properties. @@ -26699,12 +25663,14 @@ components: type: string description: | Date and time of the metafield's creation. Read-Only. + readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. + readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' description: @@ -26717,6 +25683,7 @@ components: id: type: integer description: Unique ID of the *Metafield*. Read-Only. + readOnly: true example: 6 key: maxLength: 64 @@ -29752,270 +28719,6 @@ components: type: object properties: {} description: Empty meta object; may be used later. - betaMetafieldCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - title: Meta Field Collection Response - properties: - data: - type: array - items: - type: object - description: Common Metafield properties. - title: Metafield - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - permission_set: - type: string - description: | - Determines whether the field is completely private to the app that owns the field (`app_only`), or visible to other API consumers (`read`), or completely open for reading and writing to other apps (`write`). Required for POST. - enum: - - app_only - - read - - write - required: - - post - namespace: - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - minLength: 1 - maxLength: 64 - example: Warehouse Locations - required: - - post - key: - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - minLength: 1 - maxLength: 64 - example: Location - required: - - post - value: - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - minLength: 1 - maxLength: 65535 - example: 4HG - required: - - post - description: - type: string - description: | - Description for the metafields. - minLength: 0 - maxLength: 255 - example: Location in the warehouse - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - enum: - - category - - brand - - product - - variant - example: product - required: - - post - resource_id: - type: integer - description: | - The ID for the resource with which the metafield is associated. - minimum: 0 - maximum: 10000000000 - example: 111 - required: - - post - created_at: - type: string - format: date-time - description: | - Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17+00:00' - updated_at: - type: string - format: date-time - description: | - Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17+00:00' - required: - - permission_set - - namespace - - key - - value - meta: - $ref: '#/components/schemas/betametaCollection_Full' - examples: - response: - value: - data: - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' - - permission_set: read - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - created_at: '1973-01-20T21:34:57.903Z' - updated_at: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - betaMetafieldResponse: - description: '' - content: - application/json: - schema: - type: object - title: Metafield Response - properties: - data: - type: object - description: Common Metafield properties. - title: Metafield - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - example: 6 - permission_set: - type: string - description: | - Determines whether the field is completely private to the app that owns the field (`app_only`), or visible to other API consumers (`read`), or completely open for reading and writing to other apps (`write`). Required for POST. - enum: - - app_only - - read - - write - required: - - post - namespace: - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - minLength: 1 - maxLength: 64 - example: Warehouse Locations - required: - - post - key: - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - minLength: 1 - maxLength: 64 - example: Location - required: - - post - value: - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - minLength: 1 - maxLength: 65535 - example: 4HG - required: - - post - description: - type: string - description: | - Description for the metafields. - minLength: 0 - maxLength: 255 - example: Location in the warehouse - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - enum: - - category - - brand - - product - - variant - example: product - required: - - post - resource_id: - type: integer - description: | - The ID for the resource with which the metafield is associated. - minimum: 0 - maximum: 10000000000 - example: 111 - required: - - post - created_at: - type: string - format: date-time - description: | - Date and time of the metafield's creation. Read-Only. - example: '2018-05-07T20:14:17+00:00' - updated_at: - type: string - format: date-time - description: | - Date and time when the metafield was last updated. Read-Only. - example: '2018-05-07T20:14:17+00:00' - required: - - permission_set - - namespace - - key - - value - meta: - type: object - description: Empty meta object; may be used later. - title: Meta - examples: - response: - value: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: product - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} betaCategoryCollectionResponse: description: '' content: @@ -31113,21 +29816,6 @@ components: - inventory_level - is_visible - total_sold - betaMetafieldKeyParam: - name: key - in: query - description: | - Filter based on a metafield's key. - required: false - schema: - type: string - betaMetafieldNamespaceParam: - name: namespace - in: query - description: Filter based on a metafield's namespace. - required: false - schema: - type: string betaFilterIdIn: in: query name: 'id:in' From c737ae55451d095edeca5ddac3142b02bd73e463 Mon Sep 17 00:00:00 2001 From: Traci Porter <traci.porter@bigcommerce.com> Date: Tue, 31 Jan 2023 16:26:00 -0600 Subject: [PATCH 102/360] DEVDOCS-4670: [new] Carts V3, add cart metafield endpoints (#1132) Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/carts.v3.yml | 836 +++++++++++++++++++++++++++++------------ 1 file changed, 602 insertions(+), 234 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 3dc5f7603..5ae468d4b 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -6,8 +6,14 @@ info: Create a cart using BigCommerce cart logic. Manage settings related to carts. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - url: 'https://api.bigcommerce.com' + description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: @@ -16,6 +22,9 @@ tags: - name: Carts Settings paths: '/stores/{store_hash}/v3/carts': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' post: description: |- Creates a **Cart**. @@ -55,18 +64,7 @@ paths: - line_items.physical_items.options - line_items.digital_items.options - promotions.banners - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -261,13 +259,12 @@ paths: $ref: '#/components/responses/CartResponse' summary: Create a Cart operationId: createACart - parameters: - - name: store_hash - in: path - required: true - schema: - type: string '/stores/{store_hash}/v3/carts/{cartId}/items': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/cartId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ContentType' post: description: |- Adds line item to the *Cart*. @@ -280,12 +277,6 @@ paths: If a product has modifiers, omit the `variant_id` and instead use the `option_selections` array to describe both the **variant** and the **modifier** selections. parameters: - - name: cartId - in: path - required: true - schema: - type: string - format: UUID - name: include in: query description: |- @@ -300,18 +291,6 @@ paths: - line_items.physical_items.options - line_items.digital_items.options - promotions.banners - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -357,18 +336,12 @@ paths: $ref: '#/components/responses/CartResponse' summary: Add Cart Line Items operationId: addCartLineItem - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: cartId - in: path - required: true - schema: - type: string '/stores/{store_hash}/v3/carts/{cartId}/redirect_urls': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/cartId' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ContentType' post: description: |- Creates a **Cart** redirect URL for redirecting a shopper to an already created cart using the `cartId`. @@ -382,25 +355,6 @@ paths: * If your application requires URLs to be visited more than once, consider generating a fresh one each time you need to restore a cart, and redirecting to the URL from your own application. * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API and the Storefront Cart API. * To restore a cart that was created on the storefront, either by a shopper or the Storefront Cart API, first recreate the cart using the Server to Server Cart API. - parameters: - - name: cartId - in: path - required: true - schema: - type: string - format: UUID - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json tags: - Cart Redirect URLs responses: @@ -408,18 +362,17 @@ paths: $ref: '#/components/responses/CartRedirectResponse' summary: Create Cart Redirect URL operationId: createCartRedirectURL + '/stores/{store_hash}/v3/carts/{cartId}/items/{itemId}': parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: cartId + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/cartId' + - name: itemId in: path required: true schema: type: string - '/stores/{store_hash}/v3/carts/{cartId}/items/{itemId}': + format: number put: description: |- Updates an existing, single line item in the *Cart*. @@ -436,18 +389,6 @@ paths: Deleting all line items from the cart will invalidate the cart. parameters: - - name: cartId - in: path - required: true - schema: - type: string - format: UUID - - name: itemId - in: path - required: true - schema: - type: string - format: number - name: include in: query description: |- @@ -462,18 +403,7 @@ paths: - line_items.physical_items.options - line_items.digital_items.options - promotions.banners - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -501,30 +431,6 @@ paths: Removing the last `line_item` in the *Cart* deletes the *Cart*. parameters: - - name: cartId - in: path - required: true - schema: - type: string - format: UUID - - name: itemId - in: path - required: true - schema: - type: string - format: number - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: include in: query description: |- @@ -618,33 +524,14 @@ paths: description: 'If the action’s result is an empty cart, the cart is automatically deleted.' summary: Delete Cart Line Item operationId: deleteCartLineItem - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: cartId - in: path - required: true - schema: - type: string - - name: itemId - in: path - required: true - schema: - type: string '/stores/{store_hash}/v3/carts/{cartId}': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/cartId' get: - description: Returns a stores *Cart*. + description: Returns a storeʼs *Cart*. parameters: - - name: cartId - in: path - required: true - description: The identifier of a specific cart. - schema: - type: string - format: UUID - name: include in: query description: |- @@ -659,18 +546,6 @@ paths: - line_items.physical_items.options - line_items.digital_items.options - promotions.banners - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json tags: - Cart responses: @@ -682,18 +557,12 @@ paths: operationId: getACart put: description: |- - Updates a *Carts* `customer_id`. + Updates a *Cartʼs* `customer_id`. **Notes** Changing the *Cart* `customer_id` will remove any promotions or shipping calculations on the *Cart*. These are tied to the customer depending on cart conditions and any customer groups. parameters: - - name: cartId - in: path - required: true - schema: - type: string - format: UUID - name: include in: query description: |- @@ -708,18 +577,7 @@ paths: - line_items.physical_items.options - line_items.digital_items.options - promotions.banners - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -738,26 +596,6 @@ paths: operationId: updateACart delete: description: Deletes a *Cart*. Once a *Cart* has been deleted it can’t be recovered. - parameters: - - name: cartId - in: path - required: true - description: This cart’s unique ID. - schema: - type: string - format: UUID - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json tags: - Cart responses: @@ -765,18 +603,10 @@ paths: description: '' summary: Delete a Cart operationId: deleteACart - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: cartId - in: path - required: true - schema: - type: string '/stores/{store_hash}/v3/carts/settings': + parameters: + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' get: summary: Get Global Cart Settings description: Returns the global cart settings of a store. @@ -801,6 +631,8 @@ paths: description: Update the global cart settings of a store. tags: - Carts Settings + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: required: true content: @@ -852,25 +684,21 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' operationId: updateGlobalCartSettings + '/stores/{store_hash}/v3/carts/settings/channels/{channel_id}': parameters: - - schema: - type: string - name: store_hash + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' + - name: channel_id + description: The channel ID of the settings overrides. in: path required: true - '/stores/{store_hash}/v3/carts/settings/channels/{channel_id}': + schema: + type: integer get: summary: Get Channel Cart Settings description: Returns the per-channel overrides for the cart settings of a store. tags: - Carts Settings - parameters: - - name: channel_id - description: The channel ID of the settings overrides. - in: path - required: true - schema: - type: integer responses: '200': description: OK @@ -891,12 +719,7 @@ paths: tags: - Carts Settings parameters: - - name: channel_id - description: The channel ID of the settings overrides. - in: path - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: required: true content: @@ -948,17 +771,184 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' operationId: updateChannelCartSettings + '/stores/{store_hash}/v3/carts/{cart_id}/metafields': parameters: - - schema: - type: string - name: store_hash - in: path + - $ref: '#/components/parameters/cart_id' + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' + get: + summary: Get All Metafields + tags: + - Metafields + description: Get all cart metafields. + operationId: getAllCartMetafields + parameters: + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/LimitParam' + - $ref: '#/components/parameters/MetafieldKeyParam' + - $ref: '#/components/parameters/MetafieldNamespaceParam' + - $ref: '#/components/parameters/DirectionParam' + responses: + '200': + description: | + An array of metafields and metadata. + content: + application/json: + schema: + $ref: '#/components/schemas/MetafieldResponse' + '409': + description: | + The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the appʼs client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '422': + description: | + The `Metafield` is not valid. This is the result of missing required fields or of invalid data. See the response for more details. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + summary: Create a Cart Metafield + tags: + - Metafields + description: | + Create a cart `Metafield`. + + If you create an order from a Cart, you can continue referencing the Cart Metafields even if you delete the original Cart. Use the `cart_id` field on the Order to construct the Cart Metafield endpoint. + operationId: CreateCartMetafieldsByCartId + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetafieldPost' + examples: {} + description: '' required: true + responses: + '200': + description: | + A `Metafield` object. + content: + application/json: + schema: + $ref: '#/components/schemas/MetaFieldCollectionResponse' + examples: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/NotFound' + examples: + example-1: + value: + status: 404 + title: There was no order found with ID 1010 + type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' + '/stores/{store_hash}/v3/carts/{cart_id}/metafields/{metafield_id}': + get: + summary: Get a Cart Metafield + tags: + - Metafields + description: Gets a cart metafield. + operationId: getACartMetafield + responses: + '200': + description: | + A `Metafield` object. + content: + application/json: + schema: + $ref: '#/components/schemas/MetafieldResponse' + '409': + description: | + The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the appʼs client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '422': + description: | + The `Metafield` is not valid. This is the result of missing required fields or of invalid data. See the response for more details. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + parameters: + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/LimitParam' + - $ref: '#/components/parameters/MetafieldKeyParam' + - $ref: '#/components/parameters/MetafieldNamespaceParam' + - $ref: '#/components/parameters/DirectionParam' + put: + summary: Update a Cart Metafield + tags: + - Metafields + description: | + Update a `Metafield`, by `cart_id`. + operationId: UpdateCartMetafieldsByCartId + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetafieldPost' + examples: {} + description: | + A `Metafield` object. + required: true + responses: + '200': + description: | + A metafield and metadata. + content: + application/json: + schema: + $ref: '#/components/schemas/MetaFieldCollectionResponse' + examples: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/NotFound' + examples: + example-1: + value: + status: 404 + title: There was no order found with ID 1010 + type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' + delete: + summary: Delete a Metafield + tags: + - Metafields + description: | + Deletes a `Metafield`. + operationId: deleteCartMetafieldById + responses: + '204': + description: | + An empty response. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/cart_id' - schema: - type: string - name: channel_id + type: integer + name: metafield_id in: path required: true + description: The unique ID of the subject `Metafield`. components: schemas: CartUpdateRequest: @@ -2969,6 +2959,310 @@ components: format: float title: Item Physical Get x-internal: false + NotFound: + description: Error payload for the BigCommerce API. + type: object + properties: + status: + description: | + 404 HTTP status code. + type: integer + title: + description: The error title describing the particular error. + type: string + type: + type: string + instance: + type: string + title: Not Found + x-internal: false + MetafieldResponse: + description: | + Response payload for the BigCommerce API. + x-internal: false + x-examples: {} + allOf: + - type: object + properties: + data: + $ref: '#/components/schemas/Metafield' + - $ref: '#/components/schemas/Meta' + Metafield: + description: | + Allows app partners to write custom data to various resources in the API. + allOf: + - $ref: '#/components/schemas/MetafieldBase' + - type: object + properties: + id: + type: integer + description: The unique identifier for the metafield. + date_created: + type: string + format: date-time + description: Date and time of the metafieldʼs creation. + example: '2022-06-16T18:39:00+00:00' + date_modified: + type: string + format: date-time + description: Date and time when the metafield was last updated. + example: '2022-06-16T18:39:00+00:00' + x-internal: false + x-examples: {} + MetafieldBase: + type: object + description: | + Common Metafield properties. + x-internal: false + properties: + permission_set: + type: string + description: | + Determines the visibility and writeability of the field by other API consumers. + + | Value | Description | + | :--- | :--- | + | `app_only` | Private to the app that owns the field. | + | `read` | Visible to other API consumers. | + | `write` | Open for reading and writing by other API consumers. | + | `read_and_sf_access` | Visible to other API consumers, including on storefront. | + | `write_and_sf_access` | Open for reading and writing by other API consumers, including on storefront. | + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + namespace: + type: string + description: | + Namespace for the metafield, for organizational purposes. + example: Sales Department + minLength: 1 + maxLength: 64 + key: + type: string + description: | + The name of the field, for example: `location_id`, `color`. + minLength: 1 + maxLength: 64 + example: Staff Name + value: + type: string + description: | + The value of the field, for example: `1`, `blue`. + minLength: 1 + maxLength: 65535 + example: Ronaldo + description: + type: string + description: | + Description for the metafields. + example: order + minLength: 0 + maxLength: 255 + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + enum: + - brand + - product + - variant + - category + - cart + example: cart + resource_id: + type: string + description: | + The unique identifier for the resource with which the metafield is associated. + example: '0' + readOnly: true + required: + - permission_set + MetafieldPost: + description: | + The model for a POST to create metafield. + allOf: + - $ref: '#/components/schemas/MetafieldBase_Post' + x-internal: false + x-examples: {} + MetafieldBase_Post: + type: object + description: | + Common Metafield properties. + x-internal: false + properties: + permission_set: + type: string + description: | + Determines the visibility and writeability of the field by other API consumers. + + | Value | Description | + | :--- | :--- | + | `app_only` | Private to the app that owns the field. | + | `read` | Visible to other API consumers. | + | `write` | Open for reading and writing by other API consumers. | + | `read_and_sf_access` | Visible to other API consumers, including on storefront. | + | `write_and_sf_access` | Open for reading and writing by other API consumers, including on storefront. | + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + namespace: + type: string + description: | + Namespace for the metafield, for organizational purposes. + example: Sales Department + minLength: 1 + maxLength: 64 + key: + type: string + description: | + The name of the field, for example: `location_id`, `color`. + minLength: 1 + maxLength: 64 + example: Staff Name + value: + type: string + description: | + The value of the field, for example: `1`, `blue`. + minLength: 1 + maxLength: 65535 + example: Ronaldo + description: + type: string + description: | + Description for the metafields. + minLength: 0 + maxLength: 255 + example: Name of Staff Member + required: + - permission_set + - namespace + - key + - value + MetaFieldCollectionResponse: + type: object + description: | + Response payload for the BigCommerce API. + properties: + data: + type: array + items: + $ref: '#/components/schemas/Metafield' + meta: + $ref: '#/components/schemas/CollectionMeta' + x-internal: false + CollectionMeta: + type: object + description: 'Data about the response, including pagination and collection totals.' + properties: + pagination: + type: object + description: 'Data about the response, including pagination and collection totals.' + title: Pagination + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + description: | + Pagination links for the previous and next parts of the whole collection. + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + title: Collection Meta + x-internal: false + Meta: + type: object + title: Meta + properties: + meta: + type: object + description: 'Data about the response, including pagination and collection totals.' + title: Pagination + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + description: | + Pagination links for the previous and next parts of the whole collection. + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + x-internal: false responses: CartResponse: description: '' @@ -3009,20 +3303,45 @@ components: embedded_checkout_url: 'https://store.mybigcommerce.com/cart.php?embedded=1&action=loadInCheckout&id=0aa00afa-a000-00a0-00aae-aa0000f000a0&token=00aaaaa0aa0000000000a000a000f0aa0000afa00aa00afa0a000000000aa0a0' meta: {} parameters: + storeHash: + name: store_hash + in: path + required: true + description: Permanent ID of the BigCommerce store. + schema: + type: string Accept: - in: header 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 - Content-Type: + 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' + cartId: + name: cartId + in: path + description: The identifier of a specific cart. + required: true schema: type: string - default: application/json + format: UUID + cart_id: + name: cart_id + in: path + description: The ID of the `Cart` to which the transactions belong. + required: true + schema: + type: string + format: UUID line_items: name: include in: query @@ -3037,6 +3356,55 @@ components: - redirect_urls - line_items.physical_items.options - line_items.digital_items.options + PageParam: + name: page + description: | + Specifies the page number in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + MetafieldIdParam: + name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + MetafieldKeyParam: + name: key + in: query + description: Filter based on a metafieldʼs key. + required: false + schema: + type: string + MetafieldNamespaceParam: + name: namespace + in: query + description: Filter based on a metafieldʼs key. + required: false + schema: + type: string + LimitParam: + name: limit + description: | + Controls the number of items per page in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + DirectionParam: + name: direction + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + required: false + in: query + schema: + type: string + enum: + - asc + - desc securitySchemes: X-Auth-Token: type: apiKey From 7023cc213b6bcc4eafc66a1a242543a9a603af94 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 16 Feb 2023 23:34:05 -0600 Subject: [PATCH 103/360] DEVDOCS-4771: [update] Tax Provider API, add item reference field (#1142) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/tax_provider.yml | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 840c9909e..2eda510f8 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -96,6 +96,7 @@ paths: shipping: id: 5d522b889d3d9 item_code: Flat Rate + item_reference: '12345678' name: 'Shipping to Van Wert, United States 45891' price: amount: 10 @@ -110,6 +111,7 @@ paths: handling: id: 5d522b889d3d9 item_code: Flat Rate + item_reference: '12345678' name: 'Handling for Van Wert, United States 45891' price: amount: 0 @@ -124,6 +126,7 @@ paths: items: - id: 088c7465-e5b8-4624-a220-0d9faa82e7cb item_code: ABS + item_reference: '87654321' name: '[Sample] Able Brewing System' price: amount: 450 @@ -138,6 +141,7 @@ paths: wrapping: id: d2675662-6326-4a23-9107-ab71fa6a21a1 item_code: '' + item_reference: '' name: 'Wrapping: [Sample] Canvas Laundry Cart' price: amount: 5 @@ -151,6 +155,7 @@ paths: type: wrapping - id: d2675662-6326-4a23-9107-ab71fa6a21a1 item_code: CLC + item_reference: ABC12345 name: '[Sample] Canvas Laundry Cart' price: amount: 200 @@ -165,6 +170,7 @@ paths: wrapping: id: d2675662-6326-4a23-9107-ab71fa6a21a1 item_code: '' + item_reference: '' name: 'Wrapping: [Sample] Canvas Laundry Cart' price: amount: 5 @@ -380,6 +386,7 @@ paths: shipping: id: shipping_14 item_code: Flat Rate + item_reference: '12345678' name: 'Shipping to Van Wert, United States 45891' price: amount: 10 @@ -394,6 +401,7 @@ paths: handling: id: handling_14 item_code: Flat Rate + item_reference: '12345678' name: 'Handling for Van Wert, United States 45891' price: amount: 0 @@ -408,6 +416,7 @@ paths: items: - id: product_13 item_code: ABS + item_reference: '87654321' name: '[Sample] Able Brewing System' price: amount: 450 @@ -422,6 +431,7 @@ paths: wrapping: id: product_14 item_code: '' + item_reference: '' name: 'Wrapping: Holiday' price: amount: 5 @@ -435,6 +445,7 @@ paths: type: wrapping - id: product_14 item_code: CLC + item_reference: ABC12345 name: '[Sample] Canvas Laundry Cart' price: amount: 200 @@ -449,6 +460,7 @@ paths: wrapping: id: product_14 item_code: '' + item_reference: '' name: 'Wrapping: Holiday' price: amount: 5 @@ -640,7 +652,8 @@ paths: type: RESIDENTIAL shipping: id: string - item_code: string + item_code: Flat Rate + item_reference: '12345678' name: string price: amount: 0 @@ -654,7 +667,8 @@ paths: type: item handling: id: string - item_code: string + item_code: Flat Rate + item_reference: '12345678' name: string price: amount: 0 @@ -668,7 +682,8 @@ paths: type: item items: - id: string - item_code: string + item_code: Flat Rate + item_reference: '12345678' name: string price: amount: 0 @@ -682,7 +697,8 @@ paths: type: item wrapping: id: string - item_code: string + item_code: Flat Rate + item_reference: '12345678' name: string price: amount: 0 @@ -856,7 +872,10 @@ components: description: A unique identifier for this item used to map responses back to the corresponding item on the order. item_code: type: string - description: 'The UPC/SKU of the item. The UPC value will be used when both UPC and SKU values are available on the item.' + description: 'The UPC or SKU of the item. The UPC is used when both UPC and SKU values are available on the item. Empty string if both UPC and SKU are not available.' + item_reference: + type: string + description: 'The SKU of the item. Empty string if SKU is not available.' name: type: string description: A display name for this item. @@ -917,7 +936,10 @@ components: description: A unique identifier for this item used to map responses back to the corresponding item on the order. item_code: type: string - description: 'The UPC/SKU of the item. The UPC value will be used when both UPC and SKU values are available on the item.' + description: 'The UPC or SKU of the item. The UPC is used when both UPC and SKU values are available on the item. Empty string if both UPC and SKU are not available.' + item_reference: + type: string + description: 'The SKU of the item. Empty string if SKU is not available.' name: type: string description: A display name for this item. From 16bf1589717252c55b871745f6752da29b13006b Mon Sep 17 00:00:00 2001 From: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Date: Fri, 17 Feb 2023 12:47:28 -0600 Subject: [PATCH 104/360] DEVDOCS-4768: [update] Catalog V3, update description of 207 status code (#1145) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> --- reference/catalog.v3.yml | 332 +++++++++++++++++++++++---------------- 1 file changed, 194 insertions(+), 138 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 73b90d47d..f257020fd 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: title: Catalog description: |- @@ -42,7 +42,11 @@ info: Create and manage category trees for BigCommerce stores. Create and manage products assignments. - termsOfService: '' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: '' servers: - url: 'https://api.bigcommerce.com' @@ -829,11 +833,23 @@ paths: current: '?page=1&limit=50' next: string '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. content: application/json: schema: - $ref: '#/components/schemas/error_Base' + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' '404': description: The resource was not found. content: @@ -946,8 +962,7 @@ paths: data: $ref: '#/components/schemas/product_Full' meta: - type: object - properties: {} + $ref: '#/components/schemas/metaCollection_Full' example-1: example: name: Smith Journal 13 @@ -1179,12 +1194,26 @@ paths: calculated_price: 0 calculated_weight: 0 meta: {} - '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + '207': + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. content: application/json: schema: - $ref: '#/components/schemas/error_Base' + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '409': description: | `Product` was in conflict with another product. This is the result of duplicate unique values, such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`. @@ -1604,8 +1633,7 @@ paths: data: $ref: '#/components/schemas/product_Full' meta: - type: object - properties: {} + $ref: '#/components/schemas/metaCollection_Full' example-1: example: name: Smith Journal 13 @@ -1844,11 +1872,21 @@ paths: schema: type: object '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. content: application/json: schema: - $ref: '#/components/schemas/error_Base' + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' '404': description: | The resource was not found. @@ -3688,44 +3726,7 @@ paths: data: $ref: '#/components/schemas/productVariant_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: {} + $ref: '#/components/schemas/metaCollection_Full' examples: example-1: value: @@ -3760,12 +3761,57 @@ paths: calculated_price: 0 calculated_weight: 0 meta: {} + example-2: + value: + data: + id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: {} '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. content: application/json: schema: - $ref: '#/components/schemas/error_Base' + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' '404': description: | The resource was not found. @@ -3967,10 +4013,7 @@ paths: data: $ref: '#/components/schemas/productVariant_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaCollection_Full' example: data: bin_picking_number: '0' @@ -4001,11 +4044,21 @@ paths: width: 2 meta: {} '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. content: application/json: schema: - $ref: '#/components/schemas/error_Base' + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' '404': description: | The resource was not found. @@ -5385,45 +5438,6 @@ paths: title: Meta type: object description: Empty meta object; may be used later. - example: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} examples: example-1: value: @@ -5438,8 +5452,8 @@ paths: checkbox_label: string date_limited: true date_limit_mode: earliest - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' + date_earliest_value: '2022-08-24T00:00:00+00:00' + date_latest_value: '2022-08-27T00:00:00+00:00' file_types_mode: specific file_types_supported: - 'images, documents, other' @@ -5469,6 +5483,46 @@ paths: image_url: string name: Add-a-$5-Donation1535042499-187 meta: {} + example-2: + value: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} '409': description: | Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`. @@ -13740,7 +13794,6 @@ paths: total_pages: 1 links: current: '?page=1&limit=50' - examples: {} post: tags: - Category @@ -13907,12 +13960,8 @@ paths: type: object properties: {} description: Empty meta object; may be used later. - '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' + '207': + $ref: '#/components/responses/General207Status' '409': description: | The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. @@ -14519,11 +14568,7 @@ paths: type: object description: Empty meta object; may be used later. '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' + $ref: '#/components/responses/General207Status' '404': description: The resource was not found. content: @@ -15867,11 +15912,7 @@ paths: is_customized: false meta: {} '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' + $ref: '#/components/responses/General207Status' '409': description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name. content: @@ -16288,11 +16329,7 @@ paths: is_customized: false meta: {} '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' + $ref: '#/components/responses/General207Status' '404': description: | The resource was not found. @@ -16656,19 +16693,6 @@ paths: type: object properties: {} description: Empty meta object; may be used later. - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} examples: example-1: value: @@ -16684,6 +16708,20 @@ paths: date_created: '2018-05-07T20:14:17+00:00' date_modified: '2018-05-07T20:14:17+00:00' meta: {} + example-2: + value: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} '409': description: | The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. @@ -16912,7 +16950,7 @@ paths: resource_id: 137 description: Where products are located date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' meta: {} '404': description: | @@ -22207,6 +22245,23 @@ components: description: | Error payload for the BigCommerce API. x-internal: false + errorMultiStatus: + title: errorMultiStatus + type: object + properties: + status: + type: integer + minLength: 3 + maxLength: 3 + description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' + title: + type: string + description: A summary of the failure or partial success. + type: + type: string + description: A BigCommerce-defined error signifier. + errors: + $ref: '#/components/schemas/detailedErrors' errorNotFound: title: errorNotFound type: object @@ -22281,6 +22336,7 @@ components: x-internal: false detailedErrors: title: detailedErrors + description: Each key-value pair describes a failure or partial success case. type: object properties: additionalProperties: @@ -25479,8 +25535,8 @@ components: application/json: schema: $ref: '#/components/schemas/error_Base' - HTTP207Status: - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + General207Status: + description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' content: application/json: schema: From 6c7a67f4d6eb7389cd21eb232629517388f97994 Mon Sep 17 00:00:00 2001 From: Sarah Riehl <sarah.riehl@bigcommerce.com> Date: Fri, 10 Mar 2023 12:52:25 -0600 Subject: [PATCH 105/360] DEVDOCS-4719: [migrate] Upgrade docs to new Dev Center syntax and spec standards (#1212) Co-authored-by: Sarah Riehl <sarah.riehl@bigcommerce.com> Co-authored-by: Traci Porter <traci.porter@bigcommerce.com> Co-authored-by: Andrea Dao <andrea.dao@bigcommerce.com> Co-authored-by: Tina Gomez <tina.gomez@bigcommerce.com> Co-authored-by: Constanze Kratel <constanze.kratel@bigcommerce.com> Co-authored-by: Mark Murphy <mark.murphy@bigcommerce.com> Co-authored-by: Katie Hoesley <katie.hoesley@bigcommerce.com> Co-authored-by: Stephen Hilliard <stephen.hilliard@bigcommerce.com> Co-authored-by: Heather Barr <heather.barr@bigcommerce.com> Co-authored-by: Matthew Volk <matt.volk@bigcommerce.com> Co-authored-by: Nate Stewart <nate.stewart@bigcommerce.com> --- .eslintrc.json | 10 + .github/workflows/lint.yml | 16 + .gitignore | 3 + .../{available-apis.md => available-apis.mdx} | 128 +- ...er-login-sso.md => customer-login-sso.mdx} | 31 +- ...ront-graphql.md => storefront-graphql.mdx} | 18 +- models/email_templates/_all.yml | 2064 +++++++++- .../email_templates/abandoned_cart_email.yml | 840 ++-- .../account_details_changed_email.yml | 219 +- .../account_reset_password_email.yml | 192 +- .../combined_order_status_email.yml | 448 ++- .../email_templates/create_account_email.yml | 217 +- .../create_guest_account_email.yml | 193 +- .../gift_certificate_email.yml | 264 +- models/email_templates/global.yml | 151 +- models/email_templates/invoice_email.yml | 890 +++-- .../order_message_notification.yml | 211 +- .../passwordless_login_email.yml | 206 +- .../email_templates/product_review_email.yml | 246 +- .../return_confirmation_email.yml | 281 +- .../return_status_change_email.yml | 347 +- models/webhooks/store_app_uninstalled.yml | 30 +- models/webhooks/store_cart_abandoned.yml | 32 +- models/webhooks/store_cart_converted.yml | 32 +- models/webhooks/store_cart_couponApplied.yml | 32 +- models/webhooks/store_cart_created.yml | 30 +- models/webhooks/store_cart_deleted.yml | 30 +- .../webhooks/store_cart_lineItem_created.yml | 32 +- .../webhooks/store_cart_lineItem_deleted.yml | 32 +- .../webhooks/store_cart_lineItem_updated.yml | 32 +- models/webhooks/store_cart_updated.yml | 30 +- models/webhooks/store_category_created.yml | 30 +- models/webhooks/store_category_deleted.yml | 30 +- models/webhooks/store_category_updated.yml | 30 +- .../store_customer_address_created.yml | 36 +- .../store_customer_address_deleted.yml | 36 +- .../store_customer_address_updated.yml | 36 +- models/webhooks/store_customer_created.yml | 30 +- models/webhooks/store_customer_deleted.yml | 30 +- ...mer_payment_instrument_default_updated.yml | 30 +- models/webhooks/store_customer_updated.yml | 30 +- models/webhooks/store_information_updated.yml | 28 +- models/webhooks/store_order_archived.yml | 30 +- models/webhooks/store_order_created.yml | 30 +- .../webhooks/store_order_message_created.yml | 36 +- .../webhooks/store_order_refund_created.yml | 36 +- models/webhooks/store_order_statusUpdated.yml | 40 +- models/webhooks/store_order_updated.yml | 30 +- models/webhooks/store_product_created.yml | 30 +- models/webhooks/store_product_deleted.yml | 30 +- .../store_product_inventory_order_updated.yml | 42 +- .../store_product_inventory_updated.yml | 42 +- models/webhooks/store_product_updated.yml | 30 +- models/webhooks/store_shipment_created.yml | 34 +- models/webhooks/store_shipment_deleted.yml | 34 +- models/webhooks/store_shipment_updated.yml | 34 +- models/webhooks/store_sku_created.yml | 40 +- models/webhooks/store_sku_deleted.yml | 40 +- .../store_sku_inventory_order_updated.yml | 46 +- .../webhooks/store_sku_inventory_updated.yml | 46 +- models/webhooks/store_sku_updated.yml | 40 +- models/webhooks/store_subscriber_created.yml | 30 +- models/webhooks/store_subscriber_deleted.yml | 30 +- models/webhooks/store_subscriber_updated.yml | 30 +- package-lock.json | 3371 +++++++++++++++++ package.json | 30 + reference/abandoned_cart_emails.v3.yaml | 106 +- reference/abandoned_carts.v3.yml | 156 +- reference/carts.sf.yml | 88 +- reference/carts.v3.yml | 293 +- reference/catalog.v3.yml | 3266 +++------------- reference/channels.v3.yml | 409 +- reference/checkouts.sf.yml | 39 +- reference/checkouts.v3.yml | 122 +- reference/consent.sf.yml | 18 +- reference/currencies.v2.yml | 274 +- reference/current_customer.yml | 24 +- reference/custom-template-associations.v3.yml | 144 +- reference/customer_login.yml | 24 +- reference/customers.sf.yml | 41 +- reference/customers.v2.yml | 665 +--- reference/customers.v3.yml | 199 +- reference/email_templates.v3.yml | 130 +- reference/form_fields.sf.yml | 18 +- reference/geography.v2.yml | 108 +- reference/global_refs.yaml | 56 +- reference/marketing.v2.yml | 537 +-- reference/orders.sf.yml | 19 +- reference/orders.v2.oas2.yml | 809 ++-- reference/orders.v3.yml | 374 +- reference/pages.v3.yml | 47 +- reference/payment_methods.v2.yml | 118 +- reference/payment_processing.yml | 214 +- reference/price_lists.v3.yml | 407 +- reference/pricing.sf.yml | 64 +- reference/redirects.v3.yml | 122 +- reference/scripts.v3.yml | 265 +- reference/settings.v3.yml | 371 +- reference/shipping.v2.yml | 1318 ++++--- reference/shipping.v3.yml | 88 +- reference/shipping_provider.yml | 37 +- reference/sites.v3.yml | 271 +- reference/store_content.v2.yml | 398 +- reference/store_information.v2.yml | 68 +- reference/store_logs.v3.yml | 53 +- reference/storefront_tokens.v3.yml | 149 +- reference/subscribers.v3.yml | 250 +- reference/subscriptions.sf.yml | 16 +- reference/tax.v3.yml | 124 +- reference/tax_classes.v2.yml | 140 +- reference/tax_properties.v3.yml | 167 +- reference/tax_provider.yml | 553 +-- reference/tax_rates_zones.v3.yml | 67 +- reference/tax_settings.v3.yml | 95 +- reference/themes.v3.yml | 370 +- reference/webhooks.v3.yml | 98 +- reference/widgets.v3.yml | 447 +-- reference/wishlists.v3.yml | 273 +- 118 files changed, 14051 insertions(+), 12272 deletions(-) create mode 100644 .eslintrc.json create mode 100644 .github/workflows/lint.yml rename docs/{available-apis.md => available-apis.mdx} (92%) rename docs/{customer-login-sso.md => customer-login-sso.mdx} (86%) rename docs/{storefront-graphql.md => storefront-graphql.mdx} (84%) create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..f7bcb7978 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,10 @@ +{ + "extends": ["plugin:mdx/recommended"], + // optional, if you want to lint code blocks at the same time + "settings": { + "mdx/code-blocks": true, + // optional, if you want to disable language mapper, set it to `false` + // if you want to override the default language mapper inside, you can provide your own + "mdx/language-mapper": {} + } +} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..7b9909307 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,16 @@ +name: lint-valid-mdx +on: + - pull_request + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js v17.x + uses: actions/setup-node@v3 + with: + node-version: 17.x + - run: npm ci + - run: npm run lint diff --git a/.gitignore b/.gitignore index 485dee64b..f307f8393 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ .idea +node_modules +.DS_Store + diff --git a/docs/available-apis.md b/docs/available-apis.mdx similarity index 92% rename from docs/available-apis.md rename to docs/available-apis.mdx index 49c9a1e3e..ba481d8bc 100644 --- a/docs/available-apis.md +++ b/docs/available-apis.mdx @@ -1,64 +1,64 @@ -# Available APIs - -## Storefront APIs - -### REST - -Manage a shopper's cart and checkout and fetch order data via client-side JavaScript on BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil) powered storefronts. - -[Learn more about storefront APIs](/api-docs/storefront/overview). - -### GraphQL - -Use GraphQL to query data for headless storefronts and BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil) powered storefronts. - -[Learn more about the GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) - -### Add to cart URLs - -Append query string parameters to product and `/cart.php` URLs to pre-select a SKU or add a product to cart. Use these parameters to build custom add to cart links and forms on BigCommerce hosted storefronts and remote sites (such as WordPress, blog posts, and social media). - -[Learn more about add to cart URLs](/api-docs/cart-and-checkout/add-to-cart-url). - -### Current Customer - -Identify logged-in customers securely via JavaScript. - -[Learn more about the current customer API](/api-docs/customers/current-customer-api). - -### Customer Login SSO - -Enable single sign-on for shoppers on BigCommerce hosted storefronts. - -[Learn more about the customer login API](/api-docs/customers/customer-login-api). - -## Management APIs - -### V2 REST API - -Mananage store resources from server-side code. - -Some **V2** resources are not yet exposed in the **V3 API**; however, for resources that are accessible via both APIs, the **V3 API** is recommended; it contains performance optimizations and [other improvements](#v3-rest-api). - -### V3 REST API - -Mananage store resources from server-side code. - -Interactions with the **V3** API are very similar to that of the **V2** API; however, the **V3** API introduces a number of improvements: -* Most tasks can be performed with fewer API calls (for example, a product with variants and custom fields can be created in a single request) -* Each **V3** resource includes a `meta` object, simplifying pagination -* **V3** Brands, Categories, Products, and Product Variants expose a [metafields](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) resource for use by developers to store custom data. -* **V3** API is optimized for performance (in general, data can be sent, received, and processed faster via **V3**, relative to **V2**). - -[Learn more about the V3 API](/api-docs/getting-started/about-our-api). - -## Provider APIs - -Implement endpoints consumed by BigCommerce for custom integrations (ex: custom shipping carrier rates via `/rates`). - -[Learn more about the Shipping Provider API](/api-docs/store-management/shipping/shipping-provider-api). - -## Resources - -- [Deprecations and Sunsets](/api-docs/getting-started/deprecations-and-sunsets) -- [Difference between V2 and V3 Catalog REST APIs](/api-docs/store-management/catalog/v2-vs-v3) +# Available APIs + +## Storefront APIs + +### REST + +Manage a shopper's cart and checkout and fetch order data via client-side JavaScript on BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil) powered storefronts. + +[Learn more about storefront APIs](/api-docs/storefront/overview). + +### GraphQL + +Use GraphQL to query data for headless storefronts and BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil) powered storefronts. + +[Learn more about the GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) + +### Add to cart URLs + +Append query string parameters to product and `/cart.php` URLs to pre-select a SKU or add a product to cart. Use these parameters to build custom add to cart links and forms on BigCommerce hosted storefronts and remote sites (such as WordPress, blog posts, and social media). + +[Learn more about add to cart URLs](/api-docs/cart-and-checkout/add-to-cart-url). + +### Current Customer + +Identify logged-in customers securely via JavaScript. + +[Learn more about the current customer API](/api-docs/customers/current-customer-api). + +### Customer Login SSO + +Enable single sign-on for shoppers on BigCommerce hosted storefronts. + +[Learn more about the customer login API](/api-docs/customers/customer-login-api). + +## Management APIs + +### V2 REST API + +Mananage store resources from server-side code. + +Some **V2** resources are not yet exposed in the **V3 API**; however, for resources that are accessible via both APIs, the **V3 API** is recommended; it contains performance optimizations and [other improvements](#v3-rest-api). + +### V3 REST API + +Mananage store resources from server-side code. + +Interactions with the **V3** API are very similar to that of the **V2** API; however, the **V3** API introduces a number of improvements: +* Most tasks can be performed with fewer API calls (for example, a product with variants and custom fields can be created in a single request) +* Each **V3** resource includes a `meta` object, simplifying pagination +* **V3** Brands, Categories, Products, and Product Variants expose a [metafields](/docs/rest-management/catalog/product-metafields#create-a-product-metafield) resource for use by developers to store custom data. +* **V3** API is optimized for performance (in general, data can be sent, received, and processed faster via **V3**, relative to **V2**). + +[Learn more about the V3 API](/api-docs/getting-started/about-our-api). + +## Provider APIs + +Implement endpoints consumed by BigCommerce for custom integrations (ex: custom shipping carrier rates via `/rates`). + +[Learn more about the Shipping Provider API](/api-docs/store-management/shipping/shipping-provider-api). + +## Resources + +- [Deprecations and Sunsets](/api-docs/getting-started/deprecations-and-sunsets) +- [Difference between V2 and V3 Catalog REST APIs](/api-docs/store-management/catalog/v2-vs-v3) diff --git a/docs/customer-login-sso.md b/docs/customer-login-sso.mdx similarity index 86% rename from docs/customer-login-sso.md rename to docs/customer-login-sso.mdx index 736c1e25b..9cad1bf37 100644 --- a/docs/customer-login-sso.md +++ b/docs/customer-login-sso.mdx @@ -1,12 +1,13 @@ # Customer Login SSO -* **Host**: {store_domain}/graphql +* **Host**: `{store_domain}/graphql` * **Protocols**:`https` * **Accepts**: `application/json` * **Responds With**: `application/json` -Download Spec: [customer_login.json](https://bigcommerce.stoplight.io/api/v1/projects/bigcommerce/api-reference/nodes/reference/customer_login.yml?branch=master&deref=all&format=json) +Download Spec: [customer_login.json](#) +{/* https://bigcommerce.stoplight.io/api/v1/projects/bigcommerce/api-reference/nodes/reference/customer_login.yml?branch=master&deref=all&format=json */} Create a login URL for customer single sign-on. @@ -14,7 +15,7 @@ Create a login URL for customer single sign-on. To log in a customer using the Customer Login API, redirect the customer's browser to the following access point URL: -```http +```http copy https://yourstore.example.com/login/token/{{TOKEN}} ``` @@ -35,7 +36,7 @@ We recommend writing a script to generate a login token since the `JWT iat` (iss ### JWT Header -```json +```json copy { "alg": "HS256", "typ": "JWT" @@ -50,7 +51,7 @@ We recommend writing a script to generate a login token since the `JWT iat` (iss To create the signature, sign the encoded header, the encoded payload, and client_secret using the `HMAC SHA256` algorithm. -```js +```js copy HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), @@ -63,21 +64,29 @@ To create the signature, sign the encoded header, the encoded payload, and clien Create `urlGenerator.js` node app and install dependencies. -```shell +```shell copy mkdir urlGenerator +``` +```shell copy cd urlGenerator +``` +```shell copy touch urlGenerator.js +``` +```shell copy npm init +``` +```shell copy npm install jsonwebtoken uuid ``` Paste the following into `urlGenerator/urlGenerator.js`. -```js +```js copy const jwt = require('jsonwebtoken'); const {v4: uuidv4} = require('uuid'); @@ -109,15 +118,15 @@ Paste the following into `urlGenerator/urlGenerator.js`. Replace `{{CLIENT_ID}}` and other variables with your credentials, then run the app. -```shell +```shell copy node urlGenerator.js ``` You should receive a complete access point URL as an output. -<!-- theme: info --> -> #### Note -> You are required to include the `channel_id` when using the login JWTs to redirect to an embedded checkout. Default value = 1. For more information, see the [Embedded Checkout Overview](/api-docs/storefronts/embedded-checkout/embedded-checkout-overview). +<Callout type="info"> + You are required to include the `channel_id` when using the login JWTs to redirect to an embedded checkout. Default value = 1. For more information, see the [Embedded Checkout Overview](/api-docs/storefronts/embedded-checkout/embedded-checkout-overview). +</Callout> ## Resources diff --git a/docs/storefront-graphql.md b/docs/storefront-graphql.mdx similarity index 84% rename from docs/storefront-graphql.md rename to docs/storefront-graphql.mdx index f59fbddf5..6ae0e3396 100644 --- a/docs/storefront-graphql.md +++ b/docs/storefront-graphql.mdx @@ -19,9 +19,9 @@ To explore Storefront nodes in an interactive graph, check out the [GraphQL Expl ### Request tokens with REST API -Create JWT tokens for authenticating cross-origin requests by making a `POST` request to the [Create a token](/api-reference/store-management/tokens/api-token/createtoken) endpoint. +Create JWT tokens for authenticating cross-origin requests by making a `POST` request to the [Create a token](/docs/storefront-auth/tokens#create-a-token) endpoint. -```http title="Example request: Create a token" lineNumbers +```http filename="Example request: Create a token" showLineNumbers copy POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/api-token X-Auth-Token: {{ACCESS_TOKEN}} Content-Type: application/json @@ -36,7 +36,7 @@ Accept: application/json } ```   -```json title="Example response: Create a token" lineNumbers +```json filename="Example response: Create a token" showLineNumbers copy { "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" @@ -47,7 +47,7 @@ Accept: application/json You can complete the GraphQL query call with any HTTP library. Use the `data.token` value from the preceding response as the `{{JWT}}` value in the `Authorization: Bearer {{JWT}}` header. -```http title="Example GraphQL query" lineNumbers +```http filename="Example GraphQL query" showLineNumbers copy POST /graphql Authorization: Bearer {{JWT}} Content-Type: application/json @@ -62,7 +62,7 @@ Content-Type: application/json Client scripts on BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil)-powered storefronts can access a token with the `{{settings.storefront_api.token}}` Handlebars object. -```handlebars title="Example GraphQL query script with Stencil token" lineNumbers +```handlebars filename="Example GraphQL query script with Stencil token" showLineNumbers copy <script> // nest within any conditional, such as onload fetch('/graphql', { @@ -80,9 +80,9 @@ Client scripts on BigCommerce [Stencil](/stencil-docs/getting-started/about-sten ### Customer impersonation tokens -It's also possible to generate tokens for use in server-to-server interactions with a trusted consumer. Make a `POST` request to the [Create a customer impersonation token](/api-reference/store-management/tokens/customer-impersonation-token/createtokenwithcustomerimpersonation) endpoint. +It's also possible to generate tokens for use in server-to-server interactions with a trusted consumer. Make a `POST` request to the [Create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) endpoint. -```http title="Example request: Create a customer impersonation token" lineNumbers +```http filename="Example request: Create a customer impersonation token" showLineNumbers copy POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/api-token-customer-impersonation X-Auth-Token: {{ACCESS_TOKEN}} Content-Type: application/json @@ -95,7 +95,7 @@ Accept: application/json ```   -```json title="Example response: Create a customer impersonation token" lineNumbers +```json filename="Example response: Create a customer impersonation token" showLineNumbers copy { "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" @@ -109,7 +109,7 @@ Accept: application/json If you're using the Storefront API from a browser (for example, on top of your Stencil storefront) you can use the Customer Login mutation to log in a customer account with an email address and password (for server-side integrations, consider a customer impersonation token instead). This will set a session cookie in the browser which will authenticate the customer account on future requests: -```graphql title="Customer login mutation" lineNumbers +```graphql filename="Customer login mutation" showLineNumbers copy mutation Login($email: String!, $pass: String!) { login(email: $email, password: $pass) { result diff --git a/models/email_templates/_all.yml b/models/email_templates/_all.yml index 8fb29e2a1..9fbc578f8 100644 --- a/models/email_templates/_all.yml +++ b/models/email_templates/_all.yml @@ -1,78 +1,2042 @@ -type: object title: Handlebars Email Template Objects +type: object properties: - Global Email Template Objects: + Global Email Template Object: + title: Global Email Template Object description: Data objects across all email templates. - allOf: - - $ref: ./global.yml type: object - Abandoned Cart Email Template Objects: - description: Abandoned cart email triggers when a shopper doesn't complete an order. - allOf: - - $ref: ./abandoned_cart_email.yml + properties: + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + Abandoned Cart: + title: Abandoned Cart Email Template + description: Abandoned cart email triggers when a shopper doesnʼt complete an order. type: object - Account Settings Edited Email Template Objects: + oneOf: + - properties: + notification: + type: array + items: + type: object + properties: + unsubscribe_link: + type: string + checkout_link: + type: string + coupon: + type: array + items: + type: object + properties: + code: + type: string + type: + type: array + items: + type: object + properties: + value: + type: string + formatted: + type: string + amount: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + cart: + type: array + items: + type: object + properties: + products: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + id: + type: number + url: + type: string + name: + type: string + quantity: + type: integer + sku: + type: string + thumbnail: + type: string + attributes: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + '1': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + price: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + type: + type: array + items: + type: object + properties: + value: + type: integer + formatted: + type: string + '1': + type: array + items: + type: object + properties: + id: + type: number + url: + type: string + name: + type: string + quantity: + type: integer + sku: + type: string + thumbnail: + type: string + attributes: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + '1': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + price: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + type: + type: array + items: + type: object + properties: + value: + type: integer + formatted: + type: string + store: + type: array + items: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: array + items: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + path: + type: string + address: + type: string + phone_number: + type: string + language: + type: array + items: + type: object + properties: + code: + type: string + direction: + type: string + customer: + type: array + items: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + id: + type: number + name: + type: string + misc: + type: array + items: + type: object + properties: + year: + type: integer + - deprecated: true + properties: + abandoned_cart: + type: object + title: deprecated + deprecated: true + properties: + body: + type: string + unsubscribe_link: + type: string + store: + type: object + deprecated: true + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + deprecated: true + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + deprecated: true + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + deprecated: true + properties: + year: + type: integer + translations: + type: object + deprecated: true + properties: + en: + type: object + properties: + unsubscribe: + type: string + examples: + - notification: + - unsubscribe_link: string + checkout_link: string + coupon: + - code: string + type: + - value: string + formatted: string + amount: + - value: 0 + formatted: string + cart: + - products: + - '0': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + '1': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + store: + - name: string + domain_name: string + logo: + - title: string + name: string + url: string + ssl_path: string + cdn_path: string + image_directory: string + img_path: string + path_normal: string + path: string + address: string + phone_number: string + language: + - code: string + direction: string + customer: + - first_name: string + full_name: string + email: string + group: + - id: 0 + name: string + misc: + - year: 0 + Account Settings Edited: + title: Account Settings Edited Email Template description: Account settings email triggers when the store admin or a customer edits account settings. - allOf: - - $ref: ./account_details_changed_email.yml type: object - Password Reset Email Template Objects: - title: Account Reset Password Email Template + properties: + details_changed: + type: object + properties: + fields: + type: array + items: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + warning: + type: string + thanks: + type: string + security: + type: string + go_shopping: + type: string + Password Reset: + title: Password Reset Email Template description: Password reset email triggers when a customer resets their account password on the customer details page. - allOf: - - $ref: ./account_reset_password_email.yml type: object - Order Status Update Email Template Objects: + properties: + reset_password: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + message: + type: string + go_shopping: + type: string + Order Status Update: + title: Order Status Update Email Template description: Order status update email triggers when the status of an order change. - allOf: - - $ref: ./combined_order_status_email.yml type: object - Account Created Email Template Objects: - title: Create Account Template + properties: + order: + type: object + properties: + id: + type: integer + new_status: + type: string + example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting Pickup, Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' + new_formatted_status: + type: string + example: 'Shipment123, PendingOrder345, Cancelled0223222, Awaiting Payment in Store' + total: + type: object + properties: + value: + type: float + formatted: + type: string + refund: + type: object + properties: + value: + type: float + formatted: + type: string + date_placed: + type: object + properties: + value: + type: integer + formatted: + type: string + payment_method: + type: string + link: + type: string + customer_name: + type: string + downloadable_products: + type: array + items: + type: object + properties: + name: + type: string + options: + type: string + quantity: + type: integer + link: + type: string + thumbnail: + type: string + products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + price: + type: string + quantity: + type: integer + thumbnail: + type: string + brand: + type: string + tracking: + type: array + items: + type: object + properties: + id: + type: string + shipping_method: + type: string + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + details_title: + type: string + order_total: + type: string + date_placed: + type: string + payment_method: + type: string + total_refund: + type: string + products_shipped: + type: string + products_to_be_shipped: + type: string + tracking_title: + type: string + downloadable_items_title: + type: string + quantity: + type: string + download: + type: string + tracking_label: + type: string + no_tracking_numbers: + type: string + check_status: + type: string + go_shopping: + type: string + Account Created: + title: Account Created Email Template description: Account created email triggers when a customer or store admin creates their account. - allOf: - - $ref: ./create_account_email.yml type: object - Account Created Guest Email Template Objects: - title: Create Guest Account Template + properties: + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + details_title: + type: string + email_label: + type: string + password_label: + type: string + password_placeholder: + type: string + sign_in: + type: string + help: + type: string + go_shopping: + type: string + Account Created Guest: + title: Create Guest Account Email Template description: Guest account created email triggers when a customer or store admin creates a guest account. - allOf: - - $ref: ./create_guest_account_email.yml - type: object - Gift Certificate Recipient Email Template Objects: + type: object + properties: + guest_account: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + instruction: + type: string + help: + type: string + go_shopping: + type: string + Gift Certificate Recipient: title: Gift Certificate Email Template description: Gift certificate recipient email triggers when a customer purchases a gift certificate. - allOf: - - $ref: ./gift_certificate_email.yml type: object - Order Email Template Objects: + properties: + certificate: + type: object + properties: + code: + type: string + to_name: + type: string + to_email: + type: string + from_name: + type: string + from_email: + type: string + amount: + type: string + redeem_link: + type: string + expiry_date: + type: object + properties: + formatted: + type: string + value: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + expiry_info: + type: string + instruction: + type: string + attached: + type: string + warning: + type: string + go_shopping: + type: string + Order: + title: Order Email Template description: Order email triggers when a customer or store admin creates an order. - allOf: - - $ref: ./invoice_email.yml type: object - Order Notification Email Template Objects: + properties: + order: + type: object + properties: + id: + type: integer + customer_message: + type: string + customer_id: + type: integer + date_placed: + type: object + properties: + formatted: + type: string + value: + type: integer + account_order_status_url: + type: string + shipping: + type: object + properties: + methods: + type: array + items: + type: object + properties: {} + address: + type: object + properties: + email: + type: string + phone: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + country: + type: string + city: + type: string + state: + type: string + zip: + type: string + address_lines: + type: array + items: + type: object + properties: {} + custom_fields: + type: array + items: + type: object + properties: {} + products: + type: array + items: + type: object + properties: + name: + type: string + quantity: + type: integer + sku: + type: string + address_lines: + type: array + items: + type: object + properties: {} + address_id: + type: integer + options: + type: object + properties: + Size: + type: string + download_url: + type: string + thumbnail: + type: string + brand: + type: string + event: + type: object + properties: + name: + type: string + date: + type: object + properties: + value: + type: integer + formatted: + type: string + price: + type: object + properties: + value: + type: float + formatted: + type: string + total: + type: object + properties: + value: + type: float + formatted: + type: string + preorder: + type: object + properties: + is_preorder: + type: boolean + message: + type: string + date: + type: object + properties: + value: + type: integer + formatted: + type: string + attribute_lines: + type: array + description: A list of strings that represents product variant options. + items: + type: object + properties: {} + configurable_fields: + type: array + description: Object array with properties name and value. + items: + type: object + properties: {} + payment: + type: object + properties: + is_test: + type: boolean + provider_name: + type: string + offline_payment_message: + type: string + gateway_amount: + type: object + description: Price value. Provided only if the payment method is offline. + properties: + formatted: + type: string + value: + type: float + billing: + type: object + properties: + is_managed_by_amazon: + type: boolean + address: + type: object + properties: + email: + type: string + phone: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + country: + type: string + city: + type: string + state: + type: string + zip: + type: string + address_lines: + type: array + items: + type: object + properties: {} + custom_fields: + type: array + items: + type: object + properties: {} + total_rows: + type: array + items: + type: object + properties: + label: + type: string + price: + type: object + properties: + value: + type: float + formatted: + type: string + shipping_discounts: + type: array + items: + type: object + properties: {} + total_cost: + type: object + properties: + formatted: + type: string + value: + type: float + meta: + type: object + properties: + mandate_url: + type: string + description: Link to the confirmation page in Stripe + mandate_tag: + type: string + description: Short name of the payment document + shipping_addresses_num: + type: integer + show_immediate_download: + type: boolean + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + comment_label: + type: string + order_id_line: + type: string + view_summary: + type: string + sepa: + type: string + description: A link to SEPA mandate and also receive this link embedded on email confirmation. + shipment_to_multiple_addresses: + type: string + shipping_immediate_download: + type: string + shipping_address_label: + type: string + immediate_download: + type: string + email: + type: string + billing_address_managed_by_amazon: + type: string + billing_address_label: + type: string + pending_payment: + type: string + how_to_pay: + type: string + pay_for_order_help: + type: string + order_total: + type: string + cart_items: + type: string + sku: + type: string + quantity: + type: string + item_price: + type: string + item_total: + type: string + payment_method: + type: string + no_payment_taken_in_test_mode: + type: string + download_files: + type: string + preorder: + type: string + download_available_after_payment: + type: string + shipped_to: + type: string + shipping_discount: + type: string + thanks_for_your_order: + type: string + your_order_contains: + type: string + shipping_method: + type: string + shipping_to_address: + type: string + your_order_will_be_shipped_by: + type: string + total_cost: + type: string + items: + type: string + total: + type: string + price: + type: string + email_address: + type: string + Order Notification: + title: Order Notification Email Template description: Order notification email triggers when a merchant or store admin adds a message to an order. - allOf: - - $ref: ./order_message_notification.yml type: object - Sign-in Link Request Email Template Objects: + properties: + notification: + type: object + properties: + message: + type: string + link: + type: string + subject: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + reply: + type: string + go_shopping: + type: string + Sign in Link Request: + title: Sign in Link Request Email Template description: Sign-in request email triggers when an existing customer requests passwordless login while checking out. - allOf: - - $ref: ./passwordless_login_email.yml type: object - Product Review Request Email Template Objects: + properties: + passwordless_login: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + message: + type: string + alternatively: + type: string + login_request: + type: string + secure: + type: string + go_shopping: + type: string + Product Review Request: title: Product Review Email Template description: Product review request email triggers after a customer purchases a product. - allOf: - - $ref: ./product_review_email.yml type: object - Return Requested Email Template Objects: - description: Return requested email triggers after a customer's return is approved. - allOf: - - $ref: ./return_confirmation_email.yml + properties: + review: + type: object + properties: + products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + link: + type: string + price: + type: string + thumbnail: + type: string + unsubscribe_link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + instruction: + type: string + review_text: + type: string + thanks: + type: string + go_shopping: + type: string + Return Requested: + title: Return Requested Email Template + description: Return requested email triggers after a customerʼs return is approved. type: object - Return Status Change Email Template Objects: - description: Return status change email triggers after a customer return's status has changed. - allOf: - - $ref: ./return_status_change_email.yml + properties: + return: + type: object + properties: + return_id: + type: string + reason: + type: string + action: + type: string + comments: + type: string + products: + type: array + items: + type: object + properties: + name: + type: string + quantity: + type: integer + price: + type: string + sku: + type: string + thumbnail: + type: string + order: + type: object + properties: + id: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + confirmation: + type: string + summary: + type: string + clickHere: + type: string + reason: + type: string + action: + type: string + comments: + type: string + contains: + type: string + items: + type: string + quantity: + type: string + Return Status Change: + description: Return status change email triggers after a customer returnʼs status has changed. type: object + title: Return Status Change Email Template + properties: + return: + type: object + properties: + id: + type: integer + reason: + type: string + action: + type: string + comments: + type: string + product: + type: object + properties: + name: + type: string + quantity: + type: integer + price: + type: string + sku: + type: string + thumbnail: + type: string + status: + type: object + properties: + value: + type: integer + formatted: + type: string + store_credit: + type: object + properties: + value: + type: float + formatted: + type: string + link: + type: string + instructions: + type: string + order: + type: object + properties: + id: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + received_credit: + type: string + details_title: + type: string + return_reason: + type: string + return_action: + type: string + return_comments: + type: string + check_status: + type: string + products_title: + type: string + quantity: + type: string + instructions_title: + type: string + go_shopping: + type: string diff --git a/models/email_templates/abandoned_cart_email.yml b/models/email_templates/abandoned_cart_email.yml index 1218cb2c3..bc03343bb 100644 --- a/models/email_templates/abandoned_cart_email.yml +++ b/models/email_templates/abandoned_cart_email.yml @@ -1,404 +1,436 @@ -oneOf: - - properties: - notification: - type: array - items: - type: object - properties: - unsubscribe_link: - type: string - checkout_link: - type: string - coupon: - type: array - items: - type: object - properties: - code: - type: string - type: - type: array - items: - type: object - properties: - value: - type: string - formatted: - type: string - amount: - type: array - items: - type: object - properties: - value: - type: number - format: float - formatted: - type: string - cart: - type: array - items: - type: object - properties: - products: - type: array - items: - type: object - properties: - '0': - type: array - items: - type: object - properties: - id: - type: number - url: - type: string - name: - type: string - quantity: - type: integer - sku: - type: string - thumbnail: - type: string - attributes: - type: array - items: - type: object - properties: - '0': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - '1': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - price: - type: array - items: - type: object - properties: - value: - type: number - format: float - formatted: - type: string - type: - type: array - items: - type: object - properties: - value: - type: integer - formatted: - type: string - '1': - type: array - items: - type: object - properties: - id: - type: number - url: - type: string - name: - type: string - quantity: - type: integer - sku: - type: string - thumbnail: - type: string - attributes: - type: array - items: - type: object - properties: - '0': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - '1': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - price: - type: array - items: - type: object - properties: - value: - type: number - format: float - formatted: - type: string - type: - type: array - items: - type: object - properties: - value: - type: integer - formatted: - type: string - store: - type: array - items: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: array - items: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - path: - type: string - address: - type: string - phone_number: - type: string - language: - type: array - items: - type: object - properties: - code: - type: string - direction: - type: string - customer: - type: array - items: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - id: - type: number - name: - type: string - misc: - type: array - items: - type: object - properties: - year: - type: integer - - deprecated: true - properties: - abandoned_cart: - type: object - title: deprecated - deprecated: true - properties: - body: - type: string - unsubscribe_link: - type: string - store: - type: object - deprecated: true - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - deprecated: true - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - deprecated: true - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - deprecated: true - properties: - year: - type: integer - translations: - type: object - deprecated: true - properties: - en: - type: object - properties: - unsubscribe: - type: string -examples: - - notification: - - unsubscribe_link: string - checkout_link: string - coupon: - - code: string - type: - - value: string - formatted: string - amount: - - value: 0 - formatted: string - cart: - - products: - - '0': - - id: 0 - url: string - name: string - quantity: 0 - sku: string - thumbnail: string - attributes: - - '0': - - name: string - value: string - '1': - - name: string - value: string - price: - - value: 0 - formatted: string - type: - - value: 0 - formatted: string - '1': - - id: 0 - url: string - name: string - quantity: 0 - sku: string - thumbnail: string - attributes: - - '0': - - name: string - value: string - '1': - - name: string - value: string - price: - - value: 0 - formatted: string - type: - - value: 0 - formatted: string - store: - - name: string - domain_name: string - logo: - - title: string - name: string - url: string - ssl_path: string - cdn_path: string - image_directory: string - img_path: string - path_normal: string - path: string - address: string - phone_number: string - language: - - code: string - direction: string - customer: - - first_name: string - full_name: string - email: string - group: - - id: 0 - name: string - misc: - - year: 0 -description: '' -type: object \ No newline at end of file +Abandoned Cart: + title: Abandoned Cart Email Template + description: Abandoned cart email triggers when a shopper doesnʼt complete an order. + type: object + oneOf: + - properties: + notification: + type: array + items: + type: object + properties: + unsubscribe_link: + type: string + checkout_link: + type: string + coupon: + type: array + items: + type: object + properties: + code: + type: string + type: + type: array + items: + type: object + properties: + value: + type: string + formatted: + type: string + amount: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + cart: + type: array + items: + type: object + properties: + products: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + id: + type: number + url: + type: string + name: + type: string + quantity: + type: integer + sku: + type: string + thumbnail: + type: string + attributes: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + '1': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + price: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + type: + type: array + items: + type: object + properties: + value: + type: integer + formatted: + type: string + '1': + type: array + items: + type: object + properties: + id: + type: number + url: + type: string + name: + type: string + quantity: + type: integer + sku: + type: string + thumbnail: + type: string + attributes: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + '1': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + price: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + type: + type: array + items: + type: object + properties: + value: + type: integer + formatted: + type: string + store: + type: array + items: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: array + items: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + path: + type: string + address: + type: string + phone_number: + type: string + language: + type: array + items: + type: object + properties: + code: + type: string + direction: + type: string + customer: + type: array + items: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + id: + type: number + name: + type: string + misc: + type: array + items: + type: object + properties: + year: + type: integer + - deprecated: true + properties: + abandoned_cart: + type: object + title: deprecated + deprecated: true + properties: + body: + type: string + unsubscribe_link: + type: string + store: + type: object + deprecated: true + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + deprecated: true + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + deprecated: true + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + deprecated: true + properties: + year: + type: integer + translations: + type: object + deprecated: true + properties: + en: + type: object + properties: + unsubscribe: + type: string + examples: + - notification: + - unsubscribe_link: string + checkout_link: string + coupon: + - code: string + type: + - value: string + formatted: string + amount: + - value: 0 + formatted: string + cart: + - products: + - '0': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + '1': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + store: + - name: string + domain_name: string + logo: + - title: string + name: string + url: string + ssl_path: string + cdn_path: string + image_directory: string + img_path: string + path_normal: string + path: string + address: string + phone_number: string + language: + - code: string + direction: string + customer: + - first_name: string + full_name: string + email: string + group: + - id: 0 + name: string + misc: + - year: 0 + examples: + abandoned_cart: + body: You recently visited our online store and we noticed that you didn't complete your order.\n <br>To complete your order right now, just click on the link below:\n <a href=\"#link\">Complete your order</a> + unsubscribe_link: #unsubscribe-link + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + unsubscribe:'<a href=\"{{link}}\">Unsubscribe</a> from future emails like this. diff --git a/models/email_templates/account_details_changed_email.yml b/models/email_templates/account_details_changed_email.yml index 38cbb6a8e..84a264276 100644 --- a/models/email_templates/account_details_changed_email.yml +++ b/models/email_templates/account_details_changed_email.yml @@ -1,90 +1,129 @@ -type: object -description: '' -properties: - details_changed: - type: object - properties: - fields: - type: array - items: - type: string - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - warning: - type: string - thanks: - type: string - security: - type: string - go_shopping: - type: string +Account Settings Edited: + title: Account Settings Edited Email Template + description: Account settings email triggers when the store admin or a customer edits account settings. + type: object + properties: + details_changed: + type: object + properties: + fields: + type: array + items: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + warning: + type: string + thanks: + type: string + security: + type: string + go_shopping: + type: string + examples: + details_changed: + fields: + Email + Password + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: '[= My Dev Store 97434969 =]' + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Your {{name}} account details have changed + hello: Hello {{name}}, + message: 'We wanted to let you know that the following details have been changed on your <a href=\{{link}}\ target=\_blank\>{{name}}</a> account:' + warning: 'If you made the changes yourself, please disregard this email. If not, please contact the store immediately through their website: <a href=\{{link}}\ target=\_blank\>{{domain}}</a>.' + thanks: Thanks, + security: The BigCommerce Security Team + go_shopping: Go shopping diff --git a/models/email_templates/account_reset_password_email.yml b/models/email_templates/account_reset_password_email.yml index 2a58ef829..015870691 100644 --- a/models/email_templates/account_reset_password_email.yml +++ b/models/email_templates/account_reset_password_email.yml @@ -1,79 +1,113 @@ -type: object -properties: - reset_password: - type: object - properties: - link: - type: string - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - message: - type: string - go_shopping: - type: string +Password Reset: + title: Password Reset Email Template + description: Password reset email triggers when a customer resets their account password on the customer details page. + type: object + properties: + reset_password: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + message: + type: string + go_shopping: + type: string + examples: + reset_password: + link: #reset-password-link + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John, + full_name: John Jr, + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Change your password for {{name}} + message: 'To change your customer account password at {{store}} please click this link or copy and paste it into your browser:' + go_shopping: Go shopping diff --git a/models/email_templates/combined_order_status_email.yml b/models/email_templates/combined_order_status_email.yml index 5b91422b8..008415070 100644 --- a/models/email_templates/combined_order_status_email.yml +++ b/models/email_templates/combined_order_status_email.yml @@ -1,186 +1,262 @@ -type: object -description: '' -properties: - order: - type: object - properties: - id: - type: integer - new_status: - type: string - example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting Pickup, Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' - new_formatted_status: - type: string - example: 'Shipment123, PendingOrder345, Cancelled0223222, Awaiting Payment in Store' - total: - type: object - properties: - value: - type: float - formatted: - type: string - refund: - type: object - properties: - value: - type: float - formatted: - type: string - date_placed: - type: object - properties: - value: - type: integer - formatted: - type: string - payment_method: - type: string - link: - type: string - customer_name: - type: string - downloadable_products: - type: array - items: - type: object - properties: - name: - type: string - options: - type: string - quantity: - type: integer - link: - type: string - thumbnail: - type: string - products: - type: array - items: - type: object - properties: - name: - type: string - sku: - type: string - price: - type: string - quantity: - type: integer - thumbnail: - type: string - brand: - type: string - tracking: - type: array - items: - type: object - properties: - id: - type: string - shipping_method: - type: string - link: - type: string - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - details_title: - type: string - order_total: - type: string - date_placed: - type: string - payment_method: - type: string - total_refund: - type: string - products_shipped: - type: string - products_to_be_shipped: - type: string - tracking_title: - type: string - downloadable_items_title: - type: string - quantity: - type: string - download: - type: string - tracking_label: - type: string - no_tracking_numbers: - type: string - check_status: - type: string - go_shopping: - type: string +Order Status Update: + title: Order Status Update Email Template + description: Order status update email triggers when the status of an order changes. + type: object + properties: + order: + type: object + properties: + id: + type: integer + new_status: + type: string + example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting Pickup, Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' + new_formatted_status: + type: string + example: 'Shipment123, PendingOrder345, Cancelled0223222, Awaiting Payment in Store' + total: + type: object + properties: + value: + type: float + formatted: + type: string + refund: + type: object + properties: + value: + type: float + formatted: + type: string + date_placed: + type: object + properties: + value: + type: integer + formatted: + type: string + payment_method: + type: string + link: + type: string + customer_name: + type: string + downloadable_products: + type: array + items: + type: object + properties: + name: + type: string + options: + type: string + quantity: + type: integer + link: + type: string + thumbnail: + type: string + products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + price: + type: string + quantity: + type: integer + thumbnail: + type: string + brand: + type: string + tracking: + type: array + items: + type: object + properties: + id: + type: string + shipping_method: + type: string + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + details_title: + type: string + order_total: + type: string + date_placed: + type: string + payment_method: + type: string + total_refund: + type: string + products_shipped: + type: string + products_to_be_shipped: + type: string + tracking_title: + type: string + downloadable_items_title: + type: string + quantity: + type: string + download: + type: string + tracking_label: + type: string + no_tracking_numbers: + type: string + check_status: + type: string + go_shopping: + type: string + examples: + order: + id: 1 + new_status: Awaiting Fulfillment + total: + value: 10 + formatted: $10.00 USD + refund: + value: 0 + formatted: + date_placed: + value: 1614615796 + formatted: 03/01/2121 + payment_method: Store Credit + link: '#status-link' + customer_name: John Cena + downloadable_products: + name: Journal + options: + quantity: 1 + link: '#downloadable-link' + products: + name: Test product + sku: FA44 + quantity: 11 + tracking: + id: 123BC + shipping_method: DHL + link: '#example.com' + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: '= My Dev Store 97434969 =' + name: 'avatar-2020_1612860757__16350.jpeg' + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2023 + translations: + en: + title: Order status changed + hello: Hi name + message: 'The status of your order #id has changed to <strong>{{status}}</strong>.' + details_title: Order details + order_total: 'Order total:' + date_placed: 'Date placed:' + payment_method: 'Payment method:' + total_refund: 'Total refunded:' + products_shipped: Products shipped + products_to_be_shipped: Products to be shipped + tracking_title: Tracking information + downloadable_items_title: Downloadable items + quantity: 'Qty:' + download: Download file + tracking_label: Tracking Link + no_tracking_numbers: No tracking numbers are assigned to your order yet + check_status: Check order status + go_shopping: Go shopping + + \ No newline at end of file diff --git a/models/email_templates/create_account_email.yml b/models/email_templates/create_account_email.yml index 5a1877618..f2edf021b 100644 --- a/models/email_templates/create_account_email.yml +++ b/models/email_templates/create_account_email.yml @@ -1,88 +1,129 @@ -type: object -properties: - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - details_title: - type: string - email_label: - type: string - password_label: - type: string - password_placeholder: - type: string - sign_in: - type: string - help: - type: string - go_shopping: - type: string +Account Created: + title: Account Created Email Template + description: Account created email triggers when a customer or store admin creates their account. + type: object + properties: + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + details_title: + type: string + email_label: + type: string + password_label: + type: string + password_placeholder: + type: string + sign_in: + type: string + help: + type: string + go_shopping: + type: string + examples: + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: john.f@example.com + misc: + year: 2021 + translations: + en: + title: Thanks for registering at {{store}} + hello: Hello {{name}}. + message: Thank you for creating your account at {{name}}. + details_title: Account details + email_label: 'Email Address:' + password_label: 'Password:' + password_placeholder: [The password you specified] + sign_in: Sign in to account + help: If you have any questions regarding your account, click 'Reply' in your email client and we'll be only too happy to help. + go_shopping: Go shopping + + diff --git a/models/email_templates/create_guest_account_email.yml b/models/email_templates/create_guest_account_email.yml index e6b828dac..e6a4ff823 100644 --- a/models/email_templates/create_guest_account_email.yml +++ b/models/email_templates/create_guest_account_email.yml @@ -1,78 +1,115 @@ -type: object -properties: - guest_account: - type: object - properties: - link: - type: string - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - instruction: - type: string - help: - type: string - go_shopping: - type: string +Account Created Guest: + title: Create Guest Account Email Template + description: Guest account created email triggers when a customer or store admin creates a guest account. + type: object + properties: + guest_account: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + instruction: + type: string + help: + type: string + go_shopping: + type: string + examples: + guest_account: + link: #reset-password-link + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Welcome to {{name}} + hello: Hello {{name}}, + message: For your convenience, we've created you an account on {{store}} so you can check the status of your order and checkout quicker in the future. + instruction: 'To login you will need to follow the link below to nominate your password:' + help: If you have any questions regarding your account, click 'Reply' in your email client and we'll be only too happy to help. + go_shopping: Go shopping diff --git a/models/email_templates/gift_certificate_email.yml b/models/email_templates/gift_certificate_email.yml index c43ded1ec..cd2b9a352 100644 --- a/models/email_templates/gift_certificate_email.yml +++ b/models/email_templates/gift_certificate_email.yml @@ -1,108 +1,156 @@ -type: object -properties: - certificate: - type: object - properties: - code: - type: string - to_name: - type: string - to_email: - type: string - from_name: - type: string - from_email: - type: string - amount: - type: string - redeem_link: - type: string - expiry_date: - type: object - properties: - formatted: - type: string - value: - type: integer - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - expiry_info: - type: string - instruction: - type: string - attached: - type: string - warning: - type: string - go_shopping: - type: string +Gift Certificate Recipient: + title: Gift Certificate Email Template + description: Gift certificate recipient email triggers when a customer purchases a gift certificate. + type: object + properties: + certificate: + type: object + properties: + code: + type: string + to_name: + type: string + to_email: + type: string + from_name: + type: string + from_email: + type: string + amount: + type: string + redeem_link: + type: string + expiry_date: + type: object + properties: + formatted: + type: string + value: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + expiry_info: + type: string + instruction: + type: string + attached: + type: string + warning: + type: string + go_shopping: + type: string + examples: + certificate: + code: FA-21465 + to_name: John + to_email: 'john.f@example.com' + from_name: John Wick + from_email: 'johnwick@example.com' + amount: '12.34' + redeem_link: '#redeem-link' + expiry_date: + formatted: 03/01/2121 + value: 1614615821 + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: You have received a Gift Certificate for {{name}} + hello: Dear {{name}}, + message: '{{from_name}} ({{from_email}}) has sent you a {{amount}} gift certificate for <a href=\{{path}}\>{{name]}</a>.' + expiry_info: You have until {{date}} to use this gift certificate before it expires. + instruction: 'For instructions on how to redeem your gift certificate please <a href=\{{link}}\>click here</a>.' + attached: Your gift certificate is attached to this email. + warning: Please download or print a copy of your gift certificate for safe keeping as gift certificates are non-transferable. + go_shopping: Go shopping diff --git a/models/email_templates/global.yml b/models/email_templates/global.yml index 99fb82282..b2f89c16e 100644 --- a/models/email_templates/global.yml +++ b/models/email_templates/global.yml @@ -1,62 +1,89 @@ -type: object -properties: - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer +Global Email Template Object: + title: Global Email Template Object + description: Data objects across all email templates. + type: object + properties: + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + examples: + store : + name : string, + domain_name : string + logo : + title : string + name : string + url : string + ssl_path : string + cdn_path : string + image_directory : string + img_path : string + path_normal : string + path : string + address : string + language : + code : string + direction : string + customer : + first_name : string + full_name : string + email : string + misc : + year : int diff --git a/models/email_templates/invoice_email.yml b/models/email_templates/invoice_email.yml index 775be637f..4694e34a3 100644 --- a/models/email_templates/invoice_email.yml +++ b/models/email_templates/invoice_email.yml @@ -1,364 +1,526 @@ -type: object -properties: - order: - type: object - properties: - id: - type: integer - customer_message: - type: string - customer_id: - type: integer - date_placed: - type: object - properties: - formatted: - type: string - value: - type: integer - account_order_status_url: - type: string - shipping: - type: object - properties: - methods: - type: array - items: - type: object - address: - type: object - properties: - email: - type: string - phone: - type: string - first_name: - type: string - last_name: - type: string - company: - type: string - country: - type: string - city: - type: string - state: - type: string - zip: - type: string - address_lines: - type: array - items: - type: object - custom_fields: - type: array - items: - type: object - products: - type: array - items: - type: object - properties: - name: - type: string - quantity: - type: integer - sku: - type: string - address_lines: - type: array - items: - type: object - address_id: - type: integer - options: - type: object - properties: - Size: - type: string - download_url: - type: string - thumbnail: - type: string - brand: - type: string - event: - type: object - properties: - name: - type: string - date: - type: object - properties: - value: - type: integer - formatted: - type: string - price: - type: object - properties: - value: - type: float - formatted: - type: string - total: - type: object - properties: - value: - type: float - formatted: - type: string - preorder: - type: object - properties: - is_preorder: - type: boolean - message: - type: string - date: - type: object - properties: - value: - type: integer - formatted: - type: string - attribute_lines: - type: array - description: A list of strings that represents product variant options. - items: - type: object - configurable_fields: - type: array - description: Object array with properties name and value. - items: - type: object - payment: - type: object - properties: - is_test: - type: boolean - provider_name: - type: string - offline_payment_message: - type: string - gateway_amount: - type: object - description: Price value. Provided only if the payment method is offline. - properties: - formatted: - type: string - value: - type: float - billing: - type: object - properties: - is_managed_by_amazon: - type: boolean - address: - type: object - properties: - email: - type: string - phone: - type: string - first_name: - type: string - last_name: - type: string - company: - type: string - country: - type: string - city: - type: string - state: - type: string - zip: - type: string - address_lines: - type: array - items: - type: object - custom_fields: - type: array - items: - type: object - total_rows: - type: array - items: - type: object - properties: - label: - type: string - price: - type: object - properties: - value: - type: float - formatted: - type: string - shipping_discounts: - type: array - items: - type: object - total_cost: - type: object - properties: - formatted: - type: string - value: - type: float - meta: - type: object - properties: - mandate_url: - type: string - description: Link to the confirmation page in Stripe - mandate_tag: - type: string - description: Short name of the payment document - shipping_addresses_num: - type: integer - show_immediate_download: - type: boolean - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - comment_label: - type: string - order_id_line: - type: string - view_summary: - type: string - sepa: - type: string - description: A link to SEPA mandate and also receive this link embedded on email confirmation. - shipment_to_multiple_addresses: - type: string - shipping_immediate_download: - type: string - shipping_address_label: - type: string - immediate_download: - type: string - email: - type: string - billing_address_managed_by_amazon: - type: string - billing_address_label: - type: string - pending_payment: - type: string - how_to_pay: - type: string - pay_for_order_help: - type: string - order_total: - type: string - cart_items: - type: string - sku: - type: string - quantity: - type: string - item_price: - type: string - item_total: - type: string - payment_method: - type: string - no_payment_taken_in_test_mode: - type: string - download_files: - type: string - preorder: - type: string - download_available_after_payment: - type: string - shipped_to: - type: string - shipping_discount: - type: string - thanks_for_your_order: - type: string - your_order_contains: - type: string - shipping_method: - type: string - shipping_to_address: - type: string - your_order_will_be_shipped_by: - type: string - total_cost: - type: string - items: - type: string - total: - type: string - price: - type: string - email_address: - type: string +Order: + title: Order Email Template + description: Order email triggers when a customer or store admin creates an order. + type: object + properties: + order: + type: object + properties: + id: + type: integer + customer_message: + type: string + customer_id: + type: integer + date_placed: + type: object + properties: + formatted: + type: string + value: + type: integer + account_order_status_url: + type: string + shipping: + type: object + properties: + methods: + type: array + items: + type: object + properties: + address: + type: object + properties: + email: + type: string + phone: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + country: + type: string + city: + type: string + state: + type: string + zip: + type: string + address_lines: + type: array + items: + type: object + properties: + custom_fields: + type: array + items: + type: object + properties: + products: + type: array + items: + type: object + properties: + name: + type: string + quantity: + type: integer + sku: + type: string + address_lines: + type: array + items: + type: object + properties: + address_id: + type: integer + options: + type: object + properties: + Size: + type: string + download_url: + type: string + thumbnail: + type: string + brand: + type: string + event: + type: object + properties: + name: + type: string + date: + type: object + properties: + value: + type: integer + formatted: + type: string + price: + type: object + properties: + value: + type: float + formatted: + type: string + total: + type: object + properties: + value: + type: float + formatted: + type: string + preorder: + type: object + properties: + is_preorder: + type: boolean + message: + type: string + date: + type: object + properties: + value: + type: integer + formatted: + type: string + attribute_lines: + type: array + description: A list of strings that represents product variant options. + items: + type: object + properties: + configurable_fields: + type: array + description: Object array with properties name and value. + items: + type: object + properties: + payment: + type: object + properties: + is_test: + type: boolean + provider_name: + type: string + offline_payment_message: + type: string + gateway_amount: + type: object + description: Price value. Provided only if the payment method is offline. + properties: + formatted: + type: string + value: + type: float + billing: + type: object + properties: + is_managed_by_amazon: + type: boolean + address: + type: object + properties: + email: + type: string + phone: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + country: + type: string + city: + type: string + state: + type: string + zip: + type: string + address_lines: + type: array + items: + type: object + properties: + custom_fields: + type: array + items: + type: object + properties: + total_rows: + type: array + items: + type: object + properties: + label: + type: string + price: + type: object + properties: + value: + type: float + formatted: + type: string + shipping_discounts: + type: array + items: + type: object + properties: + total_cost: + type: object + properties: + formatted: + type: string + value: + type: float + meta: + type: object + properties: + mandate_url: + type: string + description: Link to the confirmation page in Stripe + mandate_tag: + type: string + description: Short name of the payment document + shipping_addresses_num: + type: integer + show_immediate_download: + type: boolean + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + comment_label: + type: string + order_id_line: + type: string + view_summary: + type: string + sepa: + type: string + description: A link to SEPA mandate and also receive this link embedded on email confirmation. + shipment_to_multiple_addresses: + type: string + shipping_immediate_download: + type: string + shipping_address_label: + type: string + immediate_download: + type: string + email: + type: string + billing_address_managed_by_amazon: + type: string + billing_address_label: + type: string + pending_payment: + type: string + how_to_pay: + type: string + pay_for_order_help: + type: string + order_total: + type: string + cart_items: + type: string + sku: + type: string + quantity: + type: string + item_price: + type: string + item_total: + type: string + payment_method: + type: string + no_payment_taken_in_test_mode: + type: string + download_files: + type: string + preorder: + type: string + download_available_after_payment: + type: string + shipped_to: + type: string + shipping_discount: + type: string + thanks_for_your_order: + type: string + your_order_contains: + type: string + shipping_method: + type: string + shipping_to_address: + type: string + your_order_will_be_shipped_by: + type: string + total_cost: + type: string + items: + type: string + total: + type: string + price: + type: string + email_address: + type: string + examples: + order: + id: 1 + customer_message: Order custom message + customer_id: 11 + date_placed: + formatted: 11th Feb 2021 + value: 1613060604 + account_order_status_url: #url + shipping: + methods: + address: + email: 'test@gmail.com' + phone: +112233445566 + first_name: John + last_name: Wick + company: MyCompany + country: + city: + state: + zip: 1622 + address_lines: + custom_fields: + products: + name: Test product name + quantity: 2 + sku: SF42 + address_lines: + address_id: 0 + options: + Size: XL + download_url: + thumbnail_url: /test.jpg + event: + name: + date: + value: 0 + formatted: + price: + value: 250.1 + formatted: 250.1 + total: + value: 250.1, + formatted: 250.1 + preorder: + is_preorder: false + message: + date: + value: 0 + formatted: + attribute_lines: + configurable_fields: + payment: + is_test: false + provider_name: PaymentMethod + offline_payment_message: + gateway_amount: + formatted: + value: 0 + billing: + is_managed_by_amazon: false + address: + email: 'test@gmail.com' + phone: +112233445566 + first_name: John + last_name: Wick + company: MyCompany + country: + city: + state: + zip: 1622 + address_lines: + custom_fields: + total_rows: + label: Total, + price: + value: 250.1, + formatted: 250.1 + shipping_discounts: + total_cost: + formatted: 100.0$, + value: 100 + meta: + mandate_url: + shipping_addresses_num: 1 + show_immediate_download: false + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: [= My Dev Store 97434969 =] + name: 'avatar-2020_1612860757__16350.jpeg' + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John, + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + comment_label: Order Instructions/Comments + order_id_line: Your order ID is <strong>#{{id}}</strong>. + view_summary: A summary of your order is shown below. To view the status of your order <a href='link'>click here</a>. + sepa: 'SEPA Direct Debit Mandate' + shipment_to_multiple_addresses: (Order will be shipped to multiple addresses) + shipping_immediate_download: Immediate download after completion of payment. + shipping_address_label: Shipping Address + immediate_download: Immediate Download + email: Email + billing_address_managed_by_amazon: Managed by Amazon + billing_address_label: Billing Address + pending_payment: Your order requires payment before it can be finalized. Details on how to pay are shown below. + how_to_pay: Your order requires payment before it can be finalized. Details on how to pay are shown below. + pay_for_order_help: Once you've provided payment your order will be completed. + order_total: The outstanding balance of your order is amount + cart_items: Cart Items + sku: SKU + quantity: Qty + item_price: Item Price + item_total: Item Total + payment_method: Payment Method + no_payment_taken_in_test_mode: '<b>Please Note</b>: No money was taken for this order, because the payment provider is in test mode.' + download_files: Download Files + preorder: This product is available for pre-order only + download_available_after_payment: Items available for immediate download after completion of payment + shipped_to: Items shipped to address + shipping_discount: price off using code Coupon Code + thanks_for_your_order: Thanks for Your Order + your_order_contains: Your Order Contains... + shipping_method: Shipping Method + shipping_to_address: Shipping to Address + your_order_will_be_shipped_by: Your Order Will Be Shipped By... + total_cost: Total Cost + items: Items + total: Total + price: Price + email_address: Email Address + + diff --git a/models/email_templates/order_message_notification.yml b/models/email_templates/order_message_notification.yml index 3561a141d..9a07ff89c 100644 --- a/models/email_templates/order_message_notification.yml +++ b/models/email_templates/order_message_notification.yml @@ -1,87 +1,124 @@ -type: object -properties: - notification: - type: object - properties: - message: - type: string - link: - type: string - subject: - type: string - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - reply: - type: string - go_shopping: - type: string +Order Notification: + title: Order Notification Email Template + description: Order notification email triggers when a merchant or store admin adds a message to an order. + type: object + properties: + notification: + type: object + properties: + message: + type: string + link: + type: string + subject: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + reply: + type: string + go_shopping: + type: string + examples: + notification: + message: Message from the merchant + link: 'https://my-dev-store-97434969.store.bcdev/account.php?action=inbox' + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: New Reply to your Order Message + hello: Hello {{name}}. + message: '{{name}} has sent you a message about your order.' + reply: Reply + go_shopping: Go shopping diff --git a/models/email_templates/passwordless_login_email.yml b/models/email_templates/passwordless_login_email.yml index 822592f58..07a825833 100644 --- a/models/email_templates/passwordless_login_email.yml +++ b/models/email_templates/passwordless_login_email.yml @@ -1,85 +1,121 @@ -type: object -properties: - passwordless_login: - type: object - properties: - link: - type: string - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - message: - type: string - alternatively: - type: string - login_request: - type: string - secure: - type: string - go_shopping: - type: string +Sign in Link Request: + title: Sign in Link Request Email Template + description: Sign-in request email triggers when an existing customer requests passwordless login while checking out. + type: object + properties: + passwordless_login: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + message: + type: string + alternatively: + type: string + login_request: + type: string + secure: + type: string + go_shopping: + type: string + examples: + passwordless_login: '"link": "#sign-in-link"' + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Please click the link below to sign in to your account with {{name}} + message: 'You have requested a sign-in link. Please <a href=\ {link}\ >click here to sign in</a> and continue.' + alternatively: 'Alternatively, paste the following link in your browser:' + login_request: This login is for {{name}} if you did not request this link, please ignore this email. + secure: Your account is still secure. + go_shopping: Go shopping diff --git a/models/email_templates/product_review_email.yml b/models/email_templates/product_review_email.yml index 25b913517..92afd5eeb 100644 --- a/models/email_templates/product_review_email.yml +++ b/models/email_templates/product_review_email.yml @@ -1,102 +1,144 @@ -type: object -properties: - review: - type: object - properties: - products: - type: array - items: - type: object - properties: - name: - type: string - sku: - type: string - link: - type: string - price: - type: string - thumbnail: - type: string - unsubscribe_link: - type: string - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - instruction: - type: string - review_text: - type: string - thanks: - type: string - go_shopping: - type: string +Product Review Request: + title: Product Review Email Template + description: Product review request email triggers after a customer purchases a product. + type: object + properties: + review: + type: object + properties: + products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + link: + type: string + price: + type: string + thumbnail: + type: string + unsubscribe_link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + instruction: + type: string + review_text: + type: string + thanks: + type: string + go_shopping: + type: string + examples: + review: + products: + name: Name of Product + sku: FA44 + link: '#review-link' + unsubscribe_link: '#unsubscribe-link' + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Review products you've recently purchased + hello: Hello {{name}}, + message: Thanks for your recent order with us!, + instruction: If you have a few minutes, we'd like to invite you to review the products you ordered. Just click on the link below to write a review and share your opinion with other shoppers. + review_text: Review product + thanks: Thanks in advance for taking the time to review the products you purchased! + go_shopping: Go shopping diff --git a/models/email_templates/return_confirmation_email.yml b/models/email_templates/return_confirmation_email.yml index 296c18330..63dbc5433 100644 --- a/models/email_templates/return_confirmation_email.yml +++ b/models/email_templates/return_confirmation_email.yml @@ -1,117 +1,164 @@ -type: object -properties: - return: - type: object - properties: - return_id: - type: string - reason: - type: string - action: - type: string - comments: - type: string - products: - type: array - items: - type: object - properties: - name: - type: string - quantity: - type: integer - price: - type: string - sku: - type: string - thumbnail: - type: string - order: - type: object - properties: - id: - type: integer - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - confirmation: - type: string - summary: - type: string - clickHere: - type: string - reason: - type: string - action: - type: string - comments: - type: string - contains: - type: string - items: - type: string - quantity: - type: string +Return Requested: + title: Return Requested Email Template + description: 'Return requested email triggers after a customer’s return is approved.' + type: object + properties: + return: + type: object + properties: + return_id: + type: string + reason: + type: string + action: + type: string + comments: + type: string + products: + type: array + items: + type: object + properties: + name: + type: string + quantity: + type: integer + price: + type: string + sku: + type: string + thumbnail: + type: string + order: + type: object + properties: + id: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + confirmation: + type: string + summary: + type: string + clickHere: + type: string + reason: + type: string + action: + type: string + comments: + type: string + contains: + type: string + items: + type: string + quantity: + type: string + examples: + return: + return_id: 123 + reason: reason of return + action: action + comments: sample comment + order_id: 321 + products: + name: Shower Gel + quantity: 3 + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: '[= My Dev Store 97434969 =]' + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + confirmation: Confirmation for Return Request for Order ID + summary: A summary of your return is shown below. To view the status of this return + clickHere: click here + reason: Return Reason + action: Return Action + comments: Your Comments + contains: Your Return Request Contains the Following Items... + items: Return Items + quantity: Qty diff --git a/models/email_templates/return_status_change_email.yml b/models/email_templates/return_status_change_email.yml index 8bebc1d35..0733e1205 100644 --- a/models/email_templates/return_status_change_email.yml +++ b/models/email_templates/return_status_change_email.yml @@ -1,143 +1,204 @@ -type: object -description: '' -properties: - return: - type: object - properties: - id: - type: integer - reason: - type: string - action: - type: string - comments: - type: string - product: - type: object - properties: - name: - type: string - quantity: - type: integer - price: - type: string - sku: - type: string - thumbnail: - type: string - status: - type: object - properties: - value: - type: integer - formatted: - type: string - store_credit: - type: object - properties: - value: - type: float - formatted: - type: string - link: - type: string - instructions: - type: string - order: - type: object - properties: - id: - type: integer - store: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: - type: object - properties: - code: - type: string - direction: - type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - properties: - year: - type: integer - translations: - type: object - properties: - en: - type: object - properties: - title: - type: string - hello: - type: string - message: - type: string - received_credit: - type: string - details_title: - type: string - return_reason: - type: string - return_action: - type: string - return_comments: - type: string - check_status: - type: string - products_title: - type: string - quantity: - type: string - instructions_title: - type: string - go_shopping: - type: string -title: '' +Return Status Change: + description: Return status change email triggers after a customer returnʼs status has changed. + type: object + title: Return Status Change Email Template + properties: + return: + type: object + properties: + id: + type: integer + reason: + type: string + action: + type: string + comments: + type: string + product: + type: object + properties: + name: + type: string + quantity: + type: integer + price: + type: string + sku: + type: string + thumbnail: + type: string + status: + type: object + properties: + value: + type: integer + formatted: + type: string + store_credit: + type: object + properties: + value: + type: float + formatted: + type: string + link: + type: string + instructions: + type: string + order: + type: object + properties: + id: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + received_credit: + type: string + details_title: + type: string + return_reason: + type: string + return_action: + type: string + return_comments: + type: string + check_status: + type: string + products_title: + type: string + quantity: + type: string + instructions_title: + type: string + go_shopping: + type: string + examples: + Return Status Change example: + value: + return: + id: 1 + reason: reason of return + action: action + comments: sample comment + product: + name: ProductName + quantity: 2 + thumbnail_url: '' + status: + value: 1 + formatted: Pending + store_credit: + value: 10.1 + formatted: '$10.1 USD' + link: 'https://my-dev-store-97434969.store.bcdev/account.php?action=view_returns' + instructions: + order: + id: 1 + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: '[= My Dev Store 97434969 =]' + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: 'Return request status changed' + hello: 'Hello {{name}}' + message: 'The status of your return request for order #{{id}} has changed to <strong>{{status}}</strong>.' + received_credit: 'You have received a store credit of {{credits}} To use it simply place your order and you will be able to choose store credit as the payment method when it comes time to pay for your order.' + details_title: Return details + return_reason: 'Return reason:' + return_action: 'Return action:' + return_comments: 'Your comments:' + check_status: Check return status + products_title: Return items + quantity: 'Qty:' + instructions_title: 'Return Instructions:' + go_shopping: Go shopping diff --git a/models/webhooks/store_app_uninstalled.yml b/models/webhooks/store_app_uninstalled.yml index 3bcd6cc20..8b6caefce 100644 --- a/models/webhooks/store_app_uninstalled.yml +++ b/models/webhooks/store_app_uninstalled.yml @@ -1,19 +1,23 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/app/uninstalled: + description: Occurs when a client store is cancelled and uninstalled from the platform. type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string \ No newline at end of file diff --git a/models/webhooks/store_cart_abandoned.yml b/models/webhooks/store_cart_abandoned.yml index 379cc5680..592f11c3c 100644 --- a/models/webhooks/store_cart_abandoned.yml +++ b/models/webhooks/store_cart_abandoned.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/abandoned: + description: This webhook will fire once after a cart is abandoned. A cart is considered abandoned if no changes have been made for at least one hour after the last modified property. This hook is available for all store plans, regardless of whether the Abandoned Cart Saver feature is enabled. type: object properties: - type: + scope: type: string - id: + store_id: type: string - token: + data: + type: object + properties: + type: + type: string + id: + type: string + token: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_cart_converted.yml b/models/webhooks/store_cart_converted.yml index a750f4107..4d899ccec 100644 --- a/models/webhooks/store_cart_converted.yml +++ b/models/webhooks/store_cart_converted.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/converted: + description: This hook fires when a cart is converted into an order, which is typically after the payment step of checkout on the storefront. At this point, the cart is no longer accessible and has been deleted. This hook returns both the cart ID and order ID for correlation purposes. type: object properties: - type: + scope: type: string - id: + store_id: type: string - orderId: + data: + type: object + properties: + type: + type: string + id: + type: string + orderId: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_cart_couponApplied.yml b/models/webhooks/store_cart_couponApplied.yml index 1e5a02fa7..0ceda9be2 100644 --- a/models/webhooks/store_cart_couponApplied.yml +++ b/models/webhooks/store_cart_couponApplied.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/couponApplied: + description: This webhook will fire whenever a new coupon code is applied to a cart. It will include the ID of the coupon code. type: object properties: - type: + scope: type: string - id: + store_id: type: string - couponId: + data: + type: object + properties: + type: + type: string + id: + type: string + couponId: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_cart_created.yml b/models/webhooks/store_cart_created.yml index 4831c37fb..b60f95f90 100644 --- a/models/webhooks/store_cart_created.yml +++ b/models/webhooks/store_cart_created.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/created: + description: This webhook will fire whenever a new cart is created, either via a storefront shopper adding their first item to the cart, or when a new cart is created via an API consumer. If it is from the storefront, then it fires when the first product is added to a new session.(The cart did not exist before). For the API it means a POST to /carts, (V3 and Storefront API). The store/cart/updated hook will also fire. type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_cart_deleted.yml b/models/webhooks/store_cart_deleted.yml index 4831c37fb..c1980272b 100644 --- a/models/webhooks/store_cart_deleted.yml +++ b/models/webhooks/store_cart_deleted.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/deleted: + description: This webhook will fire whenever a cart is deleted. This will occur either when all items have been removed from a cart and it is auto-deleted, or when the cart is explicitly removed via a DELETE request by an API consumer. This ends the lifecycle of the cart. The store/cart/updated webhook will also fire when the last item is removed. type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_cart_lineItem_created.yml b/models/webhooks/store_cart_lineItem_created.yml index f764835b8..44e0d4e84 100644 --- a/models/webhooks/store_cart_lineItem_created.yml +++ b/models/webhooks/store_cart_lineItem_created.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/lineItem/created: + description: When a new item is added to the cart type: object properties: - type: + scope: type: string - id: + store_id: type: string - cartId: + data: + type: object + properties: + type: + type: string + id: + type: string + cartId: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_cart_lineItem_deleted.yml b/models/webhooks/store_cart_lineItem_deleted.yml index f764835b8..53dfcfb26 100644 --- a/models/webhooks/store_cart_lineItem_deleted.yml +++ b/models/webhooks/store_cart_lineItem_deleted.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/lineItem/deleted: + description: When an item is deleted from the cart type: object properties: - type: + scope: type: string - id: + store_id: type: string - cartId: + data: + type: object + properties: + type: + type: string + id: + type: string + cartId: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_cart_lineItem_updated.yml b/models/webhooks/store_cart_lineItem_updated.yml index f764835b8..ad5caea2c 100644 --- a/models/webhooks/store_cart_lineItem_updated.yml +++ b/models/webhooks/store_cart_lineItem_updated.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/lineItem/updated: + description: When an item’s quantity has changed or the product options change. type: object properties: - type: + scope: type: string - id: + store_id: type: string - cartId: + data: + type: object + properties: + type: + type: string + id: + type: string + cartId: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_cart_updated.yml b/models/webhooks/store_cart_updated.yml index 4831c37fb..2550c783e 100644 --- a/models/webhooks/store_cart_updated.yml +++ b/models/webhooks/store_cart_updated.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/cart/updated: + description: his webhook is fired whenever a cart is modified through the changes in its line items. Eg. when a new item is added to a cart or an existing item’s quantity is updated. This hook also fires when the email is changed during guest checkout or when an existing item is deleted. The payload will include the ID of the cart being updated. This webhook also fires along with the cart created hook, because the first product being added to an empty cart triggers an update. type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_category_created.yml b/models/webhooks/store_category_created.yml index 840c67be7..c72c55399 100644 --- a/models/webhooks/store_category_created.yml +++ b/models/webhooks/store_category_created.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/category/created: + description: Category is created type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_category_deleted.yml b/models/webhooks/store_category_deleted.yml index 840c67be7..e47569597 100644 --- a/models/webhooks/store_category_deleted.yml +++ b/models/webhooks/store_category_deleted.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/category/deleted: + description: Category is deleted type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_category_updated.yml b/models/webhooks/store_category_updated.yml index 840c67be7..bb16b06a8 100644 --- a/models/webhooks/store_category_updated.yml +++ b/models/webhooks/store_category_updated.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/category/updated: + description: Category is updated type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_customer_address_created.yml b/models/webhooks/store_customer_address_created.yml index 6ed3a065e..45e08347e 100644 --- a/models/webhooks/store_customer_address_created.yml +++ b/models/webhooks/store_customer_address_created.yml @@ -1,25 +1,29 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/customer/address/created: + description: Customer address is created type: object properties: - type: + scope: type: string - id: - type: integer - address: + store_id: + type: string + data: type: object properties: - customer_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + address: + type: object + properties: + customer_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_customer_address_deleted.yml b/models/webhooks/store_customer_address_deleted.yml index 6ed3a065e..073c9cdad 100644 --- a/models/webhooks/store_customer_address_deleted.yml +++ b/models/webhooks/store_customer_address_deleted.yml @@ -1,25 +1,29 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/customer/address/deleted: + description: Customer address is deleted type: object properties: - type: + scope: type: string - id: - type: integer - address: + store_id: + type: string + data: type: object properties: - customer_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + address: + type: object + properties: + customer_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_customer_address_updated.yml b/models/webhooks/store_customer_address_updated.yml index 6ed3a065e..7e8b9345d 100644 --- a/models/webhooks/store_customer_address_updated.yml +++ b/models/webhooks/store_customer_address_updated.yml @@ -1,25 +1,29 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/customer/address/updated: + description: Customer address is updated type: object properties: - type: + scope: type: string - id: - type: integer - address: + store_id: + type: string + data: type: object properties: - customer_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + address: + type: object + properties: + customer_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_customer_created.yml b/models/webhooks/store_customer_created.yml index 840c67be7..9b899f07b 100644 --- a/models/webhooks/store_customer_created.yml +++ b/models/webhooks/store_customer_created.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/customer/created: + description: A new customer is created type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_customer_deleted.yml b/models/webhooks/store_customer_deleted.yml index 840c67be7..0076287a9 100644 --- a/models/webhooks/store_customer_deleted.yml +++ b/models/webhooks/store_customer_deleted.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/customer/deleted: + description: Customer is deleted type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_customer_payment_instrument_default_updated.yml b/models/webhooks/store_customer_payment_instrument_default_updated.yml index 840c67be7..b0b6246c1 100644 --- a/models/webhooks/store_customer_payment_instrument_default_updated.yml +++ b/models/webhooks/store_customer_payment_instrument_default_updated.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/customer/payment/instrument/default/updated: + description: Customer default payment instrument is updated type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_customer_updated.yml b/models/webhooks/store_customer_updated.yml index 840c67be7..bfc531d0e 100644 --- a/models/webhooks/store_customer_updated.yml +++ b/models/webhooks/store_customer_updated.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/customer/updated: + description: Customer is updated. Does not currently track changes to the customer address. type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_information_updated.yml b/models/webhooks/store_information_updated.yml index 55840a2c9..3a387a9ef 100644 --- a/models/webhooks/store_information_updated.yml +++ b/models/webhooks/store_information_updated.yml @@ -1,18 +1,22 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/information/updated: + description: Occurs when changes are made to store settings. For a full list of fields that can trigger this event, see Store information updated events below type: object properties: - type: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + type: + type: string + hash: + type: string + created_at: + type: integer + producer: type: string - hash: - type: string - created_at: - type: integer - producer: - type: string diff --git a/models/webhooks/store_order_archived.yml b/models/webhooks/store_order_archived.yml index 840c67be7..022916533 100644 --- a/models/webhooks/store_order_archived.yml +++ b/models/webhooks/store_order_archived.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/order/archived: + description: Order is archived type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_order_created.yml b/models/webhooks/store_order_created.yml index 840c67be7..eb4c5fc6a 100644 --- a/models/webhooks/store_order_created.yml +++ b/models/webhooks/store_order_created.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/order/created: + description: Fires if an order is created using the control panel, an app or via the API type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_order_message_created.yml b/models/webhooks/store_order_message_created.yml index be3149592..04269984f 100644 --- a/models/webhooks/store_order_message_created.yml +++ b/models/webhooks/store_order_message_created.yml @@ -1,25 +1,29 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/order/message/created: + description: Order message is created by customer or in control panel type: object properties: - type: + scope: type: string - id: - type: integer - message: + store_id: + type: string + data: type: object properties: - order_message_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + message: + type: object + properties: + order_message_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_refund_created.yml b/models/webhooks/store_order_refund_created.yml index 8ef9d5178..9b6d9cecf 100644 --- a/models/webhooks/store_order_refund_created.yml +++ b/models/webhooks/store_order_refund_created.yml @@ -1,25 +1,29 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/order/refund/created: + description: A refund has been submitted against an order type: object properties: - type: + scope: type: string - id: - type: integer - refund: + store_id: + type: string + data: type: object properties: - refund_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + refund: + type: object + properties: + refund_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_statusUpdated.yml b/models/webhooks/store_order_statusUpdated.yml index f9b611f3f..812ef24f2 100644 --- a/models/webhooks/store_order_statusUpdated.yml +++ b/models/webhooks/store_order_statusUpdated.yml @@ -1,27 +1,31 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/order/statusUpdated: + description: This will only fire if the order status has changed. Such as Pending to Awaiting Payment type: object properties: - type: + scope: type: string - id: - type: integer - status: + store_id: + type: string + data: type: object properties: - previous_status_id: - type: integer - new_status_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + status: + type: object + properties: + previous_status_id: + type: integer + new_status_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_updated.yml b/models/webhooks/store_order_updated.yml index 840c67be7..8159819eb 100644 --- a/models/webhooks/store_order_updated.yml +++ b/models/webhooks/store_order_updated.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/order/updated: + description: Fires when an already created order is updated. Any changes to an existing order will fire this webhook. Updates can include changing the status, updating a coupon or changing an address. type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_product_created.yml b/models/webhooks/store_product_created.yml index 840c67be7..a5aa514d5 100644 --- a/models/webhooks/store_product_created.yml +++ b/models/webhooks/store_product_created.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/product/created: + description: A new product is created type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_product_deleted.yml b/models/webhooks/store_product_deleted.yml index 840c67be7..0cdcfe85e 100644 --- a/models/webhooks/store_product_deleted.yml +++ b/models/webhooks/store_product_deleted.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/product/deleted: + description: Product is deleted type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_product_inventory_order_updated.yml b/models/webhooks/store_product_inventory_order_updated.yml index 48713b023..e7e6863f2 100644 --- a/models/webhooks/store_product_inventory_order_updated.yml +++ b/models/webhooks/store_product_inventory_order_updated.yml @@ -1,29 +1,33 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/product/inventory/order/updated: + description: Fires if a product’s inventory is decremented or incremented, including when an order is placed. Webhook responds to inventory updates made using the control panel, CSV import, API or an app. type: object properties: - type: + scope: type: string - id: - type: integer - inventory: + store_id: + type: string + data: type: object properties: - product_id: - type: integer - method: + type: type: string - value: + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + inventory: + type: object + properties: + product_id: + type: integer + method: + type: string + value: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_product_inventory_updated.yml b/models/webhooks/store_product_inventory_updated.yml index 48713b023..dfc78055e 100644 --- a/models/webhooks/store_product_inventory_updated.yml +++ b/models/webhooks/store_product_inventory_updated.yml @@ -1,29 +1,33 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/product/inventory/updated: + description: Product inventory is updated. type: object properties: - type: + scope: type: string - id: - type: integer - inventory: + store_id: + type: string + data: type: object properties: - product_id: - type: integer - method: + type: type: string - value: + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + inventory: + type: object + properties: + product_id: + type: integer + method: + type: string + value: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_product_updated.yml b/models/webhooks/store_product_updated.yml index 840c67be7..e0a828b75 100644 --- a/models/webhooks/store_product_updated.yml +++ b/models/webhooks/store_product_updated.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/product/updated: + description: Occurs when product details are edited. For a full list of product fields that trigger an updated event, see Product updated events below type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_shipment_created.yml b/models/webhooks/store_shipment_created.yml index e56ec8dad..f4d6d6a79 100644 --- a/models/webhooks/store_shipment_created.yml +++ b/models/webhooks/store_shipment_created.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/shipment/created: + description: Shipment is created type: object properties: - type: + scope: type: string - id: - type: integer - orderId: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + orderId: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_shipment_deleted.yml b/models/webhooks/store_shipment_deleted.yml index e56ec8dad..18aec25fa 100644 --- a/models/webhooks/store_shipment_deleted.yml +++ b/models/webhooks/store_shipment_deleted.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/shipment/deleted: + description: Shipment is deleted type: object properties: - type: + scope: type: string - id: - type: integer - orderId: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + orderId: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_shipment_updated.yml b/models/webhooks/store_shipment_updated.yml index e56ec8dad..15978efc7 100644 --- a/models/webhooks/store_shipment_updated.yml +++ b/models/webhooks/store_shipment_updated.yml @@ -1,22 +1,26 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/shipment/updated: + description: Shipment is updated type: object properties: - type: + scope: type: string - id: - type: integer - orderId: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + orderId: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_sku_created.yml b/models/webhooks/store_sku_created.yml index 7ebf9e42c..3753de269 100644 --- a/models/webhooks/store_sku_created.yml +++ b/models/webhooks/store_sku_created.yml @@ -1,27 +1,31 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/sku/created: + description: A new sku is created type: object properties: - type: + scope: type: string - id: - type: integer - sku: + store_id: + type: string + data: type: object properties: - product_id: - type: integer - variant_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + sku: + type: object + properties: + product_id: + type: integer + variant_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_sku_deleted.yml b/models/webhooks/store_sku_deleted.yml index 7ebf9e42c..860d1dd66 100644 --- a/models/webhooks/store_sku_deleted.yml +++ b/models/webhooks/store_sku_deleted.yml @@ -1,27 +1,31 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/sku/deleted: + description: SKU is deleted type: object properties: - type: + scope: type: string - id: - type: integer - sku: + store_id: + type: string + data: type: object properties: - product_id: - type: integer - variant_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + sku: + type: object + properties: + product_id: + type: integer + variant_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_sku_inventory_order_updated.yml b/models/webhooks/store_sku_inventory_order_updated.yml index ab4a4308d..835793648 100644 --- a/models/webhooks/store_sku_inventory_order_updated.yml +++ b/models/webhooks/store_sku_inventory_order_updated.yml @@ -1,31 +1,35 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/sku/inventory/order/updated: + description: This will fire when the inventory is updated via API, the control panel, when an order is placed and when an order is refunded and the inventory is returned to stock. This hook will fire based on a store’s Inventory settings. type: object properties: - type: + scope: type: string - id: - type: integer - inventory: + store_id: + type: string + data: type: object properties: - product_id: - type: integer - method: + type: type: string - value: - type: integer - variant_id: + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + inventory: + type: object + properties: + product_id: + type: integer + method: + type: string + value: + type: integer + variant_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_sku_inventory_updated.yml b/models/webhooks/store_sku_inventory_updated.yml index ab4a4308d..9425652a0 100644 --- a/models/webhooks/store_sku_inventory_updated.yml +++ b/models/webhooks/store_sku_inventory_updated.yml @@ -1,31 +1,35 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/sku/inventory/updated: + description: SKU is updated type: object properties: - type: + scope: type: string - id: - type: integer - inventory: + store_id: + type: string + data: type: object properties: - product_id: - type: integer - method: + type: type: string - value: - type: integer - variant_id: + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + inventory: + type: object + properties: + product_id: + type: integer + method: + type: string + value: + type: integer + variant_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_sku_updated.yml b/models/webhooks/store_sku_updated.yml index 7ebf9e42c..cc8cbec81 100644 --- a/models/webhooks/store_sku_updated.yml +++ b/models/webhooks/store_sku_updated.yml @@ -1,27 +1,31 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/sku/updated: + description: SKU is updated type: object properties: - type: + scope: type: string - id: - type: integer - sku: + store_id: + type: string + data: type: object properties: - product_id: - type: integer - variant_id: + type: + type: string + id: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + sku: + type: object + properties: + product_id: + type: integer + variant_id: + type: integer + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_subscriber_created.yml b/models/webhooks/store_subscriber_created.yml index 840c67be7..74df7cdc6 100644 --- a/models/webhooks/store_subscriber_created.yml +++ b/models/webhooks/store_subscriber_created.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/subscriber/created: + description: Subscriber is created type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_subscriber_deleted.yml b/models/webhooks/store_subscriber_deleted.yml index 840c67be7..30fc5ffe8 100644 --- a/models/webhooks/store_subscriber_deleted.yml +++ b/models/webhooks/store_subscriber_deleted.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/subscriber/deleted: + description: Subscriber is deleted type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/models/webhooks/store_subscriber_updated.yml b/models/webhooks/store_subscriber_updated.yml index 840c67be7..e25833cde 100644 --- a/models/webhooks/store_subscriber_updated.yml +++ b/models/webhooks/store_subscriber_updated.yml @@ -1,20 +1,24 @@ type: object properties: - scope: - type: string - store_id: - type: string - data: + store/subscriber/updated: + description: Subscriber is updated type: object properties: - type: + scope: type: string - id: + store_id: + type: string + data: + type: object + properties: + type: + type: string + id: + type: integer + hash: + type: string + created_at: type: integer - hash: - type: string - created_at: - type: integer - producer: - type: string + producer: + type: string diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..a22c54782 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3371 @@ +{ + "name": "mdx-linter-devdocs", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mdx-linter-devdocs", + "version": "1.0.0", + "devDependencies": { + "eslint": "^8.34.0", + "eslint-plugin-mdx": "^2.0.5" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "is-glob": "^4.0.3", + "open": "^8.4.0", + "picocolors": "^1.0.0", + "tiny-glob": "^0.2.9", + "tslib": "^2.4.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dev": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", + "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dev": true, + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decode-named-character-reference/node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", + "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-mdx": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/eslint-mdx/-/eslint-mdx-2.0.5.tgz", + "integrity": "sha512-1ZzcJwJNfladtuK+uuG/MdC0idc1e3d1vCI2STOq/pLcJBGuao2biWh90vEh2M93zDiNoHJGUIU7UAxupiiHFw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "cosmiconfig": "^7.0.1", + "espree": "^9.4.0", + "estree-util-visit": "^1.2.0", + "remark-mdx": "^2.1.3", + "remark-parse": "^10.0.1", + "remark-stringify": "^10.0.2", + "synckit": "^0.8.4", + "tslib": "^2.4.0", + "unified": "^10.1.2", + "unist-util-visit": "^4.1.1", + "uvu": "^0.5.6", + "vfile": "^5.3.4" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "eslint": ">=8.0.0" + } + }, + "node_modules/eslint-plugin-markdown": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-3.0.0.tgz", + "integrity": "sha512-hRs5RUJGbeHDLfS7ELanT0e29Ocyssf/7kBM+p7KluY5AwngGkDf8Oyu4658/NZSGTTq05FZeWbkxXtbVyHPwg==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^0.8.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-mdx": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-mdx/-/eslint-plugin-mdx-2.0.5.tgz", + "integrity": "sha512-j2xN97jSlc5IoH94rJTHqYMztl46+hHzyC8Zqjx+OI1Rvv33isyf8xSSBHN6f0z8IJmgPgGsb/fH90JbvKplXg==", + "dev": true, + "dependencies": { + "eslint-mdx": "^2.0.5", + "eslint-plugin-markdown": "^3.0.0", + "remark-mdx": "^2.1.3", + "remark-parse": "^10.0.1", + "remark-stringify": "^10.0.2", + "tslib": "^2.4.0", + "unified": "^10.1.2", + "vfile": "^5.3.4" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "eslint": ">=8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", + "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", + "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", + "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "dev": true, + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-sdsl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", + "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", + "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "dev": true, + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.2.tgz", + "integrity": "sha512-o9vBCYQK5ZLGEj3tCGISJGjvafyHRVJlZmfJzSE7xjiogSzIeph/Z4zMY65q4WGRMezQBeAwPlrdymDYYYx0tA==", + "dev": true, + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "mdast-util-from-markdown": "^1.1.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dev": true, + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx/node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx/node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx/node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/mdast-util-mdx/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", + "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "dev": true, + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.4.tgz", + "integrity": "sha512-TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz", + "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==", + "dev": true, + "dependencies": { + "@types/acorn": "^4.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz", + "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==", + "dev": true, + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz", + "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==", + "dev": true, + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz", + "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==", + "dev": true, + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.7.tgz", + "integrity": "sha512-QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.1.tgz", + "integrity": "sha512-mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-location": "^4.0.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", + "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/remark-mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", + "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", + "dev": true, + "dependencies": { + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", + "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse/node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse/node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse/node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/remark-parse/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz", + "integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dev": true, + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-entities/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dev": true, + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz", + "integrity": "sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", + "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", + "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dev": true, + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..cca6e549b --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "mdx-linter-devdocs", + "version": "1.0.0", + "description": "Lints and otherwise helps improve DevDocs in MDX format.", + "main": "index.js", + "directories": { + "example": "examples" + }, + "engines": { + "node": ">= 14.0.0" + }, + "scripts": { + "lint": "eslint ./docs --ext mdx --max-warnings 0" + }, + "repository": { + "type": "git", + "url": "null" + }, + "keywords": [ + "lint", + "mdx", + "eslint", + "docs-as-code" + ], + "devDependencies": { + "eslint": "^8.34.0", + "eslint-plugin-mdx": "^2.0.5" + }, + "author": "Matthew Volk" +} diff --git a/reference/abandoned_cart_emails.v3.yaml b/reference/abandoned_cart_emails.v3.yaml index e1630b529..eb8a5efc4 100644 --- a/reference/abandoned_cart_emails.v3.yaml +++ b/reference/abandoned_cart_emails.v3.yaml @@ -1,7 +1,7 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: title: Abandoned Cart Emails - version: 3.0.0 + version: '3.0.0' termsOfService: 'https://www.bigcommerce.com/terms' description: Abandoned Cart Emails V3 API managing Handlebars-based emails. contact: @@ -9,13 +9,19 @@ info: url: 'https://www.bigcommerce.com' email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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: Abandoned Cart Emails - name: Template settings paths: - '/stores/{store_hash}/v3/marketing/abandoned-cart-emails': + '/marketing/abandoned-cart-emails': get: description: An array of abandoned cart emails pertaining to a store. parameters: @@ -33,7 +39,7 @@ paths: items: $ref: '#/components/schemas/AbandondedCartEmail' meta: - type: object + $ref: '#/components/schemas/metaCollection_open' examples: List of abandoned cart templates: value: @@ -69,7 +75,7 @@ paths: data: $ref: '#/components/schemas/AbandondedCartEmail' meta: - type: object + $ref: '#/components/schemas/metaCollection_open' '422': description: Unprocessable Entity content: @@ -97,13 +103,10 @@ paths: hello_phrase: Welcome parameters: - $ref: '#/components/parameters/ChannelIdOptional' + - $ref: '#/components/parameters/ContentType' parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/marketing/abandoned-cart-emails/{id}': + - $ref: '#/components/parameters/Accept' + '/marketing/abandoned-cart-emails/{id}': get: summary: Get an email template description: Get a single Abandoned Cart Email template. @@ -118,7 +121,7 @@ paths: data: $ref: '#/components/schemas/AbandondedCartEmail' meta: - type: object + $ref: '#/components/schemas/metaCollection_open' tags: - Abandoned Cart Emails operationId: getAbandonedCartEmailTemplateId @@ -139,7 +142,7 @@ paths: data: $ref: '#/components/schemas/AbandondedCartEmail' meta: - type: object + $ref: '#/components/schemas/metaCollection_open' '422': description: Unprocessable Entity content: @@ -174,6 +177,8 @@ paths: value: coupon_code: FF11-22X4 notify_at_minutes: 60 + parameters: + - $ref: '#/components/parameters/ContentType' delete: tags: - Abandoned Cart Emails @@ -191,12 +196,8 @@ paths: in: path required: true description: ID of the Abandoned Cart Email template. - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/marketing/abandoned-cart-emails/default': + - $ref: '#/components/parameters/Accept' + '/marketing/abandoned-cart-emails/default': get: summary: Get default email template description: Return default Abandoned Cart Email template. @@ -250,12 +251,8 @@ paths: keys: hello_phrase: Welcome back parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/marketing/abandoned-cart-emails/settings': + - $ref: '#/components/parameters/Accept' + '/marketing/abandoned-cart-emails/settings': get: summary: Get email template settings tags: @@ -291,12 +288,9 @@ paths: description: Update Abandoned Cart Email template settings. parameters: - $ref: '#/components/parameters/ChannelIdOptional' + - $ref: '#/components/parameters/ContentType' parameters: - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' components: schemas: SaveError: @@ -461,7 +455,29 @@ components: sent_num: type: integer x-internal: false + metaCollection_open: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. 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' ChannelIdOptional: in: query name: channel_id @@ -477,10 +493,28 @@ components: description: Channel ID to use for channel-specific setting. securitySchemes: X-Auth-Token: - name: API Key + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Information & Settings | read-only | `store_v2_information_read_only`| + | Information & Settings | modify | `store_v2_information` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/abandoned_carts.v3.yml b/reference/abandoned_carts.v3.yml index dbef18e4b..4f3716052 100644 --- a/reference/abandoned_carts.v3.yml +++ b/reference/abandoned_carts.v3.yml @@ -1,36 +1,29 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: version: '' title: Abandoned Carts description: |- - Use `/abandoned-carts/{token}` on headless storefronts to retrieve the `cart_id` via the abandoned cart `token` passed in to headless storefront via an abandoned cart email link clicked on by a shopper. Once the `cart_id` has been retrieved, it can be used to fetch and display information about the cart to the shopper via the storefront cart and/or server-to-server cart APIs. - - ## OAuth Scopes - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Information & Settings | read-only | `store_v2_information_read_only` | - | Information & Settings | modify | `store_v2_information` | - - For more information on OAuth Scopes, see: [Authentication](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). - - ## Authentication - - Requests can be authenticated by sending an `access_token` via `X-Auth-Token` HTTP header: - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + Use `/abandoned-carts/{token}` on headless storefronts to retrieve the `cart_id` using the abandoned cart `token` passed to the storefront when a shopper clicks an abandoned cart email link. Once the `cart_id` has been retrieved, your application can use it to fetch and display information about the cart to the shopper using the Storefront Cart API and/or Store Management Cart API. + 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: Abandoned Carts + - name: Abandoned Cart Settings + - name: Abandoned Carts Settings paths: - '/stores/{store_hash}/v3/abandoned-carts/settings': + '/abandoned-carts/settings': get: summary: Get Global Abandoned Cart Settings description: Returns the global abandoned cart settings of a store. @@ -82,13 +75,12 @@ paths: application/json: schema: $ref: '#/components/schemas/ErrorResponse' + parameters: + - $ref: '#/components/parameters/ContentType' parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/abandoned-carts/settings/channels/{channel_id}': + + - $ref: '#/components/parameters/Accept' + '/abandoned-carts/settings/channels/{channel_id}': get: summary: Get Channel Abandoned Cart Settings description: Returns the per-channel overrides for the abandoned cart settings of a store. @@ -134,6 +126,7 @@ paths: required: true schema: type: integer + - $ref: '#/components/parameters/ContentType' requestBody: required: true content: @@ -154,24 +147,21 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' '422': - description: Unprocessible entity + description: Unprocessable entity content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] parameters: - - schema: - type: string - name: store_hash - in: path - required: true + + - $ref: '#/components/parameters/Accept' - schema: type: string name: channel_id in: path required: true - '/stores/{store_hash}/v3/abandoned-carts/{token}': + '/abandoned-carts/{token}': get: responses: '200': @@ -209,41 +199,26 @@ paths: Unique cart `UUID` token that is generated for abandoned cart emails. schema: type: string - - name: store_hash - in: path - required: true - schema: - type: string -security: - - X-Auth-Token: [] -tags: - - name: Abandoned Carts - - name: Abandoned Cart Settings - - name: Abandoned Carts Settings -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -servers: - - url: 'https://api.bigcommerce.com' + + - $ref: '#/components/parameters/Accept' components: parameters: Accept: - in: header name: Accept + in: header required: true - description: Accept + 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 - Content-Type: + default: 'application/json' + ContentType: name: Content-Type in: header required: true - description: Content-Type + 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 + default: 'application/json' responses: 502_GatewayError: description: 'If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail.' @@ -348,41 +323,37 @@ components: $ref: '#/components/schemas/metaEmpty_Full' securitySchemes: X-Auth-Token: - type: apiKey - in: header name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | read-only | `store_v2_information_read_only`| | Information & Settings | modify | `store_v2_information` | + ### Authentication header - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: metaEmpty_Full: + title: Response meta type: object - title: metaEmpty_Full - x-internal: false - properties: - meta: - type: object + properties: {} + additionalProperties: true + description: Response metadata. error_Full: type: object title: error_Full @@ -414,7 +385,7 @@ components: properties: cart_id: type: string - description: The `cart_id` of the abandoned cart. Can be used to display the abanded cart to the customer via storefront cart or + description: The `cart_id` of the abandoned cart. Can be used to display the abandoned cart to the customer using storefront cart or x-internal: false AbandonedCartSettings: description: Represents all settings related to the abandoned cart functionality of a store @@ -509,7 +480,7 @@ components: data: $ref: '#/components/schemas/ChannelAbandonedCartSettings' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' x-tags: - Models GlobalAbandonedCartSettingsRequest: @@ -534,7 +505,7 @@ components: data: $ref: '#/components/schemas/AbandonedCartSettings' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' x-tags: - Models ErrorResponse: @@ -553,3 +524,4 @@ components: type: object x-tags: - Models + diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index 7d5f8d53f..5ddb7bcea 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -2,12 +2,18 @@ openapi: '3.0.1' info: version: Storefront title: Storefront Carts - description: Manage cart operations and data via front-end JavaScript on BigCommerce stencil powered storefronts. + description: |- + Manage cart operations and data using frontend JavaScript on BigCommerce stencil powered storefronts. + + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). servers: - url: 'https://{store_domain}/api/storefront' variables: store_domain: - default: yourstore.example.com + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Cart - name: Cart Items @@ -20,11 +26,11 @@ paths: summary: Get a Cart description: |- Returns a *Cart*. - - <!-- theme: info --> + > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. + operationId: getACart parameters: - $ref: '#/components/parameters/include' @@ -38,10 +44,10 @@ paths: description: |- Creates a *Cart*. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. + operationId: createACart parameters: - $ref: '#/components/parameters/include' @@ -73,10 +79,11 @@ paths: description: |- Deletes a *Cart*. Once a *Cart* has been deleted it can not be recovered. - <!-- theme: info --> + > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. + operationId: deleteACart parameters: - name: cartId @@ -97,10 +104,11 @@ paths: description: |- Adds a line items to the *Cart*. - <!-- theme: info --> + > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. + operationId: addCartLineItem parameters: - name: cartId @@ -156,12 +164,13 @@ paths: description: |- Updates a *Cart* line item. Updates an existing, single line item quantity and the price of custom items in a cart. - If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/api-reference/storefront/carts/cart-items/deletecartlineitem) and the [Add Cart Line Items](/api-reference/storefront/carts/cart-items/addcartlineitem) endpoints. + If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/docs/rest-storefront/carts/cart-items#delete-cart-line-item) and the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoints. + - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. + operationId: updateCartLineItem parameters: - name: cartId @@ -232,7 +241,6 @@ paths: Removing the last `line_item` in the *Cart* deletes the *Cart*. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -282,7 +290,6 @@ paths: Promotions and gift certificates that don't apply to the new currency will be removed from your cart. You cannot update the cart currency if the draft order cart or the cart contains a manual discount. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -353,7 +360,6 @@ components: responseCartDiscounts: title: responseCartDiscounts type: array - x-examples: {} items: type: object properties: @@ -525,7 +531,6 @@ components: required: - lineItems - giftCertificates - x-examples: {} type: object description: Cart object used in add items requests. x-internal: false @@ -553,7 +558,6 @@ components: - lineItem - giftCertificates title: line & gift certificate items - x-examples: {} description: '' type: object x-internal: false @@ -626,7 +630,7 @@ components: description: |- **Read Only** - This will return in the Cart Response if the Cart was created using the [Server to Server Cart API](/api-reference/cart-checkout/server-server-cart-api). A custom item can only be added to a cart using the Server to Server API. + This will return in the Cart Response if the Cart was created using the [Store Management Carts API](/docs/rest-management/carts). A custom item can only be added to a cart using the Server to Server API. x-internal: false responseCartLineItemsDigitalItems: title: Item Digital @@ -945,31 +949,32 @@ components: type: number optionSelections: type: array + description: Array of `OptionSelection` objects. items: - description: Array of `OptionSelection` objects. - x-examples: {} - anyOf: - - properties: - optionId: - type: number - description: 'ID of the option, same as the `nameId`.' - example: 10 - optionValue: - description: 'Value of the option, same as the `valueId`.' - oneOf: - - type: string - example: Small - - type: number - example: 127 - - type: object - properties: - month: - type: string - day: - type: string - year: - type: string - type: object + oneOf: + - type: object + properties: + optionId: + type: number + description: 'ID of the option, same as the `nameId`.' + example: 10 + - type: object + properties: + optionValue: + description: 'Value of the option, same as the `valueId`.' + oneOf: + - type: string + example: Small + - type: number + example: 127 + - type: object + properties: + month: + type: string + day: + type: string + year: + type: string required: - productId - quantity @@ -1618,7 +1623,4 @@ components: - lineItems.digitalItems.options - 'lineItems.digitalItems.options,lineItems.physicalItems.options' examples: {} -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 5ae468d4b..27152a0ae 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -12,18 +12,23 @@ info: url: 'https://www.bigcommerce.com' email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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: Cart Items - - name: Cart Redirect URLs - - name: Carts Settings + - name: Carts (Single) + - name: Items + - name: Redirects + - name: Settings + - name: Metafields paths: - '/stores/{store_hash}/v3/carts': + '/carts': parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/Accept' post: description: |- @@ -44,7 +49,7 @@ paths: * A cart can be created by adding an existing **catalog item** or a **custom item**. * Carts are valid for **30 days** from the **last modification** (this includes creating the cart or editing the cart). * If a product has modifiers, use the `option_selections` array to describe the **modifier** selection(s). - * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/api-reference/store-management/catalog/product-variant-option-values/getoptionvaluebyid), [modifier value](/api-reference/store-management/catalog/product-modifier-values/getmodifiervaluebyid), or a combination of both. + * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/docs/rest-management/catalog/product-variant-option-values), [modifier value](/docs/rest-management/catalog/product-modifier-values), or a combination of both. * Redirect URLs can only be generated from carts that were created using the **Server-to-Server Carts API**. * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront configuration. * To restore a cart that was created by a shopper or through the Storefront Cart API, first recreate the cart using the Server to Server Cart API. @@ -253,15 +258,14 @@ paths: value: Small valueId: 125 tags: - - Cart + - Carts (Single) responses: '201': $ref: '#/components/responses/CartResponse' summary: Create a Cart operationId: createACart - '/stores/{store_hash}/v3/carts/{cartId}/items': + '/carts/{cartId}/items': parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/cartId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ContentType' @@ -296,49 +300,45 @@ paths: application/json: schema: $ref: '#/components/schemas/Cart_Line_Item_Update_Post' + examples: + Example 1: + value: + line_items: + - quantity: 2 + product_id: 77 + list_price: 12.5 + option_selections: + - option_id: 8 + option_value: 'Yes' + gift_certificates: + - name: Happy Birthday + theme: Birthday + amount: 50 + quantity: 1 + sender: + name: Jane Does + email: janedoe@example.com + recipient: + name: Jane Does + email: janedoe@example.com + message: Happy Birthday Jane! + 'Example 2: Custom Item': + value: + custom_items: + - sku: abc-123 + name: Custom Product + quantity: 1 + list_price: 10 required: true - x-examples: - application/json: - line_items: - - quantity: 2 - product_id: 77 - list_price: 12.5 - option_selections: - - option_id: 8 - option_value: 'Yes' - gift_certificates: - - name: Happy Birthday - theme: Birthday - amount: 50 - quantity: 1 - sender: - name: Jane Does - email: janedoe@example.com - recipient: - name: Jane Does - email: janedoe@example.com - message: Happy Birthday Jane! - Custom Item: |- - { - "custom_items": [ - { - "sku": "abc-123", - "name": "Custom Product", - "quantity": 1, - "list_price": 10 - } - ] - } tags: - - Cart Items + - Items responses: '201': $ref: '#/components/responses/CartResponse' summary: Add Cart Line Items operationId: addCartLineItem - '/stores/{store_hash}/v3/carts/{cartId}/redirect_urls': + '/carts/{cartId}/redirect_urls': parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/cartId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ContentType' @@ -356,15 +356,14 @@ paths: * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API and the Storefront Cart API. * To restore a cart that was created on the storefront, either by a shopper or the Storefront Cart API, first recreate the cart using the Server to Server Cart API. tags: - - Cart Redirect URLs + - Redirects responses: '201': $ref: '#/components/responses/CartRedirectResponse' summary: Create Cart Redirect URL operationId: createCartRedirectURL - '/stores/{store_hash}/v3/carts/{cartId}/items/{itemId}': - parameters: - - $ref: '#/components/parameters/storeHash' + '/carts/{cartId}/items/{itemId}': + parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/cartId' - name: itemId @@ -410,14 +409,8 @@ paths: schema: $ref: '#/components/schemas/Cart_Line_Item_Update_Put' required: true - x-examples: - application/json: - line_item: - quantity: 2 - product_id: 152 - list_price: 12.5 tags: - - Cart Items + - Items responses: '200': $ref: '#/components/responses/CartResponse' @@ -446,7 +439,7 @@ paths: - line_items.digital_items.options - promotions.banners tags: - - Cart Items + - Items responses: '200': description: 'NOTE: Discounted line items are re-evaluated on cart actions and may be automatically added back to your cart with a new line item ID to satisfy promotional requirements.' @@ -524,9 +517,8 @@ paths: description: 'If the action’s result is an empty cart, the cart is automatically deleted.' summary: Delete Cart Line Item operationId: deleteCartLineItem - '/stores/{store_hash}/v3/carts/{cartId}': - parameters: - - $ref: '#/components/parameters/storeHash' + '/carts/{cartId}': + parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/cartId' get: @@ -547,7 +539,7 @@ paths: - line_items.digital_items.options - promotions.banners tags: - - Cart + - Carts (Single) responses: '200': $ref: '#/components/responses/CartResponse' @@ -583,12 +575,11 @@ paths: application/json: schema: $ref: '#/components/schemas/CartUpdatePutRequestData' + example: + customer_id: 5 required: true - x-examples: - application/json: - customer_id: 5 tags: - - Cart + - Carts (Single) responses: '201': $ref: '#/components/responses/CartResponse' @@ -597,22 +588,21 @@ paths: delete: description: Deletes a *Cart*. Once a *Cart* has been deleted it can’t be recovered. tags: - - Cart + - Carts (Single) responses: '204': description: '' summary: Delete a Cart operationId: deleteACart - '/stores/{store_hash}/v3/carts/settings': - parameters: - - $ref: '#/components/parameters/storeHash' + '/carts/settings': + parameters: - $ref: '#/components/parameters/Accept' get: summary: Get Global Cart Settings description: Returns the global cart settings of a store. operationId: getGlobalCartSettings tags: - - Carts Settings + - Settings responses: '200': description: OK @@ -629,10 +619,10 @@ paths: put: summary: Update Global Cart Settings description: Update the global cart settings of a store. - tags: - - Carts Settings parameters: - $ref: '#/components/parameters/ContentType' + tags: + - Settings requestBody: required: true content: @@ -653,12 +643,6 @@ paths: schema: description: '' type: object - x-examples: - example-1: - status: 400 - title: Input is invalid - type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' - detail: Syntax error properties: status: type: number @@ -671,6 +655,11 @@ paths: detail: type: string minLength: 1 + example: + status: 400 + title: Input is invalid + type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' + detail: Syntax error '401': description: Unauthorized content: @@ -684,9 +673,8 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' operationId: updateGlobalCartSettings - '/stores/{store_hash}/v3/carts/settings/channels/{channel_id}': + '/carts/settings/channels/{channel_id}': parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/Accept' - name: channel_id description: The channel ID of the settings overrides. @@ -698,7 +686,7 @@ paths: summary: Get Channel Cart Settings description: Returns the per-channel overrides for the cart settings of a store. tags: - - Carts Settings + - Settings responses: '200': description: OK @@ -717,7 +705,7 @@ paths: summary: Update Channel Cart Settings description: Update the per-channel overrides for the cart settings of a store. tags: - - Carts Settings + - Settings parameters: - $ref: '#/components/parameters/ContentType' requestBody: @@ -740,12 +728,6 @@ paths: schema: description: '' type: object - x-examples: - example-1: - status: 400 - title: Input is invalid - type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' - detail: Syntax error properties: status: type: number @@ -758,6 +740,11 @@ paths: detail: type: string minLength: 1 + example: + status: 400 + title: Input is invalid + type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' + detail: Syntax error '401': description: Unauthorized content: @@ -771,10 +758,9 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' operationId: updateChannelCartSettings - '/stores/{store_hash}/v3/carts/{cart_id}/metafields': + '/carts/{cart_id}/metafields': parameters: - $ref: '#/components/parameters/cart_id' - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/Accept' get: summary: Get All Metafields @@ -851,7 +837,7 @@ paths: status: 404 title: There was no order found with ID 1010 type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' - '/stores/{store_hash}/v3/carts/{cart_id}/metafields/{metafield_id}': + '/carts/{cart_id}/metafields/{metafield_id}': get: summary: Get a Cart Metafield tags: @@ -941,7 +927,6 @@ paths: An empty response. parameters: - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/cart_id' - schema: type: integer @@ -1038,7 +1023,6 @@ components: type: object title: Cart Create Post Data x-internal: false - x-examples: {} properties: customer_id: type: integer @@ -1112,7 +1096,7 @@ components: code: type: string format: ISO-4217 - description: 'The [transactional currency](/api-docs/multi-currency/guide/introduction#multi-currency-definitions) code for the cart, formatted as an [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) string. This code is required when multi-currency is enabled. Passing a non-transactional display currency will result in a `400` error.' + description: 'The [transactional currency](/docs/rest-management/currencies#definitions) code for the cart, formatted as an [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) string. This code is required when multi-currency is enabled. Passing a non-transactional display currency will result in a `400` error.' example: usd locale: type: string @@ -1331,7 +1315,7 @@ components: code: type: string format: ISO-4217 - description: 'The [transactional currency](/api-docs/multi-currency/guide/introduction#multi-currency-definitions) code for the cart, formatted as an [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) string.' + description: 'The [transactional currency](/docs/rest-management/currencies#definitions) code for the cart, formatted as an [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) string.' example: usd tax_included: type: boolean @@ -1414,7 +1398,6 @@ components: text: description: Text of the banner. type: string - x-examples: {} Currency: type: object description: The currency. This is the same for both the cart and its subsequent checkout. @@ -2708,7 +2691,7 @@ components: data: $ref: '#/components/schemas/ChannelCartSettings' meta: - type: object + $ref: '#/components/schemas/metaCollection_open' x-tags: - Models GlobalCartSettingsRequest: @@ -2726,7 +2709,7 @@ components: data: $ref: '#/components/schemas/CartSettings' meta: - type: object + $ref: '#/components/schemas/metaCollection_open' x-tags: - Models ErrorResponse: @@ -2746,8 +2729,6 @@ components: - Models LineItemsGet: title: LineItemsGet - x-stoplight: - id: gpu4xqhyg9dtj type: object properties: physical_items: @@ -2766,7 +2747,6 @@ components: type: array items: $ref: '#/components/schemas/ItemCustomGet' - x-examples: {} description: '`GET`' ItemPhysicalGet: allOf: @@ -2980,13 +2960,12 @@ components: description: | Response payload for the BigCommerce API. x-internal: false - x-examples: {} allOf: - type: object properties: data: $ref: '#/components/schemas/Metafield' - - $ref: '#/components/schemas/Meta' + - $ref: '#/components/schemas/CollectionMeta' Metafield: description: | Allows app partners to write custom data to various resources in the API. @@ -3008,7 +2987,6 @@ components: description: Date and time when the metafield was last updated. example: '2022-06-16T18:39:00+00:00' x-internal: false - x-examples: {} MetafieldBase: type: object description: | @@ -3086,7 +3064,6 @@ components: allOf: - $ref: '#/components/schemas/MetafieldBase_Post' x-internal: false - x-examples: {} MetafieldBase_Post: type: object description: | @@ -3208,61 +3185,15 @@ components: type: string description: | Link to the next page returned in the response. + additionalProperties: true title: Collection Meta x-internal: false - Meta: + metaCollection_open: + title: Response meta type: object - title: Meta - properties: - meta: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - x-internal: false + properties: {} + additionalProperties: true + description: Response metadata. responses: CartResponse: description: '' @@ -3293,7 +3224,7 @@ components: example: 'https://store.mybigcommerce.com/cart.php?embedded=1&action=loadInCheckout&id=0aa00afa-a000-00a0-00aae-aa0000f000a0&token=00aaaaa0aa0000000000a000a000f0aa0000afa00aa00afa0a000000000aa0a0' format: url meta: - type: object + $ref: '#/components/schemas/metaCollection_open' examples: example-1: value: @@ -3301,15 +3232,9 @@ components: cart_url: 'https://store.mybigcommerce.com/cart.php?action=load&id=0aa00afa-a000-00a0-00aae-aa0000f000a0&token=00aaaaa0aa0000000000a000a000f0aa0000afa00aa00afa0a000000000aa0a0' checkout_url: 'https://store.mybigcommerce.com/cart.php?action=loadInCheckout&id=1ea11efe-b111-11d1-11ee-cd1110f111b1&token=00aaaaa0aa0000000000a000a000f0aa0000afa00aa00afa0a000000000aa0a0' embedded_checkout_url: 'https://store.mybigcommerce.com/cart.php?embedded=1&action=loadInCheckout&id=0aa00afa-a000-00a0-00aae-aa0000f000a0&token=00aaaaa0aa0000000000a000a000f0aa0000afa00aa00afa0a000000000aa0a0' - meta: {} + meta: + $ref: '#/components/schemas/metaCollection_open' parameters: - storeHash: - name: store_hash - in: path - required: true - description: Permanent ID of the BigCommerce store. - schema: - type: string Accept: name: Accept in: header @@ -3407,29 +3332,27 @@ components: - desc securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - |UI Name |Permission |Parameter | - |-|-|-| + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| |Carts|modify|`store_cart`| |Carts |read-only|`store_cart_read_only`| - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + ### Authentication header - ### Example + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information about authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index f257020fd..35541a8a5 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -2,40 +2,18 @@ openapi: '3.0.3' info: title: Catalog description: |- - The Categories API allows you to manage categories. To learn more about catalog resources see [Catalog Overview](/api-docs/store-management/catalog/catalog-overview). + The Catalog API allows you to manage products, categories, bulk pricing rules, and more. To learn more about catalog resources see [Catalog Overview](/api-docs/store-management/catalog/catalog-overview). - [Authentication](#authentication) - [Resources](#resources) - ## Authentication - Requests can be authenticated by sending an `access_token` via `X-Auth-Token` HTTP header: - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### OAuth Scopes - | UI Name | Permission | Parameter | - |----------|------------|-------------------------------| - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | - - For more information on OAuth Scopes and Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). - ## Resources ### Webhooks * [Category](/api-docs/store-management/webhooks/events#category) ### Related Endpoints - * [Catalog API](/api-reference/store-management/catalog) + * [Catalog API](/docs/rest-management/catalog) Manage channel-specific categories. @@ -49,7 +27,12 @@ info: email: support@bigcommerce.com version: '' servers: - - url: 'https://api.bigcommerce.com' + - 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: @@ -83,10 +66,9 @@ tags: - name: Products Category Assignments - name: Summary - name: Variants - - name: Catalog - name: Category Trees paths: - '/stores/{store_hash}/v3/catalog/products': + '/catalog/products': get: tags: - Products @@ -94,11 +76,6 @@ paths: description: Returns a list of **Products**. Optional filter parameters can be passed in. operationId: getProducts parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: | @@ -401,7 +378,7 @@ paths: type: integer - name: sku in: query - description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/api-reference/store-management/catalog/variants/getvariants). ' + description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' schema: type: string - name: 'sku:in' @@ -445,23 +422,7 @@ paths: - `base_variant_id` operationId: updateProducts parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -922,23 +883,7 @@ paths: * `POST` requests to `/products/{product_id}/videos` accept a `video` object. operationId: createProduct parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -962,7 +907,7 @@ paths: data: $ref: '#/components/schemas/product_Full' meta: - $ref: '#/components/schemas/metaCollection_Full' + $ref: '#/components/schemas/metaEmpty_Full' example-1: example: name: Smith Journal 13 @@ -1226,9 +1171,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -1253,9 +1197,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -1272,23 +1215,17 @@ paths: delete: tags: - Products - - Catalog summary: Delete Products description: |- To delete *Product* objects, you must include a filter. This prevents inadvertently deleting all *Product* objects in a store. - <!-- theme: info --> + > #### Note > The maximum number of products you can delete at one time is 250. **Example**: To delete products with the id's of 1,2 and 3, use `DELETE /v3/catalog/products?id:in=1,2,3`. operationId: deleteProducts parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: name in: query description: | @@ -1385,25 +1322,13 @@ paths: Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}': + - $ref: '#/components/parameters/Accept' + '/catalog/products/{product_id}': get: tags: - Products @@ -1411,18 +1336,6 @@ paths: description: Returns a single *Product*. Optional parameters can be passed in. operationId: getProductById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: include in: query description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' @@ -1447,18 +1360,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -1471,10 +1372,7 @@ paths: data: $ref: '#/components/schemas/product_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 174 @@ -1586,30 +1484,7 @@ paths: - base_variant_id operationId: updateProduct parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -1633,7 +1508,7 @@ paths: data: $ref: '#/components/schemas/product_Full' meta: - $ref: '#/components/schemas/metaCollection_Full' + $ref: '#/components/schemas/metaEmpty_Full' example-1: example: name: Smith Journal 13 @@ -1871,6 +1746,7 @@ paths: application/json: schema: type: object + properties: {} '207': description: |- Multi-status. The product information was updated successfully, but the inventory data failed to update. @@ -1920,9 +1796,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -1947,9 +1822,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -1969,49 +1843,14 @@ paths: summary: Delete a Product description: Deletes a *Product*. operationId: deleteProductById - parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - '/stores/{store_hash}/v3/catalog/products/{product_id}/images': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/images': get: tags: - Product Images @@ -2019,18 +1858,6 @@ paths: description: Returns a list of *Product Images*. Optional parameters can be passed in. operationId: getProductImages parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -2051,18 +1878,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -2159,30 +1974,7 @@ paths: - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. operationId: createProductImage parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -2425,10 +2217,7 @@ paths: Use the image_url when creating a product. example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -2451,6 +2240,7 @@ paths: application/json: schema: type: object + properties: {} '404': description: | The product ID does not exist. @@ -2495,16 +2285,15 @@ paths: minLength: 1 type: string description: '' - Example: example: status: 422 title: image_url must be present if uploading by url type: /api-docs/getting-started/api-status-codes x-codegen-request-body-name: productImage parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/images/{image_id}': + '/catalog/products/{product_id}/images/{image_id}': get: tags: - Product Images @@ -2512,13 +2301,6 @@ paths: description: Returns a single *Product Image*. Optional parameters can be passed in. operationId: getProductImageById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: image_id in: path description: | @@ -2526,11 +2308,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -2541,18 +2319,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -2565,10 +2331,7 @@ paths: data: $ref: '#/components/schemas/productImage_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -2618,13 +2381,7 @@ paths: - For file uploads, send a POST request using the `multipart/form-data` media type operationId: updateProductImage parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: image_id in: path description: | @@ -2632,23 +2389,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -2761,10 +2501,7 @@ paths: Use the image_url when creating a product. example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -2787,12 +2524,14 @@ paths: application/json: schema: type: object + properties: {} '400': description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. content: application/json: schema: type: object + properties: {} '404': description: | The resource was not found. @@ -2822,13 +2561,6 @@ paths: description: Deletes a *Product Image*. operationId: deleteProductImage parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: image_id in: path description: | @@ -2836,32 +2568,15 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ImageIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/videos': + '/catalog/products/{product_id}/videos': get: tags: - Product Videos @@ -2869,18 +2584,6 @@ paths: description: Returns a list of *Product Videos*. Optional parameters can be passed in. operationId: getProductVideos parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -2891,18 +2594,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -2995,30 +2686,7 @@ paths: Videos must be loaded through YouTube at this time. operationId: createProductVideo parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -3127,10 +2795,7 @@ paths: description: | Length of the video. This will be filled in according to data on a host site. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -3162,9 +2827,9 @@ paths: description: Error payload for the BigCommerce API. x-codegen-request-body-name: productVideo parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/videos/{id}': + '/catalog/products/{product_id}/videos/{id}': get: tags: - Product Videos @@ -3172,24 +2837,13 @@ paths: description: Returns a single *Product Video*. Optional parameters can be passed in. operationId: getProductVideoById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: id in: path description: The BigCommerce ID of the `Video` required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -3200,18 +2854,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -3224,10 +2866,7 @@ paths: data: $ref: '#/components/schemas/productVideo_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -3271,36 +2910,13 @@ paths: * id operationId: updateProductVideo parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: id in: path description: The BigCommerce ID of the `Video` required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -3404,10 +3020,7 @@ paths: description: | Length of the video. This will be filled in according to data on a host site. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -3445,45 +3058,21 @@ paths: description: Deletes a *Product Video*. operationId: deleteProductVideo parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: id in: path description: The BigCommerce ID of the `Video` required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: ./settings.v3.yml#/components/parameters/store_hash + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/VideoIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/variants': + '/catalog/products/{product_id}/variants': get: tags: - Product Variants @@ -3491,18 +3080,6 @@ paths: description: Returns a list of product *Variants*. Optional parameters can be passed in. operationId: getVariantsByProductId parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -3523,18 +3100,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -3693,21 +3258,10 @@ paths: * 600 SKUs per product limit. * 255 characters SKU length limit. - Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/api-reference/catalog/catalog-api/products/createproduct) during the initial product creation. + Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. operationId: createVariant parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -3726,7 +3280,7 @@ paths: data: $ref: '#/components/schemas/productVariant_Full' meta: - $ref: '#/components/schemas/metaCollection_Full' + $ref: '#/components/schemas/metaEmpty_Full' examples: example-1: value: @@ -3835,9 +3389,9 @@ paths: description: Error payload for the BigCommerce API. x-codegen-request-body-name: Variant parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/variants/{variant_id}': + '/catalog/products/{product_id}/variants/{variant_id}': get: tags: - Product Variants @@ -3845,13 +3399,6 @@ paths: description: Returns a single product *Variant*. Optional parameters can be passed in. operationId: getVariantById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: variant_id in: path description: | @@ -3859,11 +3406,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -3874,18 +3417,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -3898,10 +3429,7 @@ paths: data: $ref: '#/components/schemas/productVariant_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 384 @@ -3964,13 +3492,7 @@ paths: description: Updates a product *Variant*. operationId: updateVariant parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: variant_id in: path description: | @@ -3978,23 +3500,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -4013,7 +3518,7 @@ paths: data: $ref: '#/components/schemas/productVariant_Full' meta: - $ref: '#/components/schemas/metaCollection_Full' + $ref: '#/components/schemas/metaEmpty_Full' example: data: bin_picking_number: '0' @@ -4088,13 +3593,6 @@ paths: description: Deletes a product *Variant*. operationId: deleteVariantById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: variant_id in: path description: | @@ -4102,32 +3600,15 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/VariantIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/variants/{variant_id}/metafields': + '/catalog/products/{product_id}/variants/{variant_id}/metafields': get: tags: - Product Variants Metafields @@ -4135,13 +3616,6 @@ paths: description: Returns a list of product variant *Metafields*. Optional parameters can be passed in. operationId: getVariantMetafieldsByProductIdAndVariantId parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: variant_id in: path description: | @@ -4149,11 +3623,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -4185,18 +3655,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -4252,13 +3710,7 @@ paths: **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. operationId: createVariantMetafield parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: variant_id in: path description: | @@ -4266,23 +3718,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -4301,10 +3736,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -4330,9 +3762,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -4357,9 +3788,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -4374,10 +3804,10 @@ paths: type: string x-codegen-request-body-name: Metafield parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/VariantIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': + '/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': get: tags: - Product Variants Metafields @@ -4392,13 +3822,6 @@ paths: required: true schema: type: integer - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: variant_id in: path description: | @@ -4406,11 +3829,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -4421,18 +3840,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -4445,10 +3852,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 8 @@ -4490,6 +3894,7 @@ paths: description: "Updates a product variant *Metafield*.\n\n**Required Fields:**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " operationId: updateVariantMetafield parameters: + - $ref: '#/components/parameters/ContentType' - name: metafield_id in: path description: | @@ -4497,13 +3902,6 @@ paths: required: true schema: type: integer - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: variant_id in: path description: | @@ -4511,23 +3909,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -4546,10 +3927,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 8 @@ -4599,13 +3977,6 @@ paths: required: true schema: type: integer - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: variant_id in: path description: | @@ -4613,33 +3984,16 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/VariantIdParam' - $ref: '#/components/parameters/MetafieldIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/variants/{variant_id}/image': + '/catalog/products/{product_id}/variants/{variant_id}/image': post: tags: - Product Variants @@ -4654,18 +4008,7 @@ paths: - image_url: Any publicly available URL operationId: createVariantImage parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: variant_id in: path description: | @@ -4677,7 +4020,6 @@ paths: content: application/json: schema: - title: Resource Image type: object properties: image_url: @@ -4687,7 +4029,6 @@ paths: description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' multipart/form-data: schema: - title: Resource Image type: object properties: image_url: @@ -4715,10 +4056,7 @@ paths: A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: |- Image Response returns for: * Create Variant Image @@ -4735,6 +4073,7 @@ paths: application/json: schema: type: object + properties: {} '404': description: | The resource was not found. @@ -4768,9 +4107,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -4794,9 +4132,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -4811,10 +4148,10 @@ paths: type: string x-codegen-request-body-name: body parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/VariantIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/options': + '/catalog/products/{product_id}/options': get: tags: - Product Variant Options @@ -4822,18 +4159,6 @@ paths: description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. ' operationId: getOptions parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -4914,33 +4239,10 @@ paths: * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. - * If more than one variant needs to be created use the [Create a Product](/api-reference/catalog/catalog-api/products/createproduct) endpoint. + * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. operationId: createOption parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -5167,6 +4469,7 @@ paths: - post value_data: type: object + properties: {} description: | Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. required: @@ -5194,9 +4497,11 @@ paths: properties: data: title: Option + type: object allOf: - title: Option Base description: Common Option properties. + type: object properties: id: type: integer @@ -5413,6 +4718,7 @@ paths: - post value_data: type: object + properties: {} description: | Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. required: @@ -5427,16 +4733,17 @@ paths: image_url: type: string description: Publicly available image url - - properties: + - type: object + properties: name: type: string description: | The unique option name, auto-generated from the display name, a timestamp, and the product ID. example: Add-a-$5-Donation1535042499-187 - type: object meta: title: Meta type: object + properties: {} description: Empty meta object; may be used later. examples: example-1: @@ -5535,9 +4842,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -5562,9 +4868,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -5579,9 +4884,9 @@ paths: type: string x-codegen-request-body-name: Option parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/options/{option_id}': + '/catalog/products/{product_id}/options/{option_id}': get: tags: - Product Variant Options @@ -5589,13 +4894,6 @@ paths: description: Returns a single *Variant Option*. Optional parameters can be passed in. operationId: getOptionById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: option_id in: path description: | @@ -5603,11 +4901,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -5618,18 +4912,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -5642,10 +4924,7 @@ paths: data: $ref: '#/components/schemas/productOption_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '404': description: | The resource was not found. @@ -5678,13 +4957,7 @@ paths: * id operationId: updateOption parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: option_id in: path description: | @@ -5692,23 +4965,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -6218,10 +5474,7 @@ paths: The unique option name, auto-generated from the display name, a timestamp, and the product ID. example: Add-a-$5-Donation1535042499-187 meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 220 @@ -6273,9 +5526,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -6300,9 +5552,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -6323,13 +5574,6 @@ paths: description: Deletes a *Variant Option*. operationId: deleteOptionById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: option_id in: path description: | @@ -6337,32 +5581,15 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/OptionIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/options/{option_id}/values': + '/catalog/products/{product_id}/options/{option_id}/values': get: tags: - Product Variant Option Values @@ -6370,13 +5597,6 @@ paths: description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in. operationId: getOptionValues parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: option_id in: path description: | @@ -6384,11 +5604,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -6399,18 +5615,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -6536,13 +5740,7 @@ paths: * 250 option values per option limit. operationId: createOptionValue parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: option_id in: path description: | @@ -6550,23 +5748,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -6662,10 +5843,7 @@ paths: description: | The unique numeric ID of the value; increments sequentially. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 44 @@ -6687,9 +5865,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -6704,10 +5881,10 @@ paths: type: string x-codegen-request-body-name: OptionValue parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/OptionIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/options/{option_id}/values/{value_id}': + '/catalog/products/{product_id}/options/{option_id}/values/{value_id}': get: tags: - Product Variant Option Values @@ -6715,13 +5892,6 @@ paths: description: Returns a single *Variant Option Value*. Optional parameters can be passed in. operationId: getOptionValueById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: option_id in: path description: | @@ -6736,11 +5906,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -6805,10 +5971,7 @@ paths: description: | The unique numeric ID of the value; increments sequentially. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 44 @@ -6850,13 +6013,7 @@ paths: * id operationId: updateOptionValue parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: option_id in: path description: | @@ -6871,23 +6028,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: description: | A BigCommerce `OptionValue` object. @@ -6993,10 +6133,7 @@ paths: description: | The unique numeric ID of the value; increments sequentially. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 44 @@ -7021,9 +6158,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -7044,13 +6180,6 @@ paths: description: Deletes a *Variant Option Value*. operationId: deleteOptionValueById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: option_id in: path description: | @@ -7065,33 +6194,16 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/OptionIdParam' - $ref: '#/components/parameters/ValueIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/modifiers': + '/catalog/products/{product_id}/modifiers': get: tags: - Product Modifiers @@ -7099,18 +6211,6 @@ paths: description: Returns a list of all *Product Modifiers*. Optional parameters can be passed in. operationId: getModifiers parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -7131,18 +6231,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -7227,30 +6315,7 @@ paths: It takes two separate requests to create a new checkbox modifier with option values. Perform a request to create a modifier, then perform a second request to update option values. operationId: createModifier parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -7872,10 +6937,7 @@ paths: The name of the option shown on the storefront. example: Donation meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '409': description: | The `Modifier` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. @@ -7888,9 +6950,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -7915,9 +6976,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -7932,9 +6992,9 @@ paths: type: string x-codegen-request-body-name: Modifier parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/modifiers/{modifier_id}': + '/catalog/products/{product_id}/modifiers/{modifier_id}': get: tags: - Product Modifiers @@ -7942,13 +7002,6 @@ paths: description: Returns a single *Product Modifier*. Optional parameters can be passed in. operationId: getModifierById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: modifier_id in: path description: | @@ -7956,11 +7009,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -7971,18 +7020,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -7995,10 +7032,7 @@ paths: data: $ref: '#/components/schemas/productModifier_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '404': description: | The resource was not found. @@ -8027,37 +7061,14 @@ paths: description: Updates a *Product Modifier*. operationId: updateModifier parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: modifier_id + - $ref: '#/components/parameters/ContentType' + - name: modifier_id in: path description: | The ID of the `Modifier`. required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -8566,10 +7577,7 @@ paths: The name of the option shown on the storefront. example: Donation meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '409': description: | The `Modifier` was in conflict with another modifier or option. This is the result of duplicate unique fields, such as `name`. @@ -8582,9 +7590,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -8609,9 +7616,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -8632,13 +7638,6 @@ paths: description: Deletes a *Product Modifier*. operationId: deleteModifierById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: modifier_id in: path description: | @@ -8646,32 +7645,15 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ModifierIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/modifiers/{modifier_id}/values': + '/catalog/products/{product_id}/modifiers/{modifier_id}/values': get: tags: - Product Modifier Values @@ -8679,13 +7661,6 @@ paths: description: Returns a list of all product *Modifier Values*. Optional parameters can be passed in. operationId: getModifierValues parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: modifier_id in: path description: | @@ -8693,11 +7668,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -8708,18 +7679,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -8802,13 +7761,7 @@ paths: * id operationId: createModifierValue parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: modifier_id in: path description: | @@ -8816,23 +7769,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -9047,10 +7983,7 @@ paths: description: | The unique numeric ID of the value; increments sequentially. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 190 @@ -9081,9 +8014,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -9098,10 +8030,10 @@ paths: type: string x-codegen-request-body-name: ModifierValue parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ModifierIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': get: tags: - Product Modifier Values @@ -9109,13 +8041,6 @@ paths: description: Returns a single *Modifier Value*. Optional parameters can be passed in. operationId: getModifierValueById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: modifier_id in: path description: | @@ -9130,11 +8055,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -9145,18 +8066,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -9169,10 +8078,7 @@ paths: data: $ref: '#/components/schemas/productModifierOptionValue_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 190 @@ -9228,13 +8134,7 @@ paths: * id operationId: updateModifierValue parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: modifier_id in: path description: | @@ -9249,23 +8149,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -9488,10 +8371,7 @@ paths: description: | The unique numeric ID of the value; increments sequentially. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 190 @@ -9522,9 +8402,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -9545,13 +8424,6 @@ paths: description: Deletes a *Modifier Value*. operationId: deleteModifierValueById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: modifier_id in: path description: | @@ -9566,33 +8438,16 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ModifierIdParam' - $ref: '#/components/parameters/ValueIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': post: tags: - Product Modifier Images @@ -9606,13 +8461,7 @@ paths: - image_file: Form posts are the only accepted upload option. operationId: createModifierImage parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: modifier_id in: path description: | @@ -9627,27 +8476,11 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: multipart/form-data: schema: + type: object properties: image_file: type: string @@ -9671,10 +8504,7 @@ paths: A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: |- Image Response returns for: * Create Variant Image @@ -9691,6 +8521,7 @@ paths: application/json: schema: type: object + properties: {} '404': description: | The resource was not found. @@ -9724,9 +8555,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -9740,11 +8570,11 @@ paths: type: type: string parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ModifierIdParam' - $ref: '#/components/parameters/ValueIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/complex-rules': + '/catalog/products/{product_id}/complex-rules': get: tags: - Product Complex Rules @@ -9752,18 +8582,6 @@ paths: description: Returns a list of all product *Complex Rules*. Optional parameters may be passed in. operationId: getComplexRules parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -9774,18 +8592,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -9882,30 +8688,7 @@ paths: - id operationId: createComplexRule parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -10195,10 +8978,7 @@ paths: description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' description: Common ComplexRule properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '409': description: | The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. @@ -10211,9 +8991,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -10238,9 +9017,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -10255,9 +9033,9 @@ paths: type: string x-codegen-request-body-name: ComplexRule parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/complex-rules/{complex_rule_id}': + '/catalog/products/{product_id}/complex-rules/{complex_rule_id}': get: tags: - Product Complex Rules @@ -10265,13 +9043,6 @@ paths: description: Returns a single *Complex Rule*. Optional parameters can be passed in. operationId: getComplexRuleById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: complex_rule_id in: path description: | @@ -10279,11 +9050,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -10294,18 +9061,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -10448,10 +9203,7 @@ paths: description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' description: Common ComplexRule properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '404': description: | The resource was not found. @@ -10491,13 +9243,7 @@ paths: - id operationId: updateComplexRule parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: complex_rule_id in: path description: | @@ -10505,11 +9251,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + requestBody: content: application/json: @@ -10797,10 +9539,7 @@ paths: description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' description: Common ComplexRule properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '409': description: | The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. @@ -10813,9 +9552,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -10840,9 +9578,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -10863,46 +9600,22 @@ paths: description: Deletes a product *Complex Rule*. operationId: deleteComplexRuleById parameters: - - name: product_id + - name: complex_rule_id in: path description: | - The ID of the `Product` to which the resource belongs. + The ID of the `ComplexRule`. required: true schema: type: integer - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ComplexRuleIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/custom-fields': + '/catalog/products/{product_id}/custom-fields': get: tags: - Product Custom Fields @@ -10910,18 +9623,6 @@ paths: description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. operationId: getCustomFields parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -10942,18 +9643,6 @@ paths: description: Controls the number of items per page in a limited (paginated) list of products. schema: type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -11034,30 +9723,7 @@ paths: - 255 characters per custom field limit. operationId: createCustomField parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -11130,10 +9796,7 @@ paths: - post description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: name: Release Year @@ -11173,9 +9836,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -11190,9 +9852,9 @@ paths: type: string x-codegen-request-body-name: CustomField parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/custom-fields/{custom_field_id}': + '/catalog/products/{product_id}/custom-fields/{custom_field_id}': get: tags: - Product Custom Fields @@ -11200,13 +9862,6 @@ paths: description: Returns a single *Custom Field*. Optional parameters can be passed in. operationId: getCustomFieldById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: custom_field_id in: path description: | @@ -11214,11 +9869,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -11229,18 +9880,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -11252,10 +9891,7 @@ paths: data: $ref: '#/components/schemas/productCustomField_Base' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: name: Release Year @@ -11297,13 +9933,7 @@ paths: - id operationId: updateCustomField parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: custom_field_id in: path description: | @@ -11311,23 +9941,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -11407,10 +10020,7 @@ paths: - post description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: name: Release Year @@ -11450,9 +10060,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -11473,13 +10082,6 @@ paths: description: Deletes a product *Custom Field*. operationId: deleteCustomFieldById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: custom_field_id in: path description: | @@ -11487,23 +10089,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' @@ -11530,10 +10115,10 @@ paths: type: string description: Error payload for the BigCommerce API. parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/CustomFieldIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/bulk-pricing-rules': + '/catalog/products/{product_id}/bulk-pricing-rules': get: tags: - Product Bulk Pricing Rules @@ -11541,18 +10126,6 @@ paths: description: Returns a list of *Bulk Pricing Rules*. Optional parameters can be passed in. operationId: getBulkPricingRules parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -11563,18 +10136,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -11670,18 +10231,7 @@ paths: - 50 bulk pricing rule per product limit. operationId: createBulkPricingRule parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -11692,18 +10242,6 @@ paths: description: Controls the number of items per page in a limited (paginated) list of products. schema: type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -11732,6 +10270,7 @@ paths: meta: title: Meta type: object + properties: {} description: Empty meta object; may be used later. example: data: @@ -11774,9 +10313,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -11801,9 +10339,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -11818,9 +10355,9 @@ paths: type: string x-codegen-request-body-name: BulkPricingRule parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': + '/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': get: tags: - Product Bulk Pricing Rules @@ -11828,13 +10365,6 @@ paths: description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. operationId: getBulkPricingRuleById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: bulk_pricing_rule_id in: path description: | @@ -11842,11 +10372,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -11857,18 +10383,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -11889,10 +10403,7 @@ paths: - id - $ref: '#/components/schemas/bulkPricingRule_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 83 @@ -11936,13 +10447,7 @@ paths: - id operationId: updateBulkPricingRule parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: bulk_pricing_rule_id in: path description: | @@ -11950,23 +10455,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -12040,10 +10528,7 @@ paths: Required in /POST. description: Common BulkPricingRule properties meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 83 @@ -12085,9 +10570,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -12112,9 +10596,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -12135,13 +10618,6 @@ paths: description: Deletes a *Bulk Pricing Rule*. operationId: deleteBulkPricingRuleById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: bulk_pricing_rule_id in: path description: | @@ -12149,23 +10625,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' @@ -12192,10 +10651,10 @@ paths: type: string description: Error payload for the BigCommerce API. parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/BulkPricingRuleIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/metafields': + '/catalog/products/{product_id}/metafields': get: tags: - Product Metafields @@ -12203,18 +10662,6 @@ paths: description: Returns a list of *Product Metafields*. Optional parameters can be passed in. operationId: getProductMetafieldsByProductId parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Specifies the page number in a limited (paginated) list of products. @@ -12246,18 +10693,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -12344,30 +10779,7 @@ paths: **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. operationId: createProductMetafield parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -12386,10 +10798,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 8 @@ -12415,18 +10824,17 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: type: integer - description: | + description: |- The HTTP status code. title: type: string - description: | + description: |- The error title describing the particular error. type: type: string @@ -12442,9 +10850,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -12458,9 +10865,9 @@ paths: type: type: string parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/metafields/{metafield_id}': + '/catalog/products/{product_id}/metafields/{metafield_id}': get: tags: - Product Metafields @@ -12475,18 +10882,7 @@ paths: required: true schema: type: integer - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -12497,18 +10893,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -12521,10 +10905,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -12566,6 +10947,7 @@ paths: description: "Updates a *Product Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified using the API account that created the metafield:\n\t* `namespace`\n\t* `key`\n\t* `permission_set`\n\t* `value`\n\n**Usage Notes**\n* Attempting to modify the `namespace`, `key`, `permission_set`, or `value` field using an API account different from the one used to create those metafields will result in a `403` error message. " operationId: updateProductMetafield parameters: + - $ref: '#/components/parameters/ContentType' - name: metafield_id in: path description: | @@ -12573,30 +10955,6 @@ paths: required: true schema: type: integer - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -12615,10 +10973,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -12668,43 +11023,15 @@ paths: required: true schema: type: integer - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/MetafieldIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/reviews': + '/catalog/products/{product_id}/reviews': get: tags: - Product Reviews @@ -12712,18 +11039,6 @@ paths: description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. operationId: getProductReviews parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -12744,18 +11059,6 @@ paths: description: Controls the number of items per page in a limited (paginated) list of products. schema: type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: status in: query description: 'Filter items by status. `1` for approved, `0` for pending.' @@ -12877,30 +11180,7 @@ paths: * id operationId: createProductReview parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -13020,10 +11300,7 @@ paths: Date the product review was modified. format: date-time meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -13063,9 +11340,9 @@ paths: description: Error payload for the BigCommerce API. x-codegen-request-body-name: productReview parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - '/stores/{store_hash}/v3/catalog/products/{product_id}/reviews/{review_id}': + '/catalog/products/{product_id}/reviews/{review_id}': get: tags: - Product Reviews @@ -13073,13 +11350,6 @@ paths: description: Returns a single *Product Review*. Optional parameters maybe passed in. operationId: getProductReviewById parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: review_id in: path description: | @@ -13087,11 +11357,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -13102,18 +11368,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -13183,10 +11437,7 @@ paths: Date the product review was modified. format: date-time meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -13238,37 +11489,14 @@ paths: * id operationId: updateProductReview parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' - name: review_id in: path description: | The ID of the `review` that is being operated on. required: true schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + type: integer requestBody: description: | A BigCommerce `ProductReview` object. @@ -13390,10 +11618,7 @@ paths: Date the product review was modified. format: date-time meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: | Response payload for the BigCommerce API. example: @@ -13439,13 +11664,6 @@ paths: description: Deletes a *Product Review*. operationId: deleteProductReview parameters: - - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - name: review_id in: path description: | @@ -13453,32 +11671,15 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ReviewIdParam' - '/stores/{store_hash}/v3/catalog/categories': + '/catalog/categories': get: tags: - Category @@ -13486,11 +11687,6 @@ paths: description: Returns a list of *Categories*. Optional filter parameters can be passed in. operationId: getCategories parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: | @@ -13648,18 +11844,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -13798,26 +11982,10 @@ paths: tags: - Category summary: Create a Category - description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/api-reference/store-management/catalog/categories-batch/createcategories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." + description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." operationId: createCategory parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -13956,12 +12124,13 @@ paths: data: $ref: '#/components/schemas/category_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - '207': - $ref: '#/components/responses/General207Status' + $ref: '#/components/schemas/metaEmpty_Full' + '207': + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' '409': description: | The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. @@ -13974,9 +12143,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -14001,9 +12169,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -14030,11 +12197,6 @@ paths: - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a category. operationId: deleteCategories parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: Filter items by id. @@ -14171,25 +12333,13 @@ paths: type: array items: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/categories/{category_id}': + - $ref: '#/components/parameters/Accept' + '/catalog/categories/{category_id}': get: tags: - Category @@ -14204,11 +12354,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -14231,10 +12377,7 @@ paths: data: $ref: '#/components/schemas/category_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' '404': description: | The resource was not found. @@ -14270,6 +12413,7 @@ paths: - id operationId: updateCategory parameters: + - $ref: '#/components/parameters/ContentType' - name: category_id in: path description: | @@ -14277,23 +12421,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -14600,9 +12727,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -14626,9 +12752,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -14656,31 +12781,14 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/CategoryIdParam' - '/stores/{store_hash}/v3/catalog/categories/{category_id}/metafields': + '/catalog/categories/{category_id}/metafields': get: tags: - Category Metafields @@ -14695,11 +12803,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: id in: query description: | @@ -14785,18 +12889,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -14883,6 +12975,7 @@ paths: **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. operationId: createCategoryMetafield parameters: + - $ref: '#/components/parameters/ContentType' - name: category_id in: path description: | @@ -14890,23 +12983,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -14925,10 +13001,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -14954,9 +13027,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -14981,9 +13053,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -14998,9 +13069,9 @@ paths: type: string x-codegen-request-body-name: Metafield parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/CategoryIdParam' - '/stores/{store_hash}/v3/catalog/categories/{category_id}/metafields/{metafield_id}': + '/catalog/categories/{category_id}/metafields/{metafield_id}': get: tags: - Category Metafields @@ -15022,11 +13093,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -15037,18 +13104,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -15061,10 +13116,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -15105,6 +13157,7 @@ paths: description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " operationId: updateCategoryMetafield parameters: + - $ref: '#/components/parameters/ContentType' - name: metafield_id in: path description: | @@ -15119,23 +13172,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -15154,10 +13190,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -15214,32 +13247,15 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/CategoryIdParam' - $ref: '#/components/parameters/MetafieldIdParam' - '/stores/{store_hash}/v3/catalog/categories/{category_id}/image': + '/catalog/categories/{category_id}/image': post: tags: - Category Images @@ -15252,9 +13268,10 @@ paths: Only one image at a time can be created. Limit image size to 1MB. - To update a *Category Image*, use the [PUT Categories](/api-reference/catalog/catalog-api/category/updatecategory) and an `image_url`. + To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. operationId: createCategoryImage parameters: + - $ref: '#/components/parameters/ContentType' - name: category_id in: path description: | @@ -15262,27 +13279,11 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: multipart/form-data: schema: + type: object properties: image_file: type: string @@ -15301,8 +13302,7 @@ paths: image_url: type: string meta: - type: object - properties: {} + $ref: '#/components/schemas/metaEmpty_Full' example: data: image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' @@ -15313,6 +13313,7 @@ paths: application/json: schema: type: object + properties: {} '404': description: | The resource was not found. @@ -15346,9 +13347,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -15375,31 +13375,14 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/CategoryIdParam' - '/stores/{store_hash}/v3/catalog/brands': + '/catalog/brands': get: tags: - Brands @@ -15407,11 +13390,6 @@ paths: description: Returns a list of *Brands*. Optional filter parameters can be passed in. operationId: getBrands parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: | @@ -15498,18 +13476,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -15720,23 +13686,7 @@ paths: - 30,000 brands per store limit operationId: createBrand parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -15889,10 +13839,7 @@ paths: description: The custom URL for the brand on the storefront. description: Common Brand properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: |- Brand Response returns for: * Create Brand @@ -15924,9 +13871,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -15950,9 +13896,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -15969,16 +13914,10 @@ paths: delete: tags: - Brands - - Catalog summary: Delete Brands description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' operationId: deleteBrands parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: name in: query description: | @@ -15991,25 +13930,13 @@ paths: Filter items by page_title. schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/brands/{brand_id}': + - $ref: '#/components/parameters/Accept' + '/catalog/brands/{brand_id}': get: tags: - Brands @@ -16024,11 +13951,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -16039,18 +13962,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -16063,10 +13974,7 @@ paths: data: $ref: '#/components/schemas/brand_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: |- Brand Response returns for: * Create Brand @@ -16122,6 +14030,7 @@ paths: To update a *Brand Image*, send a request with an `image_url`. operationId: updateBrand parameters: + - $ref: '#/components/parameters/ContentType' - name: brand_id in: path description: | @@ -16129,23 +14038,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -16306,10 +14198,7 @@ paths: description: The custom URL for the brand on the storefront. description: Common Brand properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: |- Brand Response returns for: * Create Brand @@ -16363,9 +14252,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -16390,9 +14278,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -16420,31 +14307,14 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/BrandIdParam' - '/stores/{store_hash}/v3/catalog/brands/{brand_id}/metafields': + '/catalog/brands/{brand_id}/metafields': get: tags: - Brand Metafields @@ -16459,11 +14329,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: id in: query description: | @@ -16549,18 +14415,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -16647,6 +14501,7 @@ paths: **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. operationId: createBrandMetafield parameters: + - $ref: '#/components/parameters/ContentType' - name: brand_id in: path description: | @@ -16654,23 +14509,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -16689,10 +14527,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' examples: example-1: value: @@ -16734,9 +14569,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -16761,9 +14595,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -16778,9 +14611,9 @@ paths: type: string x-codegen-request-body-name: Metafield parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/BrandIdParam' - '/stores/{store_hash}/v3/catalog/brands/{brand_id}/metafields/{metafield_id}': + '/catalog/brands/{brand_id}/metafields/{metafield_id}': get: tags: - Brand Metafields @@ -16802,11 +14635,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -16817,18 +14646,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -16841,10 +14658,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -16886,6 +14700,7 @@ paths: description: "Updates a *Brand Metafield*.\n\n**Required Fields** \n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message.\n* The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center." operationId: updateBrandMetafield parameters: + - $ref: '#/components/parameters/ContentType' - name: metafield_id in: path description: | @@ -16900,23 +14715,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -16935,10 +14733,7 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 4 @@ -16995,32 +14790,15 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/BrandIdParam' - $ref: '#/components/parameters/MetafieldIdParam' - '/stores/{store_hash}/v3/catalog/brands/{brand_id}/image': + '/catalog/brands/{brand_id}/image': post: tags: - Brand Images @@ -17034,9 +14812,10 @@ paths: **Read-Only Fields** - id - Only one image at a time can be created. To update a *Brand Image*, use the [PUT Brands](/api-reference/catalog/catalog-api/brands/updatebrand) and an `image_url`. + Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. operationId: createBrandImage parameters: + - $ref: '#/components/parameters/ContentType' - name: brand_id in: path description: | @@ -17044,27 +14823,11 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: multipart/form-data: schema: + type: object properties: image_file: type: string @@ -17083,8 +14846,7 @@ paths: image_url: type: string meta: - type: object - properties: {} + $ref: '#/components/schemas/metaEmpty_Full' example: data: image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' @@ -17095,6 +14857,7 @@ paths: application/json: schema: type: object + properties: {} '404': description: The resource was not found. content: @@ -17126,9 +14889,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -17155,31 +14917,14 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/BrandIdParam' - '/stores/{store_hash}/v3/catalog/variants': + '/catalog/variants': get: tags: - Variants @@ -17187,11 +14932,6 @@ paths: description: Returns a list of all variants in your catalog. Optional parameters can be passed in. operationId: getVariants parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: | @@ -17224,18 +14964,6 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: product_id in: query description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' @@ -17424,28 +15152,11 @@ paths: put: tags: - Variants - - Catalog summary: Update Variants (Batch) description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' operationId: updateVariantsBatch parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -17814,15 +15525,14 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true description: | Errors during batch usage for the BigCommerce API. x-codegen-request-body-name: body parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/summary': + - $ref: '#/components/parameters/Accept' + '/catalog/summary': get: tags: - Summary @@ -17842,24 +15552,6 @@ paths: * "primary_category_id" * "primary_category_name" operationId: getCatalogSummary - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -17920,13 +15612,10 @@ paths: example: '2018-08-16T00:00:00+00:00' description: Catalog Summary object describes a lightweight summary of the catalog. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/categories/{category_id}/products/sort-order': + - $ref: '#/components/parameters/Accept' + '/catalog/categories/{category_id}/products/sort-order': get: tags: - Product Sort Order @@ -17950,23 +15639,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -17974,6 +15646,7 @@ paths: application/json: schema: type: object + properties: {} '404': description: The requested category was not found. content: @@ -17987,29 +15660,13 @@ paths: description: Updates sort order of products within a specific category. operationId: updatesortorder parameters: + - $ref: '#/components/parameters/ContentType' - name: category_id in: path description: The ID of the `Category` to which the resource belongs. required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json requestBody: content: application/json: @@ -18046,9 +15703,9 @@ paths: $ref: '#/components/schemas/error_Base' x-codegen-request-body-name: body parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/CategoryIdParam' - '/stores/{store_hash}/v3/catalog/trees/categories': + '/catalog/trees/categories': get: summary: Get All Categories description: |- @@ -18199,6 +15856,8 @@ paths: - `name` - `url` - `tree_id` or `parent_id` + parameters: + - $ref: '#/components/parameters/ContentType' tags: - Categories Batch requestBody: @@ -18245,6 +15904,8 @@ paths: Updates existing categories. To update a specific category in a tree, provide a category id. + parameters: + - $ref: '#/components/parameters/ContentType' tags: - Categories Batch requestBody: @@ -18263,7 +15924,7 @@ paths: schema: $ref: '#/components/schemas/SuccessNoContentResponse' '207': - description: Partical success + description: Partial success content: application/json: schema: @@ -18333,8 +15994,8 @@ paths: $ref: '#/components/schemas/ErrorRequest' operationId: deleteTreeCategories parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/trees': + - $ref: '#/components/parameters/Accept' + '/catalog/trees': get: summary: Get All Category Trees description: Returns a list of *Category Trees*. @@ -18389,6 +16050,8 @@ paths: **Usage Notes** * `channel_id` is required to create a *Category Tree*. + parameters: + - $ref: '#/components/parameters/ContentType' operationId: UpsertCategoryTrees requestBody: required: true @@ -18414,14 +16077,17 @@ paths: data: $ref: '#/components/schemas/Tree' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 0 name: string channels: - 0 - meta: {} + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. '422': description: The Channel was not valid. See the response for more details. content: @@ -18454,18 +16120,13 @@ paths: tags: - Category Trees parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/trees/{tree_id}/categories': + - $ref: '#/components/parameters/Accept' + '/catalog/trees/{tree_id}/categories': get: summary: Get a Category Tree description: Returns a *Category Tree*. operationId: GetCategoryTreeByTreeId parameters: - - name: tree_id - in: path - schema: - type: integer - required: true - name: depth description: Max depth for a tree of categories. in: query @@ -18484,7 +16145,7 @@ paths: items: $ref: '#/components/schemas/CategoryNode' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' example: data: - id: 0 @@ -18496,7 +16157,10 @@ paths: is_visible: true children: - string - meta: {} + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. '404': description: The tree was not found. content: @@ -18515,13 +16179,13 @@ paths: tags: - Category Trees parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' - schema: type: string name: tree_id in: path required: true - '/stores/{store_hash}/v3/catalog/products/channel-assignments': + '/catalog/products/channel-assignments': get: summary: Get Products Channel Assignments description: Returns a list of products channel assignments. @@ -18563,6 +16227,8 @@ paths: summary: Create Products Channel Assignments description: Creates products channel assignments. operationId: CreateProductsChannelAssignments + parameters: + - $ref: '#/components/parameters/ContentType' tags: - Products Channel Assignments requestBody: @@ -18607,8 +16273,8 @@ paths: schema: $ref: '#/components/schemas/beta5ErrorResponse' parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/catalog/products/category-assignments': + - $ref: '#/components/parameters/Accept' + '/catalog/products/category-assignments': get: summary: Get Products Category Assignments description: Returns a list of products category assignments. @@ -18650,6 +16316,8 @@ paths: summary: Create Products Category Assignments. description: Creates products category assignments. operationId: CreateProductsCategoryAssignments + parameters: + - $ref: '#/components/parameters/ContentType' tags: - Products Category Assignments requestBody: @@ -18694,7 +16362,7 @@ paths: schema: $ref: '#/components/schemas/beta5ErrorResponse' parameters: - - $ref: '#/components/parameters/StoreHashParam' + - $ref: '#/components/parameters/Accept' components: schemas: formData_ImageFileParam: @@ -22149,12 +19817,17 @@ components: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true description: | Errors during batch usage for the BigCommerce API. x-internal: false + metaCollection_open: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. metaCollection_Full: title: metaCollection_Full type: object @@ -22213,10 +19886,11 @@ components: description: 'Data about the response, including pagination and collection totals.' x-internal: false metaEmpty_Full: - title: metaEmpty_Full type: object - description: Empty meta object; may be used later. - x-internal: false + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. errorResponse_Full: title: errorResponse_Full allOf: @@ -22338,9 +20012,8 @@ components: title: detailedErrors description: Each key-value pair describes a failure or partial success case. type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true x-internal: false product_Full: title: product_Full @@ -23597,8 +21270,10 @@ components: - Models betametaEmpty_Full: type: object - description: Empty meta object; may be used later. - title: metaEmpty_Full + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. x-tags: - Models betaerrorResponse_Full: @@ -23670,9 +21345,8 @@ components: betadetailedErrors: type: object title: detailedErrors - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true x-tags: - Models betaerrorResponse_409: @@ -23960,8 +21634,8 @@ components: description: | Details of errors. type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true x-tags: - Models ErrorRequest: @@ -23970,9 +21644,7 @@ components: errors: type: array items: - oneOf: - - allOf: - - $ref: '#/components/schemas/ErrorBasic' + $ref: '#/components/schemas/ErrorBasic' x-tags: - Models ErrorBasic: @@ -23998,12 +21670,9 @@ components: x-tags: - Models MetaError: - type: array - items: - oneOf: - - allOf: - - $ref: '#/components/schemas/ErrorBasic' - - $ref: '#/components/schemas/ErrorAdditional' + allOf: + - $ref: '#/components/schemas/ErrorBasic' + - $ref: '#/components/schemas/ErrorAdditional' x-tags: - Models MetaData: @@ -24228,8 +21897,8 @@ components: - Models beta4DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true x-tags: - Models BaseError: @@ -24312,8 +21981,8 @@ components: - Models beta5DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true x-tags: - Models beta5ErrorResponse: @@ -24327,8 +21996,6 @@ components: - Models default_product_sort: title: default_product_sort - x-stoplight: - id: d4p6v45ywcfi3 type: object properties: default_product_sort: @@ -24347,8 +22014,6 @@ components: - price_desc name: title: name - x-stoplight: - id: pvlld3ivlue8r type: object properties: name: @@ -24361,8 +22026,6 @@ components: example: Bath description: title: description - x-stoplight: - id: nqse2ss1vdn0t type: object properties: description: @@ -24372,8 +22035,6 @@ components: example: <p>We offer a wide variety of products perfect for relaxing</p> views: title: views - x-stoplight: - id: 3k376vbqyg3n9 type: object properties: views: @@ -24383,8 +22044,6 @@ components: example: 1050 sort_order: title: sort_order - x-stoplight: - id: j0qwto4du42sa type: object properties: sort_order: @@ -24394,8 +22053,6 @@ components: example: 3 page_title: title: page_title - x-stoplight: - id: 1uez56zt56fjc type: object properties: page_title: @@ -24405,8 +22062,6 @@ components: example: Bath search_keywords: title: search_keywords - x-stoplight: - id: fw43b5e97xvkk type: object properties: search_keywords: @@ -24415,8 +22070,6 @@ components: A comma-separated list of keywords that can be used to locate the category when searching the store. meta_keywords: title: meta_keywords - x-stoplight: - id: 9ivxctwjh0f7c type: object properties: meta_keywords: @@ -24427,8 +22080,6 @@ components: type: string layout_file: title: layout_file - x-stoplight: - id: 8ro4opxprrm98 type: object properties: layout_file: @@ -24440,8 +22091,6 @@ components: example: category.html is_visible: title: is_visible - x-stoplight: - id: li0w0wuuw8r0l type: object properties: is_visible: @@ -24450,8 +22099,6 @@ components: Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. image_url: title: image_url - x-stoplight: - id: 9e3k4ybx92jno type: object properties: image_url: @@ -24462,8 +22109,6 @@ components: x-url: true meta_description: title: meta_description - x-stoplight: - id: ku7ekwocukygf type: object properties: meta_description: @@ -24474,8 +22119,6 @@ components: Custom meta description for the category page. If not defined, the store's default meta description will be used. id: title: id - x-stoplight: - id: 9tc6lltxbddww type: object properties: id: @@ -24486,8 +22129,6 @@ components: readOnly: true parent_id: title: parent_id - x-stoplight: - id: nl8sldnssgu68 type: object properties: parent_id: @@ -24594,8 +22235,7 @@ components: image_url: type: string meta: - type: object - properties: {} + $ref: '#/components/schemas/metaEmpty_Full' example: data: image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' @@ -24681,10 +22321,7 @@ components: description: The custom URL for the brand on the storefront. description: Common Brand properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' description: |- Brand Response returns for: * Create Brand @@ -24726,10 +22363,7 @@ components: data: $ref: '#/components/schemas/bulkPricingRule_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/metaEmpty_Full' example: data: id: 83 @@ -27866,8 +25500,7 @@ components: data: $ref: '#/components/schemas/product_Full' meta: - type: object - properties: {} + $ref: '#/components/schemas/metaEmpty_Full' example-1: example: name: Smith Journal 13 @@ -28920,9 +26553,7 @@ components: data: $ref: '#/components/schemas/betacategory_Full' meta: - type: object - description: Empty meta object; may be used later. - title: Meta + $ref: '#/components/schemas/metaEmpty_Full' parameters: FilterTemplateFileParam: name: template_file @@ -29408,19 +27039,21 @@ components: schema: type: integer Accept: - in: header 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 - Content-Type: + 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 + default: 'application/json' product_id: name: product_id in: query @@ -29914,41 +27547,30 @@ components: type: array items: type: integer - StoreHashParam: - name: store_hash - in: path - required: true - schema: - type: string securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Products | modify | `store_v2_products` | | Products | read-only | `store_v2_products_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index 2c8a36cfd..50611fbb4 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -1,33 +1,18 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: version: '' - contact: {} + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com title: Channels description: |- - Create and manage sales [channels](/api-docs/channels/overview), their [sites](/api-reference/store-management/channels/channel-site), and their [product listings](/api-reference/store-management/channels#channel-listings). - - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` in the request header. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/channels - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### [OAuth Scopes](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) - - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Channel Listings | modify | `store_channel_listings` | - | Channel Listings | read-only | `store_channel_listings_read_only` | - | Channel Settings | modify | `store_channel_settings` | - | Channel Settings | read-only | `store_channel_settings_read_only` | + Create and manage sales [channels](/api-docs/channels/overview), their [sites](/docs/rest-management/channels/channel-site), and their [product listings](/docs/rest-management/channels/channel-listings). ## Channels - A [channel](/api-reference/cart-checkout/channels-listings-api/channels) is anywhere a merchant sells their products. This encompasses headless storefronts, marketplaces, POS systems, and marketing platforms. + A [channel](/docs/rest-management/channels) is anywhere a merchant sells their products. This encompasses headless storefronts, marketplaces, POS systems, and marketing platforms. ### Platform @@ -72,25 +57,33 @@ info: |`storefront`|**Is not** `bigcommerce` |`prelaunch`, `active`, `inactive`, `archived`, `deleted` |`marketing`, `marketplace`, `pos`|N/A|`connected`, `disconnected`, `archived`, `deleted`| - <!-- theme: warning --> - > #### Note - > * A Channel with `deleted` status can be restored within 90 days after deleting by contacting BigCommerce support team. Once the 90 days grace period is over, the Channel `status` will become `terminated`. - > * The `terminated` status is read-only. `terminated` channels cannot be restored. + > #### Warning + > * You can restore a Channel with `deleted` status within **90 days** after deletion by contacting the BigCommerce support team. After the 90-days grace period is over, the Channel `status` will become `terminated`. + > * The `terminated` status is read-only. Channels with a `status` of `terminated` **cannot** be restored. ## Channel listings - [Channel listings](/api-reference/store-management/channels/channel-listings) allow you to manage catalog differences among different storefronts or marketplaces. + [Channel listings](/docs/rest-management/channels/channel-listings) allow you to manage catalog differences among different storefronts or marketplaces. ## Channel site - A [Channel site](/api-reference/store-management/channels/channel-site) refers to the domain associated with a channel. + A [Channel site](/docs/rest-management/channels/channel-site) refers to the domain associated with a channel. ## Resources - * [Sites and Routes API Reference](/api-reference/cart-checkout/sites-routes-api) + * [Sites and Routes API Reference](/docs/rest-management/sites) * [Building Channels Overview](/api-docs/channels/overview) * [Building Channel Apps](/api-docs/channels/building-channel-apps) * [Channels Toolkit Reference](/api-docs/channels/channels-toolkit-reference) +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: Channels - name: Channel Active Theme @@ -101,7 +94,9 @@ tags: - name: Channel Menus - name: Channel Metafields paths: - '/stores/{store_hash}/v3/channels': + '/channels': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Channels @@ -134,6 +129,8 @@ paths: tags: - Channels summary: Create a Channel + parameters: + - $ref: '#/components/parameters/ContentType' operationId: createChannel description: Creates a *Channel*. requestBody: @@ -150,26 +147,10 @@ paths: $ref: '#/components/responses/single_channel_without_currencies_resp' '422': $ref: '#/components/responses/missing_or_invalid_channel_data_resp' + '/channels/{channel_id}': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/channels/{channel_id}': - parameters: - - name: channel_id - description: The ID of a channel - in: path - required: true - schema: - type: integer - format: int64 - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' get: tags: - Channels @@ -187,6 +168,8 @@ paths: tags: - Channels summary: Update a Channel + parameters: + - $ref: '#/components/parameters/ContentType' operationId: updateChannel description: |- Updates a *Channel*. @@ -224,7 +207,10 @@ paths: $ref: '#/components/responses/duplicate_channel_resp' '422': $ref: '#/components/responses/invalid_channel_update_field_resp' - '/stores/{store_hash}/v3/channels/{channel_id}/active-theme': + '/channels/{channel_id}/active-theme': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' get: tags: - Channel Active Theme @@ -233,25 +219,14 @@ paths: description: |- Returns details of the theme active on the specified channel. Does not support active Blueprint (legacy) themes. - parameters: - - $ref: '#/components/parameters/channel_id_path_param' responses: '200': $ref: '#/components/responses/channel_active_theme_resp' '404': $ref: '#/components/responses/active_theme_not_found_resp' + '/channels/currency-assignments': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - - schema: - type: string - name: channel_id - in: path - required: true - '/stores/{store_hash}/v3/channels/currency-assignments': + - $ref: '#/components/parameters/Accept' get: tags: - Channel Currency Assignments @@ -264,6 +239,8 @@ paths: post: tags: - Channel Currency Assignments + parameters: + - $ref: '#/components/parameters/ContentType' summary: Create Multiple Channels Currency Assignments operationId: createMultipleChannelsCurrencyAssignments description: Sets enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. @@ -285,6 +262,8 @@ paths: tags: - Channel Currency Assignments summary: Update Multiple Channels Currency Assignments + parameters: + - $ref: '#/components/parameters/ContentType' operationId: updateMultipleChannelsCurrencyAssignments description: Updates enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: @@ -301,26 +280,10 @@ paths: $ref: '#/components/responses/multiple_channels_currency_assignments_resp' '422': $ref: '#/components/responses/missing_or_invalid_multiple_channels_currency_assignments_data_resp' + '/channels/{channel_id}/currency-assignments': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/channels/{channel_id}/currency-assignments': - parameters: - - name: channel_id - description: The ID of a channel - in: path - required: true - schema: - type: integer - format: int64 - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' get: tags: - Channel Currency Assignments @@ -336,6 +299,8 @@ paths: tags: - Channel Currency Assignments summary: Create Channel Currency Assignments + parameters: + - $ref: '#/components/parameters/ContentType' operationId: createSingleChannelCurrencyAssignments description: Sets enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: @@ -356,6 +321,8 @@ paths: tags: - Channel Currency Assignments summary: Update Channel Currency Assignments + parameters: + - $ref: '#/components/parameters/ContentType' operationId: updateSingleChannelCurrencyAssignments description: Updates enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. requestBody: @@ -383,20 +350,10 @@ paths: $ref: '#/components/responses/delete_currency_assignments_resp' '404': $ref: '#/components/responses/channel_not_found_resp' - '/stores/{store_hash}/v3/channels/{channel_id}/listings': + '/channels/{channel_id}/listings': parameters: - - name: channel_id - description: The ID of a channel - in: path - required: true - schema: - type: integer - format: int64 - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' get: tags: - Channel Listings @@ -424,6 +381,8 @@ paths: tags: - Channel Listings summary: Create Channel Listings + parameters: + - $ref: '#/components/parameters/ContentType' operationId: createChannelListings description: Creates one or more *Channel Listings* for a specific channel. requestBody: @@ -446,6 +405,8 @@ paths: tags: - Channel Listings summary: Update Channel Listings + parameters: + - $ref: '#/components/parameters/ContentType' operationId: updateChannelListings description: |- Updates one or more *Channel Listings* for a specific channel. @@ -473,27 +434,11 @@ paths: $ref: '#/components/responses/single_and_multiple_listings_resp' '422': $ref: '#/components/responses/missing_or_invalid_multiple_listings_data_for_put_resp' - '/stores/{store_hash}/v3/channels/{channel_id}/listings/{listing_id}': + '/channels/{channel_id}/listings/{listing_id}': parameters: - - name: channel_id - description: The ID of a channel - in: path - required: true - schema: - type: integer - format: int64 - - name: listing_id - description: The ID of a channel listing. - in: path - required: true - schema: - type: integer - format: int64 - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' + - $ref: '#/components/parameters/listing_id_path_param' get: tags: - Channel Listings @@ -505,26 +450,18 @@ paths: $ref: '#/components/responses/single_listing_resp' '404': $ref: '#/components/responses/listing_not_found_resp' - '/stores/{store_hash}/v3/channels/{channel_id}/site/checkout-url': + '/channels/{channel_id}/site/checkout-url': parameters: - - name: channel_id - description: The ID of a channel - in: path - required: true - schema: - type: integer - format: int64 - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' put: summary: Upsert a Site's Checkout URL tags: - Channel Site Checkout Url description: Creates or updates (upserts) a site's checkout URL operationId: putCheckoutUrl + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -597,7 +534,7 @@ paths: delete: summary: Delete a Site's Checkout URL operationId: delete-checkout-url - description: 'Deletes a site''s checkout URL. After deletion, a shared checkout URL is used.' + description: Deletes a siteʼs checkout URL. After deletion, a shared checkout URL is used. tags: - Channel Site Checkout Url responses: @@ -610,9 +547,13 @@ paths: properties: data: type: object + properties: {} meta: - type: object - '/stores/{store_hash}/v3/channels/{channel_id}/site': + $ref: '#/components/schemas/EmptyMeta' + '/channels/{channel_id}/site': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' get: summary: Get a Channel Site description: | @@ -620,12 +561,6 @@ paths: Returns site data for the specified channel. operationId: get-channel-site - parameters: - - name: channel_id - in: path - required: true - schema: - type: string responses: '200': $ref: '#/components/responses/site_Resp' @@ -636,6 +571,8 @@ paths: '200': $ref: '#/components/responses/site_Resp' summary: Update a Channel Site + parameters: + - $ref: '#/components/parameters/ContentType' operationId: put-channel-site requestBody: content: @@ -648,22 +585,13 @@ paths: tags: - Channel Site description: Updates a site for provided channel. - parameters: - - name: channel_id - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true post: responses: '200': $ref: '#/components/responses/site_Resp' summary: Create a Channel Site + parameters: + - $ref: '#/components/parameters/ContentType' operationId: postChannelSite requestBody: content: @@ -691,23 +619,15 @@ paths: tags: - Channel Site summary: Delete a Channel Site - '/stores/{store_hash}/v3/channels/{channel_id}/channel-menus': + '/channels/{channel_id}/channel-menus': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' get: summary: Get Channel Menus description: | Returns list of Control Panel side navigation menus for a channel. operationId: get-channel-menus - parameters: - - name: channel_id - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true responses: '200': $ref: '#/components/responses/channel_menus_Resp' @@ -720,16 +640,7 @@ paths: summary: Create Channel Menus operationId: postChannelMenus parameters: - - name: channel_id - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -751,8 +662,7 @@ paths: data: type: integer meta: - type: object - properties: {} + $ref: '#/components/schemas/EmptyMeta' x-examples: example-1: data: 1 @@ -762,30 +672,10 @@ paths: tags: - Channel Menus summary: Delete Channel Menus - parameters: - - name: channel_id - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true - parameters: [] - '/stores/{store_hash}/v3/channels/{channel_id}/metafields': + '/channels/{channel_id}/metafields': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - - schema: - type: string - name: channel_id - in: path - required: true + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' get: summary: Get Channel Metafields tags: @@ -803,6 +693,8 @@ paths: description: Returns a list of metafields on a channel. Optional filter parameters can be passed in. post: summary: Create a Channel Metafield + parameters: + - $ref: '#/components/parameters/ContentType' operationId: post-channels-channel_id-metafields responses: '200': @@ -819,21 +711,13 @@ paths: Creates a channel metafield. **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, channel, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - '/stores/{store_hash}/v3/channels/{channel_id}/metafields/{metafield_id}': + '/channels/{channel_id}/metafields/{metafield_id}': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - - schema: - type: string - name: channel_id - in: path - required: true - - schema: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/channel_id_path_param' + - name: metafield_id + schema: type: string - name: metafield_id in: path required: true get: @@ -847,6 +731,8 @@ paths: description: Returns a single channel metafield. put: summary: Update a Channel Metafield + parameters: + - $ref: '#/components/parameters/ContentType' operationId: put-channels-channel_id-metafields-metafield_id responses: '200': @@ -872,19 +758,24 @@ paths: tags: - Channel Metafields description: Deletes a single channel metafield. -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -servers: - - url: 'https://api.bigcommerce.com' - variables: - store_hash: - default: store_hash 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' PageParam: name: page description: | @@ -984,7 +875,7 @@ components: - storefront platform_in: name: 'platform:in' - description: 'Filter items by a comma-separated list of platforms. For a list of supported platforms, see [Platform](/api-reference/store-management/channels#platform).' + description: 'Filter items by a comma-separated list of platforms. For a list of supported platforms, see [Platform](/docs/rest-management/channels#platform).' in: query required: false schema: @@ -1068,7 +959,7 @@ components: format: int64 channel_id_path_param: name: channel_id - description: The ID of a channel + description: The ID of a channel. in: path required: true schema: @@ -1678,7 +1569,7 @@ components: value: data: - id: 1 - icon_url: 'https://s3.amazonaws.com/bc-channel-platform/channel-icons/bigcommerce.svg' + icon_url: 'https://storage.googleapis.com/bigcommerce-production-dev-center/images/bigcommerce_icon.svg' is_listable_from_ui: true is_visible: true date_created: '2021-05-07T14:54:51Z' @@ -1689,7 +1580,7 @@ components: name: Test Store status: prelaunch - id: 664179 - icon_url: 'https://s3.amazonaws.com/bc-channel-platform/channel-icons/amazon.svg' + icon_url: 'https://storage.googleapis.com/bigcommerce-production-dev-center/images/amazon_icon.svg' is_listable_from_ui: true is_visible: true date_created: '2021-05-10T20:32:40Z' @@ -1700,7 +1591,7 @@ components: name: Amazon status: connected - id: 667159 - icon_url: 'https://s3.amazonaws.com/bc-channel-platform/channel-icons/facebook.svg' + icon_url: 'https://storage.googleapis.com/bigcommerce-production-dev-center/images/facebook_icon.svg' is_listable_from_ui: false is_visible: true date_created: '2021-05-13T15:41:39Z' @@ -1733,7 +1624,7 @@ components: value: data: id: 667159 - icon_url: 'https://s3.amazonaws.com/bc-channel-platform/channel-icons/eBay.svg' + icon_url: 'https://storage.googleapis.com/bigcommerce-production-dev-center/images/ebay_icon.png' is_listable_from_ui: false is_visible: true date_created: '2021-05-13T15:41:39Z' @@ -1756,7 +1647,7 @@ components: value: data: id: 667159 - icon_url: 'https://s3.amazonaws.com/bc-channel-platform/channel-icons/facebook.svg' + icon_url: 'https://storage.googleapis.com/bigcommerce-production-dev-center/images/facebook_icon.svg' is_listable_from_ui: false is_visible: true date_created: '2021-05-13T15:41:39Z' @@ -2105,13 +1996,12 @@ components: group_id: Group id (0) for store (1001808665) cannot be less than or equal to zero! securitySchemes: X-Auth-Token: - type: apiKey - in: header name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Channel Listings | modify | `store_channel_listings` | | Channel Listings | read-only | `store_channel_listings_read_only` | | Channel Settings | modify | `store_channel_settings` | @@ -2119,23 +2009,21 @@ components: | Sites & Routes | modify | `store_sites` | | Sites & Routes | read-only | `store_sites_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](https://developer.bigcommerce.com/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: ChannelId: type: integer @@ -2280,7 +2168,7 @@ components: x-internal: false ChannelStatus: type: string - description: 'The status of the channel; channel `type`, `platform`, and `status` must be a [valid combination](/api-reference/store-management/channels#status). `terminated` is not valid for `PUT` or `POST` requests. `deleted` is not valid for `POST` requests.' + description: 'The status of the channel; channel `type`, `platform`, and `status` must be a [valid combination](/docs/rest-management/channels#status). `terminated` is not valid for `PUT` or `POST` requests. `deleted` is not valid for `POST` requests.' enum: - active - prelaunch @@ -2302,7 +2190,7 @@ components: example-1: string ChannelType: type: string - description: 'The type of channel; channel `platform` and `type` must be a [valid combination](/api-reference/store-management/channels#platform).' + description: 'The type of channel; channel `platform` and `type` must be a [valid combination](/docs/rest-management/channels#status).' enum: - pos - marketplace @@ -2311,7 +2199,7 @@ components: x-internal: false ChannelPlatform: type: string - description: 'The name of the platform for the channel; channel `platform` and `type` must be a [valid combination](/api-reference/store-management/channels#platform).' + description: 'The name of the platform for the channel; channel `platform` and `type` must be a [valid combination](/docs/rest-management/channels#status).' x-internal: false ChannelDateCreated: type: string @@ -2412,11 +2300,11 @@ components: properties: app: type: object - description: 'A [channel app](/api-docs/channels/overview#channel-apps) config object for optionally configuring the channel''s user interface in the control panel.' + description: 'A [channel app](/api-docs/channels/overview#channel-apps) config object for optionally configuring the channelʼs user interface in the control panel.' properties: id: type: integer - description: 'The unique `id` given to an app registered in [DevTools](https://devtools.bigcommerce.com/); used to create links to the app in channel manager. `app.id` is optional; however, if you''re building an app that creates or manages a channel, we recommend including it to ensure the user interface in the control panel works properly. Select partners who are promoted in the Channel Manager must build an app, and include the app ID in the create channel request. [Learn how to find an App''s ID](/api-docs/apps/tutorials/id).' + description: 'The unique `id` given to an app registered in [DevTools](https://devtools.bigcommerce.com/); used to create links to the app in channel manager. `app.id` is optional; however, if youʼre building an app that creates or manages a channel, we recommend including it to ensure the user interface in the control panel works properly. Select partners who are promoted in the Channel Manager must build an app, and include the app ID in the create channel request. [Learn how to find an Appʼs ID](/api-docs/apps/tutorials/id).' sections: type: array description: 'Sections are now deprecated under config_meta. The new /channel-menus endpoints should be used instead. If set, when the app is loaded within the control panel, the navigation `sections` will be directly embedded in the control panel navigation.' @@ -2808,8 +2696,10 @@ components: x-internal: false EmptyMeta: type: object - description: Empty meta object; may be used later. - x-internal: false + title: Empty meta response. + properties: {} + additionalProperties: true + description: Response metadata. pagination_Full: type: object description: | @@ -2914,7 +2804,7 @@ components: enum: - dedicated - shared - description: 'Indicates if a private/dedicated SSL is installed on this site, or if it''s using shared SSL.' + description: 'Indicates if a private/dedicated SSL is installed on this site, or if itʼs using shared SSL.' urls: type: array description: 'All URLs that belong to the site, including `primary`, `canonical`, and `checkout` URLs.' @@ -3034,8 +2924,6 @@ components: x-internal: false metafield_Post: title: metafield_Post - x-stoplight: - id: gvfymy3yuc101 type: object description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' x-internal: false @@ -3098,8 +2986,6 @@ components: - permission_set metafield_Put: title: metafield_Put - x-stoplight: - id: 5gl48f06wgr1v type: object description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' x-internal: false @@ -3155,3 +3041,4 @@ components: description: | Description for the metafield. example: Location in the warehouse + diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 3ba7a82eb..7a03a6956 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -1,18 +1,25 @@ openapi: '3.0.1' info: title: Storefront Checkouts - description: Manage checkout operations and data using front-end JavaScript on BigCommerce Stencil-powered storefronts. + description: |- + Manage checkout operations and data using front-end JavaScript on BigCommerce + Stencil-powered storefronts. + + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + version: '' termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce url: 'https://www.bigcommerce.com' email: support@bigcommerce.com - version: '' servers: - url: 'https://{store_domain}/api/storefront' variables: store_domain: - default: yourstore.example.com + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Checkout - name: Checkout Billing Address @@ -33,8 +40,6 @@ paths: The cart ID and checkout ID are the same. - - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -227,8 +232,6 @@ paths: * 2000 character limit - - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -370,10 +373,8 @@ paths: description: |- Updates a *Checkout Line Item*. Updates an existing, single line item in the cart. - If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the [Add Cart Line Items](/api-reference/storefront/carts/cart-items/addcartlineitem) endpoint. + If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoint. - - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -525,8 +526,6 @@ paths: description: |- Deletes a *Line Item* from the *Cart*. - - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -782,7 +781,6 @@ paths: * country_code - <!-- theme: info --> > #### Note > * The `email` property is only required if the customer is a guest shopper. Otherwise, it is set automatically. > * Sending `email` property as a payload in POST request triggers the abandoned cart notification process. @@ -932,8 +930,6 @@ paths: description: |- Updates an existing billing address on *Checkout*. - - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -1199,7 +1195,7 @@ paths: 1. Add a new Consignment to Checkout. * Send a POST to Consignments with each shipping address and line items IDs. Each address can have its own line item IDs. * As part of the request URL make sure to add `include=consignments.availableShippingOptions` to return the available shipping options based on line items and shipping locations. This will return `availableShippingOptions` in the response. - 2. [Update the Consignment](/api-reference/storefront/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidandconsignmentidput) with Shipping Options. + 2. [Update the Consignment](/docs/rest-storefront/checkouts/checkout-consignments#update-a-consignment) with Shipping Options. **Required Query** * `consignments.availableShippingOptions` @@ -1210,7 +1206,6 @@ paths: To learn more about creating a Checkout Consignment, see the [Carts and Checkouts Tutorial](/api-docs/storefront/tutorials/carts). - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -1369,7 +1364,6 @@ paths: To learn more about creating a Checkout Consignment see [Checkout Consignment API](/api-docs/checkouts/checkout-consignment). - <!-- theme: info --> > #### Note > * You cannot pass both an `address` and a `shippingOptionId` because the shipping option may not be available for the new address > * Substitute your storefront domain for `yourstore.example.com`. @@ -1522,7 +1516,6 @@ paths: description: |- Removes an existing *Consignment* from *Checkout*. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -1662,8 +1655,6 @@ paths: description: |- Adds a *Gift Certificate Code* to *Checkout*. - - <!-- theme: info --> > #### Note > * *Gift Certificates* are treated as a payment methods. > * You are not able to purchase a gift certificate with a gift certificate. @@ -1816,7 +1807,6 @@ paths: This removes the *Gift Certificate* payment method. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -1850,7 +1840,6 @@ paths: **Required Fields** * couponCode - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -1997,7 +1986,6 @@ paths: description: | Deletes a *Coupon Code* from *Checkout*. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -2241,7 +2229,6 @@ paths: description: |- Applies any available store credit to a checkout. As on the storefront, all available store credit will be used (up to the value of the order) and no amount need be specified. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -2266,7 +2253,6 @@ paths: description: |- Removes store credit from a checkout. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -2292,7 +2278,6 @@ paths: description: |- Verifies if checkout is created by human. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index f7e1bc479..7c0133e61 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -12,7 +12,12 @@ info: url: 'https://www.bigcommerce.com' email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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 tags: - name: Checkout - name: Checkout Billing Address @@ -25,9 +30,8 @@ tags: security: - X-Auth-Token: [] paths: - '/stores/{store_hash}/v3/checkouts/{checkoutId}': + '/checkouts/{checkoutId}': parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' get: @@ -66,6 +70,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' examples: {} Available Shipping Options: example: @@ -854,6 +860,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -1591,7 +1599,7 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false x-codegen-request-body-name: body - '/stores/{store_hash}/v3/checkouts/{checkoutId}/discounts': + '/checkouts/{checkoutId}/discounts': post: tags: - Checkout Discounts @@ -1607,7 +1615,6 @@ paths: * discounted_amount operationId: post-store_hash-v3-checkouts-checkoutId-discounts parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -1644,6 +1651,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -2375,7 +2384,7 @@ paths: - cartpage text: Some text x-codegen-request-body-name: body - '/stores/{store_hash}/v3/checkouts/{checkoutId}/billing-address': + '/checkouts/{checkoutId}/billing-address': post: tags: - Checkout Billing Address @@ -2388,7 +2397,6 @@ paths: * country_code operationId: CheckoutsBillingAddressByCheckoutIdPost parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -2408,6 +2416,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -3145,7 +3155,7 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false x-codegen-request-body-name: body - '/stores/{store_hash}/v3/checkouts/{checkoutId}/billing-address/{addressId}': + '/checkouts/{checkoutId}/billing-address/{addressId}': put: tags: - Checkout Billing Address @@ -3153,7 +3163,6 @@ paths: description: Updates an existing billing address on a checkout. operationId: CheckoutsBillingAddressByCheckoutIdAndAddressIdPut parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -3178,6 +3187,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -3915,7 +3926,7 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false x-codegen-request-body-name: body - '/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments': + '/checkouts/{checkoutId}/consignments': post: tags: - Checkout Consignments @@ -3925,7 +3936,7 @@ paths: For more information about working with consignments, see [Checkout consignment](/api-docs/checkouts/checkout-consignment). - Though the only required `address` properties to create a consignment are `email` and `country_code`, to successfully [create an order](/api-reference/store-management/checkouts/checkout-orders/createanorder) the `address` requires the following properties: + Though the only required `address` properties to create a consignment are `email` and `country_code`, to successfully [create an order](/docs/rest-management/checkouts/checkout-orders#create-an-order) the `address` requires the following properties: * `first_name` * `last_name` * `address1` @@ -3940,7 +3951,6 @@ paths: * `state_or_province` operationId: CheckoutsConsignmentsByCheckoutIdPost parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -3966,6 +3976,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -4703,9 +4715,9 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false x-codegen-request-body-name: body - '/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments/{consignmentId}': + '/checkouts/{checkoutId}/consignments/{consignmentId}': parameters: - - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - name: consignmentId @@ -4722,7 +4734,7 @@ paths: To add a new address and shipping options with line items, complete the following steps. - 1. Add a new [consignment](/api-reference/store-management/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidpost) to a checkout. + 1. Add a new [consignment](/docs/rest-management/checkouts/checkout-consignments#add-consignment-to-checkout) to a checkout. 2. Assign a shipping option to the new consignment by sending a `PUT` request to update the consignment's `shipping_option_id` with a returned value from `data.consignments[N].available_shipping_option[N].id` obtained in Step One. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut @@ -4757,6 +4769,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -5507,6 +5521,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -6237,7 +6253,7 @@ paths: - homepage - cartpage text: Some text - '/stores/{store_hash}/v3/checkouts/{checkoutId}/coupons': + '/checkouts/{checkoutId}/coupons': post: tags: - Checkout Coupons @@ -6252,7 +6268,6 @@ paths: * Coupon codes have a 50-character limit. operationId: CheckoutsCouponsByCheckoutIdPost parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -6272,6 +6287,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -7009,7 +7026,7 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false x-codegen-request-body-name: body - '/stores/{store_hash}/v3/checkouts/{checkoutId}/coupons/{couponCode}': + '/checkouts/{checkoutId}/coupons/{couponCode}': delete: tags: - Checkout Coupons @@ -7017,7 +7034,6 @@ paths: description: Deletes a coupon code from a checkout. operationId: CheckoutsCouponsByCheckoutIdAndCouponCodeDelete parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - name: couponCode @@ -7036,6 +7052,8 @@ paths: properties: data: $ref: '#/components/schemas/Checkout' + meta: + $ref: '#/components/schemas/MetaOpen' Available Shipping Options: example: data: @@ -7574,7 +7592,7 @@ paths: - cartpage text: Some text meta: {} - '/stores/{store_hash}/v3/checkouts/{checkoutId}/orders': + '/checkouts/{checkoutId}/orders': post: tags: - Checkout Orders @@ -7590,7 +7608,6 @@ paths: * Cart deletion occurs if you are using BigCommerce to accept payments on orders. operationId: createAnOrder parameters: - - $ref: '#/components/parameters/storeHash' - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -7605,15 +7622,13 @@ paths: data: $ref: '#/components/schemas/Order' meta: - type: object - properties: {} + $ref: '#/components/schemas/MetaOpen' example: data: id: 75 meta: {} - '/stores/{store_hash}/v3/checkouts/settings': - parameters: - - $ref: '#/components/parameters/storeHash' + '/checkouts/settings': + parameters: - $ref: '#/components/parameters/Accept' get: tags: @@ -7632,8 +7647,7 @@ paths: data: $ref: '#/components/schemas/CheckoutsSettings' meta: - type: object - properties: {} + $ref: '#/components/schemas/MetaOpen' example: data: custom_checkout_script_url: 'https://example.com/custom-checkout-script.js' @@ -7673,8 +7687,7 @@ paths: data: $ref: '#/components/schemas/CheckoutsSettings' meta: - type: object - properties: {} + $ref: '#/components/schemas/MetaOpen' example: data: custom_checkout_script_url: 'https://example.com/custom-checkout-script.js' @@ -7689,9 +7702,9 @@ paths: order_confirmation_use_custom_checkout_script: false custom_order_confirmation_script_url: 'webdav:vtz-order-confirmation/dist/auto-loader.js' meta: {} - '/stores/{store_hash}/v3/checkouts/{checkoutId}/token': + '/checkouts/{checkoutId}/token': parameters: - - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/checkoutId' - $ref: '#/components/parameters/Accept' post: @@ -7713,7 +7726,7 @@ paths: type: string example: beb3590088be88f59ba980d54a68df655cd8a1052a3e9caf535f3f820146c226 meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: example-1: value: @@ -8581,7 +8594,7 @@ components: description: '' custom_fields: type: array - description: 'You can retrieve custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' + description: 'You can retrieve custom fields from the [Get Form Fields](/docs/rest-storefront/forms#get-form-fields) endpoint.' items: title: Custom Field type: object @@ -8644,7 +8657,7 @@ components: description: '' custom_fields: type: array - description: 'You can retrieve custom fields from the [Get Form Fields](/api-reference/storefront/form-fields/form-fields/getformfields) endpoint.' + description: 'You can retrieve custom fields from the [Get Form Fields](/docs/rest-storefront/forms#get-form-fields) endpoint.' items: title: Custom Field type: object @@ -8804,6 +8817,12 @@ components: type: boolean description: Boolean value that specifies whether this checkout supports Optimized One-Page Checkout settings. description: '' + MetaOpen: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. responses: CheckoutResponse: description: '' @@ -9587,13 +9606,6 @@ components: id: 75 meta: {} parameters: - storeHash: - name: store_hash - in: path - required: true - description: Permanent ID of the BigCommerce store. - schema: - type: string checkoutId: name: checkoutId in: path @@ -9645,7 +9657,29 @@ components: - consignments.available_shipping_options securitySchemes: X-Auth-Token: - type: apiKey - description: '' name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Checkouts | modify | `store_checkouts` | + | Checkouts | read-only | `store_checkouts_read_only` | + | Checkout Content | modify | `store_checkout_content` | + | Checkout Content | read-only | `store_checkout_content_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header diff --git a/reference/consent.sf.yml b/reference/consent.sf.yml index 0dc47193b..010aa62dc 100644 --- a/reference/consent.sf.yml +++ b/reference/consent.sf.yml @@ -3,10 +3,16 @@ servers: - url: 'https://{store_domain}/api/storefront' variables: store_domain: - default: yourstore.example.com + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' info: title: Storefront Cookie Consent - description: Specify shopper cookie consent preferences + description: |- + Specify shopper cookie consent preferences. + + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). version: Storefront tags: - name: Consent @@ -34,7 +40,7 @@ paths: - 3 deny: - 4 - description: 'Data sent to the [Update Customer Consent](/api-reference/store-management/customers-v3/customer-consent/customersconsentbycustomerid-put) Customers V3 endpoint when creating a customer during checkout' + description: 'Data sent to the [Update customer consent](/docs/rest-management/customers/customer-consent#update-customer-consent) endpoint when creating a customer during checkout.' required: true description: | Sets the status of a customer's consent to allow data collection by cookies and scripts according to the following consent categories: @@ -47,7 +53,7 @@ paths: This endpoint only works if the cookie consent feature is enabled. It is assumed the shopper has not consented to anything until a value is explicitly set. The request body must be populated with a complete set of allowed and denied categories. - Once set, consent preferences will be saved as a cookie for guest shoppers. Consent preferences will be persisted to a shopper's account to be used for future sessions once they have logged in. Consent preferences can also be managed using the [Customer Consent](/api-reference/store-management/customers-v3/customer-consent/) V3 endpoint. + Once set, consent preferences will be saved as a cookie for guest shoppers. Consent preferences will be persisted to a shopper's account to be used for future sessions once they have logged in. Consent preferences can also be managed using the [Update customer consent](/docs/rest-management/customers/customer-consent#update-customer-consent) endpoint. > #### Note > * Substitute your storefront domain for `yourstore.example.com`. @@ -93,7 +99,3 @@ components: - allow - deny x-internal: false -x-stoplight: - docs: - includeDownloadLink: false - showModels: false diff --git a/reference/currencies.v2.yml b/reference/currencies.v2.yml index 78d6be62d..740ec4b3b 100644 --- a/reference/currencies.v2.yml +++ b/reference/currencies.v2.yml @@ -1,50 +1,20 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Currencies description: |- Manage alternate currency display options on the storefront. - ## OAuth Scopes - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Information & Settings | modify | `store_v2_information` | - | Information & Settings | read-only | `store_v2_information_read_only` | - - For more information on OAuth Scopes, see: [Authentication](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). - - ## Authentication - - Requests can be authenticated by sending an `access_token` via `X-Auth-Token` HTTP header: - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - - ## Available Endpoints - | Resource / Endpoint | Description | - |-----------------------------------------|-------------------------------------------------------------------------| - | Currencies | Create and manage store currencies and their display | - ## Definitions | Name | Description | | -- | -- | - | Default Currency | Store's default currency is the one from which any auto-conversion of pricing (product, tax, shipping, promotions) will happen.| + | Default Currency | Storeʼs default currency is the one from which any auto-conversion of pricing (product, tax, shipping, promotions) will happen.| | Display Currency | Currency that is displayed on the storefront. This might or might not mean that shopper can actually transact in that currency. Display currency is also often called "presentment currency" in the payments industry. | - | Transactional Currency | Transactional currency is what currency and amount BC passes to the payment provider and the currency/amount that the shopper will be charged to their bank account. If there's a discrepancy between the storefront display currency and the transactional currency, a shopper has to pay a conversion fee and the conversion rate that will be used will be outside of BC's purview. | - | Settlement Currency | This is the currency in which the merchant gets paid out to their bank account. If there's a discrepancy between the currency that shopper transacts in and the currency in which merchant settles, merchant has to pay a conversion fee and the conversion rate used will be outside of BC's purview. Merchant is able to set their settlement currency through their payment provider. | + | Transactional Currency | Transactional currency is what currency and amount BC passes to the payment provider and the currency/amount that the shopper will be charged to their bank account. If thereʼs a discrepancy between the storefront display currency and the transactional currency, a shopper has to pay a conversion fee and the conversion rate that will be used will be outside of BCʼs purview. | + | Settlement Currency | This is the currency in which the merchant gets paid out to their bank account. If thereʼs a discrepancy between the currency that shopper transacts in and the currency in which merchant settles, merchant has to pay a conversion fee and the conversion rate used will be outside of BCʼs purview. Merchant is able to set their settlement currency through their payment provider. | |BigCommerce Conversion Rate | Any conversion rate set on BigCommerce used to convert product’s default currency pricing into a new non-default currency. Conversion rate could be static or dynamic. | | Static Conversion Rate | One of the two auto-converted pricing options. If a merchant manually enters a static conversion rate, then the conversion rate will remain the same until/unless merchant updates their currency settings to use a different conversion rate. The advantage of using this method is to avoid constantly fluctuating price in non-default currencies. | - | Dynamic Conversion Rate | One of the two auto-converted pricing options. If a merchant selects a dynamic conversion rate, they've tied themselves to a currency conversion service, which will update the conversion rate at a certain frequency. This helps shopper-facing pricing remain most aligned to the store's default currency and keeps non-default currency conversion rate at market rate. Merchant can either use BigCommerce Currency Service provided in the Currency setup page, or they can use API to automatically update the exchange rate from their trusted source. | + | Dynamic Conversion Rate | One of the two auto-converted pricing options. If a merchant selects a dynamic conversion rate, theyʼve tied themselves to a currency conversion service, which will update the conversion rate at a certain frequency. This helps shopper-facing pricing remain most aligned to the storeʼs default currency and keeps non-default currency conversion rate at market rate. Merchant can either use BigCommerce Currency Service provided in the Currency setup page, or they can use API to automatically update the exchange rate from their trusted source. | | Bank Conversion Rate | Conversion rate used by merchant’s or shopper’s payment or credit card provider when auto-converting from store’s transactional currency. This rate might not align to the BC conversion rate and BC has no visibility into it. | | Multi Currency Pricing | Rather than opting for auto-converting product pricing from default currency using BC conversion rate, merchant has a choice to set price per product per currency. This will be implemented through price lists. | @@ -57,45 +27,39 @@ info: ## Resources - [How Currencies Work](/api-docs/catalog/currencies/how-currencies-work) - - [Price List API](/api-reference/catalog/pricelists-api) + - [Price List API](/docs/rest-management/price-lists) - [Using Price Lists](https://support.bigcommerce.com/s/article/Price-Lists) (BigCommerce Knowledge Base) - [Managing Currencies](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta) (BigCommerce Knowledge Base) - [Tax](https://support.bigcommerce.com/s/article/Manual-Tax-Setup#intro1) (BigCommerce Knowledge Base) - version: "" + version: '' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: -- url: https://api.bigcommerce.com + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway security: -- X-Auth-Token: [] + - X-Auth-Token: [] tags: -- name: /currencies - description: "" -- name: Currencies + - name: Currencies (Single) + - name: Currencies (Bulk) paths: - /stores/{store_hash}/v2/currencies: + /currencies: + parameters: + + - $ref: '#/components/parameters/Accept' get: tags: - - Currencies + - Currencies (Bulk) summary: Get All Currencies description: Returns a list of all store *Currency*. operationId: getAllCurrencies - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: "" @@ -107,7 +71,7 @@ paths: $ref: '#/components/schemas/currency_Full' post: tags: - - Currencies + - Currencies (Bulk) summary: Create a Currency operationId: createACurrency description: |- @@ -125,31 +89,14 @@ paths: * decimal_places **Read-Only Fields** - * id * date_created * date_modified - The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. To change the store's default currency via the BigCommerce control panel, please see [Managing Currencies](https://support.bigcommerce.com/articles/Public/Managing-Currencies/?q=currency&l=en_US&fs=Search&pn=1#default). + The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. To change the storeʼs default currency in the BigCommerce control panel, please see [Managing Currencies](https://support.bigcommerce.com/articles/Public/Managing-Currencies/?q=currency&l=en_US&fs=Search&pn=1#default). parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -165,28 +112,10 @@ paths: $ref: '#/components/schemas/currency_Full' delete: tags: - - Currencies + - Currencies (Bulk) summary: Delete All Currencies operationId: deleteAllCurrencies description: Deletes all non-default store currencies. - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accepts - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: "" @@ -194,37 +123,22 @@ paths: application/json: schema: type: object - /stores/{store_hash}/v2/currencies/{id}: - get: - tags: - - Currencies - summary: Get a Currency - description: Returns a single *Currency*. - operationId: getACurrency - parameters: + /currencies/{id}: + parameters: + + - $ref: '#/components/parameters/Accept' - name: id in: path - description: Currency Id - required: true - schema: - type: string - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: Accept - in: header + description: Currency ID required: true schema: type: string - default: application/json + get: + tags: + - Currencies (Single) + summary: Get a Currency + description: Returns a single *Currency*. + operationId: getACurrency responses: '200': description: "" @@ -234,7 +148,7 @@ paths: $ref: '#/components/schemas/currency_Full' put: tags: - - Currencies + - Currencies (Single) summary: Update a Currency description: |- Updates a *Currency*. @@ -250,29 +164,7 @@ paths: The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. operationId: updateACurrency parameters: - - name: id - in: path - description: Currency Id - required: true - schema: - type: string - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -289,37 +181,13 @@ paths: x-codegen-request-body-name: body delete: tags: - - Currencies + - Currencies (Single) summary: Delete a Currency description: |- Deletes a *Currency*. - If a currency's `is_default` property is set to true, this currency cannot be deleted. + If a currencyʼs `is_default` property is set to true, this currency cannot be deleted. operationId: deleteACurrency - parameters: - - name: id - in: path - description: Currency Id - required: true - schema: - type: string - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: "" @@ -448,7 +316,8 @@ components: properties: id: type: integer - description: Id of the currency. READ-ONLY. + description: ID of the currency. Read only. + readOnly: true example: 2 last_updated: type: string @@ -471,6 +340,12 @@ components: schema: $ref: '#/components/schemas/currency_Full' parameters: + StoreHash: + name: store_hash + in: path + required: true + schema: + type: string Accept: name: Accept in: header @@ -478,7 +353,7 @@ components: schema: type: string default: application/json - Content-Type: + ContentType: name: Content-Type in: header required: true @@ -487,30 +362,27 @@ components: default: application/json securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header - diff --git a/reference/current_customer.yml b/reference/current_customer.yml index ee5a1165d..4f36e79be 100644 --- a/reference/current_customer.yml +++ b/reference/current_customer.yml @@ -6,16 +6,20 @@ info: [Learn more about the current customer API](/api-docs/customers/current-customer-api). - <!-- theme: info --> + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#client-id). + > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. version: '' servers: - - url: 'https://{store_domain}/api/storefront' + - url: 'https://{store_domain}' variables: store_domain: - default: yourstore.example.com + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Current Customers paths: @@ -27,7 +31,6 @@ paths: description: |- Identify logged-in customers securely via JavaScript. - <!-- theme: info --> > #### Note > The Send a Test Request feature is not currently supported for this endpoint. operationId: getCurrentCustomer @@ -63,7 +66,7 @@ paths: example: '"6"' iss: type: string - description: Indicates the token’s issuer. This is your application’s client ID, which is obtained during application registration in Developer Portal. + description: Indicates the token’s issuer. example: '"bc/apps"' sub: type: string @@ -71,7 +74,7 @@ paths: example: '"abc123"' iat: type: integer - description: 'Time when the token was generated. This is a numeric value indicating the number of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time).' + description: 'Time when the token was issued. This is a numeric value indicating the number of seconds since the [Unix epoch](https://en.wikipedia.org/wiki/Unix_time).' example: 1480831863 exp: type: integer @@ -91,11 +94,11 @@ paths: description: The client ID created when the token was generated. store_hash: type: string - description: Store hash identifying the store you are logging into. + description: The store’s unique identifier on the BigCommerce platform. operation: type: string description: Must contain the string “current_customer”. - example: '"curent_customer"' + example: '"current_customer"' example: customer: id: 4927 @@ -111,7 +114,4 @@ paths: store_hash: abc123 operation: current_customer components: {} -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/custom-template-associations.v3.yml b/reference/custom-template-associations.v3.yml index 55eadfa79..1f6970c96 100644 --- a/reference/custom-template-associations.v3.yml +++ b/reference/custom-template-associations.v3.yml @@ -1,30 +1,13 @@ -openapi: 3.0.1 +openapi: '3.0.3' info: title: Custom Template Associations - version: 3.0.0 + version: '' description: |- - Efficiently associate a stencil theme's custom templates to products, categories, brands, and pages. - - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` and `client_id` in the request headers. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/custom-template-associations - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth scopes - - | UI Name | Permission | Parameter - |-|-|-| - | Themes |Read-only|`store_themes_read_only`| - | Themes |Manage|`store_themes_manage`| + Efficiently associate a stencil themeʼs custom templates to products, categories, brands, and pages. ## Creating template associations - To [associate custom templates to entities](/api-reference/store-management/custom-template-associations/custom-template-associations/upsertcustomtemplateassociations), send a `PUT` request to `/v3/storefront/custom-template-associations`. + To [associate custom templates to entities](/docs/rest-content/custom-template-associations#creating-template-associations), send a `PUT` request to `/v3/storefront/custom-template-associations`. ```http PUT https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/custom-template-associations @@ -42,15 +25,12 @@ info: ] ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/custom-template-associations/custom-template-associations/upsertcustomtemplateassociations#requestrunner) - - <!-- theme: info --> > #### Note - > * The allowed values for `entity_type` are `product`, `category`, `brand`, and `page`. + > The allowed values for `entity_type` are `product`, `category`, `brand`, and `page`. ## Getting entity IDs - Use the [Catalog API](/api-reference/store-management/catalog) to get the `entity_id` for `category`, `product`, and `brand` entity types. For example, to [get all products](/api-reference/store-management/catalog/products/getproducts), send a `GET` request to `/v3/catalog/products`. + Use the [Catalog API](/docs/rest-management/catalog) to get the `entity_id` for `category`, `product`, and `brand` entity types. For example, to [get all products](/docs/rest-management/catalog/products#get-all-products), send a `GET` request to `/v3/catalog/products`. ```http GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/catalog/products @@ -59,22 +39,18 @@ info: Accept: application/json ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/catalog/products/getproducts#requestrunner) - - To [get the `entity_id` for a content page](/api-reference/store-management/store-content/pages/getallpages), send a `GET` request to `/v2/pages`. + To [get the `entity_id` for a content page](/docs/rest-content/pages#get-pages), send a `GET` request to `/v3/pages`. ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v2/pages + GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/content/pages X-Auth-Token: {{ACCESS_TOKEN}} Content-Type: application/json Accept: application/json ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/store-content/pages/getallpages#requestrunner) - ## Getting available templates - To [get available custom templates](/api-reference/store-management/themes/theme-custom-templates/get-themes-theme-uuid-custom-templates) for each `entity_type`, send a `GET` request to `/v3/themes/custom-templates/{version_uuid}`. + To [get available custom templates](/docs/rest-content/themes/theme-custom-templates#get-custom-templates) for each `entity_type`, send a `GET` request to `/v3/themes/custom-templates/{version_uuid}`. ```http GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/themes/custom-templates/{version_uuid} @@ -83,8 +59,6 @@ info: Accept: application/json ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/themes/theme-custom-templates/get-themes-theme-uuid-custom-templates#requestrunner) - **Response:** ```json @@ -108,7 +82,7 @@ info: ## Getting theme UUIDs - To [get the `version_uuid` for an active theme](/api-reference/store-management/channels/channel-active-theme/getchannelactivetheme), send a `GET` request to `/v3/channels/{channel_id}/active-theme`. + To [get the `version_uuid` for an active theme](/docs/rest-management/channels/channel-active-theme#get-a-channel-active-theme), send a `GET` request to `/v3/channels/{channel_id}/active-theme`. ```http GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/channels/{channel_id}/active-theme @@ -117,8 +91,6 @@ info: Accept: application/json ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/channels/channel-active-theme/getchannelactivetheme#requestrunner) - **Response:** ```json @@ -135,16 +107,31 @@ info: ## Additional information - * [Get Channel Active Theme](/api-reference/store-management/channels/channel-active-theme/getchannelactivetheme) - * [Get Available Custom Templates](/api-reference/store-management/themes/theme-custom-templates/get-themes-theme-uuid-custom-templates) - * [Catalog API](/api-reference/store-management/catalog) - * [Store Content API](/api-reference/store-management/store-content) - * [Channels API](/api-reference/store-management/channels) + * [Get Channel Active Theme](/docs/rest-management/channels/channel-active-theme#get-a-channel-active-theme) + * [Get Available Custom Templates](/docs/rest-content/themes/theme-custom-templates#get-custom-templates) + * [Catalog API](/docs/rest-management/catalog) + * [Pages API](/docs/rest-content/pages) + * [Channels API](/docs/rest-management/channels) + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' - description: Production API Gateway + - 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: Custom Template Associations paths: - '/stores/{store_hash}/v3/storefront/custom-template-associations': + '/storefront/custom-template-associations': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Custom Template Associations tags: @@ -207,7 +194,7 @@ paths: type: integer in: query name: page - description: 'Which page number to return, based on the page size. Used to paginate large collections.' + description: Which page number to return, based on the page size. Used to paginate large collections. - schema: type: string enum: @@ -222,8 +209,8 @@ paths: type: boolean in: query name: is_valid - description: Optional toggle to filter for exclusively valid or invalid associations entries. An invalid entry is one where it's file name does not match up to an existing custom layout file in the currently active theme for the channel. - description: Get a collection of the store's custom template associations across all storefronts + description: Optional toggle to filter for exclusively valid or invalid associations entries. An invalid entry is one where its file name does not match up to an existing custom layout file in the currently active theme for the channel. + description: Get a collection of the storeʼs custom template associations across all storefronts operationId: GetCustomTemplateAssociations put: summary: Upsert Custom Template Associations @@ -237,11 +224,13 @@ paths: schema: type: object '422': - description: Error response for batch PUT of Custom template associations. Includes the errors for each reference id. + description: Error response for batch PUT of Custom template associations. Includes the errors for each reference ID. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -303,12 +292,6 @@ paths: description: Filter associations by type description: Delete custom template associations. At least one query parameter must be used. operationId: DeleteCustomTemplateAssociations - parameters: - - schema: - type: string - name: store_hash - in: path - required: true components: schemas: Error: @@ -462,27 +445,46 @@ components: - entity_id - file_name x-internal: false + 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' securitySchemes: X-Auth-Token: name: X-Auth-Token - type: apiKey - in: header description: |- - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` and `client_id` in the request headers. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/custom-template-associations - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - ### OAuth scopes | UI Name | Permission | Parameter | - |-|-|-| + |:--------|:-----------|:----------| | Themes |Read-only|`store_themes_read_only`| | Themes |Manage|`store_themes_manage`| -security: - - X-Auth-Token: [] + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/customer_login.yml b/reference/customer_login.yml index 1fae79adc..de2d3cc73 100644 --- a/reference/customer_login.yml +++ b/reference/customer_login.yml @@ -1,13 +1,26 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Customer Login (SSO) description: |- Enable single sign-on for shoppers on BigCommerce hosted storefronts. [Learn more about the customer login API](/api-docs/customers/customer-login-api). - version: "" + + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#user-generated-jwts). + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' servers: -- url: https://yourstore.example.com + - url: 'https://{store_domain}' + variables: + store_domain: + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Login Token paths: @@ -88,7 +101,4 @@ components: **(Optional)** Field containing the expected IP address for the request. If provided, BigCommerce will check that it matches the browser trying to log in. If there is not a match, it will be rejected. example: '"111.222.333.444"' x-internal: false -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/customers.sf.yml b/reference/customers.sf.yml index 4f4dcf002..120f095d1 100644 --- a/reference/customers.sf.yml +++ b/reference/customers.sf.yml @@ -1,13 +1,19 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: version: Storefront title: Storefront Customers - description: Manage customers and data via front-end JavaScript on BigCommerce stencil powered storefronts. + description: |- + Manage customers and data via front-end JavaScript on BigCommerce stencil powered storefronts. + + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). servers: - url: 'https://{store_domain}/api/storefront' variables: store_domain: - default: yourstore.example.com + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Customers paths: @@ -16,24 +22,23 @@ paths: tags: - Customers description: |- - Creates a *Customer*. + Create a *Customer*. - <!-- theme: info --> > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. responses: '204': - description: Customer succesfully created + description: Customer successfully created. '400': - description: Could not create customer + description: Could not create customer. '409': - description: There's already an account for the provided email. Please enter a different email address or sign-in. + description: Thereʼs already an account for the provided email. Please enter a different email address or sign in. '422': - description: Missing Required Fields + description: Missing Required Fields. '429': - description: Spam Protection Failed - summary: Creates a Customer + description: Spam Protection Failed. + summary: Create a Customer operationId: createACustomer requestBody: content: @@ -60,19 +65,19 @@ components: properties: firstName: type: string - description: First name of customer + description: First name of customer. lastName: type: string - description: Last name of customer + description: Last name of customer. email: type: string - description: Email of customer + description: Email of customer. password: type: string - description: Password of customer + description: Password of customer. acceptsMarketingEmails: type: boolean - description: Has customer provided consent to receive marketing emails. + description: Indicates whether customer provided consent to receive marketing emails. customFields: type: array items: @@ -87,7 +92,3 @@ components: fieldValue: type: string x-internal: false -x-stoplight: - docs: - includeDownloadLink: false - showModels: false diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index c63aeaef7..baa28dad7 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -1,26 +1,9 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Customers V2 - contact: {} description: |- Create and Manage Customers, Customer Addresses, and Customer Groups. Additionally, validate customer passwords. To learn more about Customers see [here](/api-docs/customers/customers-subscribers-overview). - ## Authentication - Requests can be authenticated by sending an `access_token` via `X-Auth-Token` HTTP header: - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### OAuth Scopes - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Customers | modify | `store_v2_customers` | - | Customers | read-only | `store_v2_customers_read_only` | - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ## Available Endpoints | Resource / Endpoint | Description | |-----------------------------------------|-------------------------------------------------------------------------------| @@ -28,6 +11,7 @@ info: | Customers Addresses | Postal address belonging to a customer. | | Customers Groups | Groupings of customers who share the same level of access and discounts | | Customers Validate Password | Validate customer passwords | + ## Usage Notes **Customer Groups** * Customer Groups are only available on specific plans. @@ -39,13 +23,23 @@ info: ### Related APIs / Endpoints [Customer Login API](/api-docs/customers/customer-login-api) - [Current Customer API](/api-docs/customers/current-customer-api) - - [Customers API (v3)](/api-reference/customer-subscribers/v3-customers-api) - - [Subscribers API](/api-reference/customer-subscribers/subscribers-api) + - [Customers API (v3)](/docs/rest-management/customers) + - [Subscribers API](/docs/rest-management/subscribers) ### Webhooks - [Customers](/api-docs/store-management/webhooks/webhook-events#customer) + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: '' servers: - - url: 'https://api.bigcommerce.com' + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: @@ -54,7 +48,9 @@ tags: - name: Customer Addresses - name: Customer Passwords paths: - '/stores/{store_hash}/v2/customers': + '/customers': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Customers @@ -62,23 +58,6 @@ paths: description: 'Returns a list of all *Customers*. Default sorting is by customer id, from lowest to highest. Optional parameters can be passed in.' operationId: getAllCustomers parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: first_name in: query schema: @@ -194,21 +173,7 @@ paths: } operationId: createANewCustomer parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -254,24 +219,6 @@ paths: summary: Delete Customers description: 'By default, it deletes all *Customers*. Up to 100 customers per batch can be deleted. ' operationId: deleteAllCustomers - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' @@ -280,7 +227,7 @@ paths: x-unitTests: - request: method: DELETE - uri: '/stores/{store_hash}/v2/customers' + uri: '/customers' headers: Accept: application/json Content-Type: application/json @@ -302,39 +249,16 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - '/stores/{store_hash}/v2/customers/{customer_id}': + '/customers/{customer_id}': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/customer_id' get: tags: - Customers summary: Get a Customer description: Returns a single *Customer*. operationId: getACustomer - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: Unique numeric ID of this customer. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -389,27 +313,7 @@ paths: ``` operationId: updateACustomer parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: Id of the customer - required: true - schema: - type: integer - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -532,60 +436,20 @@ paths: summary: Delete a Customer description: Deletes a *Customer*. operationId: deleteACustomer - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: Id of the customer - required: true - schema: - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} deprecated: true - '/stores/{store_hash}/v2/customers/count': + '/customers/count': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Customers summary: Get a Count of Customers description: 'Returns a count of all *Customers*. ' operationId: getACountOfCustomers - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -599,7 +463,7 @@ paths: x-unitTests: - request: method: GET - uri: '/stores/{store_hash}/v2/customers/count' + uri: '/customers/count' headers: Accept: application/json Content-Type: application/json @@ -622,7 +486,10 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - '/stores/{store_hash}/v2/customers/{customer_id}/validate': + '/customers/{customer_id}/validate': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/customer_id' post: tags: - Customer Passwords @@ -646,29 +513,7 @@ paths: ``` operationId: validateCustomerPassword parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: Id of the customer - required: true - schema: - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -690,7 +535,10 @@ paths: success: false deprecated: true x-codegen-request-body-name: body - '/stores/{store_hash}/v2/customers/{customer_id}/addresses': + '/customers/{customer_id}/addresses': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/customer_id' get: tags: - Customer Addresses @@ -700,31 +548,6 @@ paths: The maximum limit is 250. If a limit isn’t provided, up to 50 `customer_addresses` are returned by default. operationId: getAllCustomerAddresses parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: ID of the customer - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Number of pages @@ -771,31 +594,7 @@ paths: * country_iso2 operationId: createACustomerAddress parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: ID of the customer - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -817,29 +616,6 @@ paths: description: 'By default, it deletes all *Customer Addresses*.' operationId: deleteAllCustomerAddresses parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: Id of the customer - required: true - schema: - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Number of pages @@ -859,7 +635,11 @@ paths: description: '' content: {} deprecated: true - '/stores/{store_hash}/v2/customers/{customer_id}/addresses/{customer_address_id}': + '/customers/{customer_id}/addresses/{customer_address_id}': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/customer_id' + - $ref: '#/components/parameters/customer_address_id' get: tags: - Customer Addresses @@ -867,39 +647,6 @@ paths: description: Returns a *Customer Address*. operationId: getACustomerAddress parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_address_id - in: path - description: ID of the customer address - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: customer_id - in: path - description: 'ID of the customer ' - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Number of pages @@ -933,37 +680,7 @@ paths: * country_iso2 operationId: updateACustomerAddress parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: ID of this customer - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: customer_address_id - in: path - description: ID of the customer address. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -1068,42 +785,15 @@ paths: summary: Delete a Customer Address description: Deletes a *Customer Address*. operationId: deletesACustomerAddress - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: Id of the customer - required: true - schema: - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: customer_address_id - in: path - description: Id of the customer address. - required: true - schema: - type: integer responses: '204': description: '' content: {} deprecated: true - '/stores/{store_hash}/v2/customers/{customer_id}/addresses/count': + '/customers/{customer_id}/addresses/count': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/customer_id' get: tags: - Customer Addresses @@ -1111,29 +801,6 @@ paths: description: Returns a count of addresses for a customer. operationId: getACountofCustomerAddresses parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_id - in: path - description: Id of the customer - required: true - schema: - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Number of pages @@ -1158,7 +825,9 @@ paths: example: count: 27 deprecated: true - '/stores/{store_hash}/v2/customer_groups': + '/customer_groups': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Customer Groups @@ -1166,23 +835,6 @@ paths: description: 'Returns a list of *Customer Groups*. Default sorting is by customer-group id, from lowest to highest.' operationId: getAllCustomerGroups parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Number of pages @@ -1204,7 +856,7 @@ paths: type: string - name: is_default in: query - description: If customers who signup are added to this group by default + description: Whether customers who sign up are added to this group by default. schema: type: boolean - name: is_group_for_guests @@ -1231,28 +883,7 @@ paths: * name operationId: createACustomerGroup parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: X-Auth-Token - in: header - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -1287,29 +918,14 @@ paths: By default, it deletes all *Customer Groups*. All existing customers are unassigned from the group when it is deleted. operationId: deleteAllCustomerGroups - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} - '/stores/{store_hash}/v2/customer_groups/{customer_group_id}': + '/customer_groups/{customer_group_id}': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/customer_group_id' get: tags: - Customer Groups @@ -1317,29 +933,6 @@ paths: description: Returns a *Customer Group*. operationId: getACustomerGroup parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_group_id - in: path - description: Id of the customer group - required: true - schema: - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Number of pages @@ -1361,7 +954,7 @@ paths: type: string - name: is_default in: query - description: If customers who signup are added to this group by default + description: Whether customers who sign up are added to this group by default. schema: type: boolean responses: @@ -1383,27 +976,7 @@ paths: Any combination of fields can be updated at once. Discount rules are treated in bulk. The entire set of rules is overwritten when a request is sent. operationId: updateACustomerGroup parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_group_id - in: path - description: Id of the customer group - required: true - schema: - type: integer - - name: Accepts - in: header - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -1443,61 +1016,19 @@ paths: **Notes** All existing customers are unassigned from the group when it is deleted. operationId: deleteACustomerGroup - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: customer_group_id - in: path - description: The id of the customer group. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' content: {} - '/stores/{store_hash}/v2/customer_groups/count': + '/customer_groups/count': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Customer Groups summary: Get a Count of Customer Groups description: 'Returns a count of all *Customer Groups*. ' operationId: getACountOfCustomerGroups - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -2005,19 +1536,39 @@ components: - residential - commercial 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' customer_id: name: customer_id in: path - description: ID of the customer + description: Unique numeric ID of the customer. required: true schema: + exclusiveMaximum: false + exclusiveMinimum: false type: integer customer_group_id: name: customer_group_id in: path - description: ID of the customer group + description: The ID of the customer group. required: true schema: + exclusiveMaximum: false + exclusiveMinimum: false type: integer customer_address_id: name: customer_address_id @@ -2025,6 +1576,8 @@ components: description: ID of the customer address. required: true schema: + exclusiveMaximum: false + exclusiveMinimum: false type: integer is_group_for_guests: name: is_group_for_guests @@ -2034,28 +1587,28 @@ components: type: boolean securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Customers | modify | `store_v2_customers` | | Customers | read-only | `store_v2_customers_read_only` | - ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 22d90e1c0..002557f95 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -1,9 +1,26 @@ -openapi: 3.0.0 +openapi: '3.0.0' +info: + version: '' + title: Customers V3 + description: |- + Create and manage customers. + + ## Resources + * [Customer and Subscribers Overview](/api-docs/store-management/customers). + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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: Customers description: BigCommerce Customers API Definition. @@ -17,49 +34,8 @@ tags: - name: Customer Settings - name: Customer Settings Channel - name: Customer Validate Credentials -x-stoplight: - docs: - includeDownloadLink: false - showModels: false -security: - - X-Auth-Token: [] -info: - version: '' - title: Customers V3 - description: |- - Create and manage customers. - - ## Authentication - - Authenticate requests by passing an API account `access_token` in the `X-Auth-Token` HTTP header: - - ```http - GET /stores/{{STORE_HASH}}/v3/customers - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - | Header | Parameter | Description | - |:-------|:----------|:------------| - | `X-Auth-Token` | `access_token` | Obtained by creating an API account or installing an app in a BigCommerce control panel. | - - ### OAuth Scopes - - | UI Name | Permission | Parameter | - |:---------------------------------------------|:-----------|:----------------------------------------------| - | Customers | modify | `store_v2_customers` | - | Customers | read-only | `store_v2_customers_read_only` | - | Stored Payment Instruments | modify | `store_stored_payment_instruments` | - | Stored Payment Instruments | read-only | `store_stored_payment_instruments_read_only` | - - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - - ## Resources - * [Customer and Subscribers Overview](/api-docs/store-management/customers). - contact: {} paths: - '/stores/{store_hash}/v3/customers': + '/customers': get: description: |- Returns a list of Customers. Optional filter parameters can be passed in. @@ -234,9 +210,9 @@ paths: * address1 **Required Fields Attributes** - * Attributes must be [created](/api-reference/customer-subscribers/v3-customers-api/customer-attributes/customersattributespost) **BEFORE** creating a customer. + * Attributes must be [created](/docs/rest-management/customers/customer-attributes#create-a-customer-attribute) **BEFORE** creating a customer. * attribute_id - * attribute_value -- This is input as a string, regardless of the [Type](/api-reference/customer-subscribers/v3-customers-api/models/type). + * attribute_value -- This is input as a string, regardless of the [Type](/docs/rest-management/customers/customer-attributes#create-a-customer-attribute). **Limits** * Limit of 10 concurrent requests @@ -245,7 +221,7 @@ paths: A customer can be created with global access or channel-specific access. * **Global access:** - * Make sure the channel has `allow_global_logins` enabled. This is on by default only for the default storefront. Find more info at [Customer Settings > Channel](/api-reference/store-management/customers-v3/customer-settings-channel/customersettingschannelget). + * Make sure the channel has `allow_global_logins` enabled. This is on by default only for the default storefront. Find more info at [Customer Settings > Channel](/docs/rest-management/customers/customer-settings-channel). * Omit `channel_ids` field, or provide `channel_ids: null`. * **Channel-specific access:** * Provide a `channel_ids` array containing the channels accessible by the customer. This array cannot be empty. @@ -337,7 +313,7 @@ paths: **Notes** - * Attributes Values can not be updated using Update a Customer. Use the Update a [Customer Attribute Values](/api-reference/customer-subscribers/v3-customers-api/customer-attribute-values/customersattributevaluesput) endpoint. + * Attributes Values can not be updated using Update a Customer. Use the [Update customer attribute values](/docs/rest-management/customers/customer-attribute-values#upsert-customer-attribute-values) endpoint. * channel_ids -- Updating the list of channels a customer can access may create some side effects in a multi-storefront situation. This list determines which customer account we will use to authenticate a shopper given a channel. summary: Update Customers tags: @@ -437,13 +413,7 @@ paths: '204': description: '' headers: {} - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/addresses': + '/customers/addresses': get: description: Returns a list of Customer Addresses. Optional filter parameters can be passed in. summary: Get All Customer Addresses @@ -749,13 +719,7 @@ paths: headers: {} tags: - Customer Addresses - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/validate-credentials': + '/customers/validate-credentials': post: tags: - Customer Validate Credentials @@ -806,13 +770,7 @@ paths: title: Too many requests type: /api-docs/getting-started/api-status-codes errors: {} - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/settings': + '/customers/settings': get: tags: - Customer Settings @@ -873,13 +831,7 @@ paths: customer_group_settings: guest_customer_group_id: 0 default_customer_group_id: 0 - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/settings/channels/{channel_id}': + '/customers/settings/channels/{channel_id}': get: tags: - Customer Settings Channel @@ -969,17 +921,12 @@ paths: default_customer_group_id: 0 allow_global_logins: true parameters: - - schema: - type: string - name: store_hash - in: path - required: true - schema: type: string name: channel_id in: path required: true - '/stores/{store_hash}/v3/customers/attributes': + '/customers/attributes': get: description: Returns a list of Customer Attributes. You can pass in optional filter parameters. summary: Get All Customer Attributes @@ -1213,13 +1160,7 @@ paths: headers: {} tags: - Customer Attributes - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/attribute-values': + '/customers/attribute-values': get: description: Returns a list of Customer Attribute Values. Optional filter parameters can be passed in. summary: Get All Customer Attribute Values @@ -1414,13 +1355,7 @@ paths: headers: {} tags: - Customer Attribute Values - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/form-field-values': + '/customers/form-field-values': get: responses: '200': @@ -1540,13 +1475,7 @@ paths: - customer_id: 12 name: What is your favorite pizza topping? value: Mushrooms - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/customers/{customerId}/consent': + '/customers/{customerId}/consent': get: description: Gets the status of a customer's consent to allow data collection by cookies and scripts while shopping on a storefront. summary: Get Customer Consent @@ -1625,17 +1554,12 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - - schema: - type: string - name: store_hash - in: path - required: true - schema: type: string name: customerId in: path required: true - '/stores/{store_hash}/v3/customers/{customerId}/stored-instruments': + '/customers/{customerId}/stored-instruments': get: summary: Get Stored Instruments tags: @@ -1707,11 +1631,6 @@ paths: code: 403 message: Missing scope parameters: - - schema: - type: string - name: store_hash - in: path - required: true - schema: type: string name: customerId @@ -2009,18 +1928,9 @@ components: description: Array of form fields. Controlled by `formfields` parameter. type: array items: - oneOf: - - allOf: - - type: object - title: Form Field Value Base - - type: object - - allOf: - - type: object - title: Form Field Value Base - - type: object - title: 'Form Field Value ' + $ref: '#/components/schemas/formFieldValue_Full' meta: - type: object + $ref: '#/components/schemas/MetaOpen' - title: DuplicateAddressCollectionResponse example: {} type: object @@ -2104,7 +2014,7 @@ components: - $ref: "#/components/schemas/formFieldValue_Address" title: 'Customer Address Form Field Value' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: application/json: value: @@ -2262,7 +2172,7 @@ components: - type - id meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: response: value: @@ -2558,9 +2468,9 @@ components: required: - address_id title: Customer Address Form Field Value - title: 'Form Field Value ' + title: Form Field Value meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: response: value: @@ -2583,8 +2493,31 @@ components: $ref: '#/components/schemas/consent_Full' securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Customers | modify | `store_v2_customers` | + | Customers | read-only | `store_v2_customers_read_only` | + | Stored Payment Instruments | modify | `store_stored_payment_instruments` | + | Stored Payment Instruments | read-only | `store_stored_payment_instruments_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header schemas: Pagination: @@ -2623,6 +2556,12 @@ components: pagination: $ref: '#/components/schemas/Pagination' x-internal: false + MetaOpen: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. ErrorResponse: title: Error Response type: object diff --git a/reference/email_templates.v3.yml b/reference/email_templates.v3.yml index 81a9ecacd..a1d216c8a 100644 --- a/reference/email_templates.v3.yml +++ b/reference/email_templates.v3.yml @@ -1,20 +1,35 @@ -openapi: 3.0.0 +openapi: '3.0.3' info: title: Email Templates description: Manage Handlebars-based email templates globally and create channel-specific overrides. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '1.0.0' servers: - - url: 'https://api.bigcommerce.com' + - 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: Email Templates paths: - '/stores/{store_hash}/v3/marketing/email-templates': + '/marketing/email-templates': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Email Templates description: |- Get a list of email templates. - <!-- theme: info --> > #### Note - >`/marketing/email-templates` endpoints only work after opting into the new email management experience from your store's control panel. You can opt-in by visiting Email Templates. If you have already opted in, visiting the Email Templates page will return a `404` error, and you will be able to access the new Transactional Emails page. + > The `/marketing/email-templates` endpoints only work after opting into the new email management experience from your storeʼs control panel. You can opt-in by visiting Email Templates. If you have already opted in, visiting the Email Templates page will return a `404` error, and you will be able to access the new Transactional Emails page. responses: '200': content: @@ -26,16 +41,19 @@ paths: $ref: '#/components/schemas/EmailTemplatesCollection' meta: type: object + properties: {} + additionalProperties: true + description: Response metadata. examples: Example: value: data: - type_id: account_reset_password_email - body: '<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' + body: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' translations: - locale: en keys: - reset_password: 'To change your customer account password at {name} please click this link or copy and paste it into your browser:' + reset_password: 'To change your customer account password at {{name}} please click this link or copy and paste it into your browser:' subject: 'Reset your password at {{store.name}}' meta: {} description: | @@ -45,33 +63,21 @@ paths: operationId: getEmailTemplates tags: - Email Templates + '/marketing/email-templates/{template-name}': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/marketing/email-templates/{template-name}': - parameters: + - $ref: '#/components/parameters/Accept' - schema: type: string name: template-name in: path required: true - - schema: - type: string - name: store_hash - in: path - required: true get: summary: Get an Email Template description: |- Get a single global email template or a channel-specific email template override. - - > #### Note - >`/marketing/email-templates` endpoints only work after opting into the new email management experience from your store's control panel. You can opt-in by visiting [Email Templates](https://login.bigcommerce.com/deep-links/manage/marketing/email-templates). If you have already opted in, visiting the [Email Templates](https://login.bigcommerce.com/deep-links/manage/marketing/email-templates) page will return a `404` error, and you will be able to access the new [Transactional Emails](https://login.bigcommerce.com/deep-links/manage/transactional-emails) page. + > The `/marketing/email-templates` endpoints only work after opting into the new email management experience from your storeʼs control panel. You can opt-in by visiting [Email Templates](https://login.bigcommerce.com/deep-links/manage/marketing/email-templates). If you have already opted in, visiting the [Email Templates](https://login.bigcommerce.com/deep-links/manage/marketing/email-templates) page will return a `404` error, and you will be able to access the new [Transactional Emails](https://login.bigcommerce.com/deep-links/manage/transactional-emails) page. tags: - Email Templates responses: @@ -86,16 +92,19 @@ paths: $ref: '#/components/schemas/EmailTemplate' meta: type: object + properties: {} + additionalProperties: true + description: Response metadata. examples: Example: value: data: type_id: account_reset_password_email - body: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' + body: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' translations: - locale: en keys: - reset_password: 'To change your customer account password at {name} please click this link or copy and paste it into your browser:' + reset_password: 'To change your customer account password at {{name}} please click this link or copy and paste it into your browser:' subject: 'Reset your password at {{store.name}}' meta: {} operationId: getEmailTemplate @@ -119,16 +128,19 @@ paths: $ref: '#/components/schemas/EmailTemplate' meta: type: object + properties: {} + additionalProperties: true + description: Response metadata. examples: Example: value: data: type_id: account_reset_password_email - body: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' + body: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' translations: - locale: en keys: - reset_password: 'To change your customer account password at {name} please click this link or copy and paste it into your browser:' + reset_password: 'To change your customer account password at {{name}} please click this link or copy and paste it into your browser:' subject: 'Reset your password at {{store.name}}' meta: {} '400': @@ -138,6 +150,7 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -148,11 +161,11 @@ paths: Example: value: type_id: account_reset_password_email - body: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' + body: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' translations: - locale: en keys: - reset_password: 'To change your customer account password at {name} please click this link or copy and paste it into your browser:' + reset_password: 'To change your customer account password at {{name}} please click this link or copy and paste it into your browser:' subject: 'Reset your password at {{store.name}}' description: '' delete: @@ -229,7 +242,7 @@ components: example: account_reset_password_email body: type: string - example: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' + example: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' translations: $ref: '#/components/schemas/LocaleCollection' subject: @@ -243,13 +256,13 @@ components: locale: type: string example: en - description: 'Locale code for this language, such as ''en'', ''en-us'', ''fr-ca''.' + description: 'Locale code for this language, such as "en", "en-us", "fr-ca".' keys: type: object example: - reset_password: 'To change your customer account password at {name} please click this link or copy and paste it into your browser:' + reset_password: 'To change your customer account password at {{name}} please click this link or copy and paste it into your browser:' description: Language keys for the template. User-defined. Should match any lang keys used in the template. - description: A particular locale's translations. + description: A particular localeʼs translations. x-internal: false LocaleCollection: title: LocaleCollection @@ -265,7 +278,7 @@ components: properties: body: type: string - example: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' + example: ' Title

{{lang "reset_password" name=store.name}}



{{account.reset_password_link}} ' translations: $ref: '#/components/schemas/LocaleCollection' subject: @@ -284,6 +297,22 @@ components: type: string x-internal: false 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' ChannelIdParam: in: query name: channel_id @@ -300,22 +329,27 @@ components: securitySchemes: X-Auth-Token: name: X-Auth-Token - type: apiKey - in: header description: |- - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` in the request header. + ### OAuth scopes - ```http - GET /stores/{{STORE_HASH}}/v3/marketing/email-templates - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | -security: - - X-Auth-Token: [] + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header + diff --git a/reference/form_fields.sf.yml b/reference/form_fields.sf.yml index bfbd5f7c9..674a97cbb 100644 --- a/reference/form_fields.sf.yml +++ b/reference/form_fields.sf.yml @@ -1,15 +1,22 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Storefront Form Fields (Beta) description: |- Read form fields on a BigCommerce hosted storefront. - - > #### Note - > * Breaking changes may be introduced to this endpoint while in beta. + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + + > #### Warning + > Breaking changes may be introduced to this endpoint while in beta. version: '' servers: - - url: 'https://yourstore.example.com/api/storefront' + - url: 'https://{store_domain}/api/storefront' + variables: + store_domain: + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Form Fields paths: @@ -22,7 +29,6 @@ paths: description: |- Gets form fields. - > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index 9f19de977..32f222e0e 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -1,17 +1,12 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: version: 1.0.0-oas3 title: Geography description: |- Get countries, states, and provinces. - ### OAuth Scopes - - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | modify | `store_v2_information` | - | Information & Settings | read-only | `store_v2_information_read_only` | + paths: - '/stores/{store_hash}/v2/countries': + '/countries': get: description: 'Get a list of all countries available. A country or territory, identifiable by an ISO 3166 country code.' summary: Get All Countries @@ -63,13 +58,7 @@ paths: $ref: '#/components/responses/countryCollection_Resp' tags: - Countries - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/countries/{id}': + '/countries/{id}': get: description: 'Returns a single *Country*. Gets a country. A country or territory, identifiable by an ISO 3166 country code.' summary: Get a Country @@ -107,12 +96,8 @@ paths: required: true schema: type: string - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/countries/{country_id}/states': + + '/countries/{country_id}/states': get: description: |- Returns a list of *States* belonging to a *Country*. @@ -178,12 +163,8 @@ paths: required: true schema: type: string - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/countries/{country_id}/states/{id}': + + '/countries/{country_id}/states/{id}': get: description: |- Returns a *State*. @@ -237,17 +218,13 @@ paths: required: true schema: type: string - - schema: - type: string - name: store_hash - in: path - required: true + - schema: type: string name: id in: path required: true - '/stores/{store_hash}/v2/countries/count': + '/countries/count': get: responses: '200': @@ -257,13 +234,7 @@ paths: - Countries operationId: countriesCount description: Returns a count of all countries. - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/countries/states/count': + '/countries/states/count': get: responses: '200': @@ -272,13 +243,7 @@ paths: tags: - States description: Returns a count of all states. - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/countries/states': + '/countries/states': get: responses: '200': @@ -287,13 +252,7 @@ paths: tags: - States description: Returns a list of all states. - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/countries/{country_id}/states/count': + '/countries/{country_id}/states/count': get: responses: '200': @@ -308,25 +267,20 @@ paths: required: true schema: type: string - - schema: - type: string - name: store_hash - in: path - required: true + security: - X-Auth-Token: [] tags: - name: Countries - name: States -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + servers: - - url: 'https://api.bigcommerce.com' + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' variables: store_hash: - default: unknown + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway components: responses: countriesResponse: @@ -394,10 +348,30 @@ components: count: 241 securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Information & Settings | modify | `store_v2_information` | + | Information & Settings | read-only | `store_v2_information_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header - description: '' schemas: country_Full: title: country_Full diff --git a/reference/global_refs.yaml b/reference/global_refs.yaml index 4331398a3..a885b6458 100644 --- a/reference/global_refs.yaml +++ b/reference/global_refs.yaml @@ -1,9 +1,12 @@ -openapi: 3.1.0 +openapi: '3.0.0' info: title: global_refs.yml version: '1.0' + description: 'non-empty string' servers: - url: 'http://localhost:3000' +tags: + - name: Experiment paths: '/users/{userId}': parameters: @@ -15,7 +18,8 @@ paths: description: Id of an existing user. get: summary: Get User Info by User ID - tags: [] + tags: + - Experiment responses: '200': description: User Found @@ -40,6 +44,8 @@ paths: patch: summary: Update User Information operationId: patch-users-userId + tags: + - Experiment responses: '200': description: User Updated @@ -74,7 +80,7 @@ paths: type: string email: type: string - description: 'If a new email is given, the user''s email verified property will be set to false.' + description: 'If a new email is given, the userʼs email verified property will be set to false.' dateOfBirth: type: string examples: @@ -89,10 +95,12 @@ paths: lastName: Baker dateOfBirth: '1985-10-02' description: Patch user properties to update. - /user: + '/user': post: summary: Create New User operationId: post-user + tags: + - Experiment responses: '200': description: User Created @@ -149,14 +157,14 @@ components: title: User type: object description: '' - examples: - - id: 142 - firstName: Alice - lastName: Smith - email: alice.smith@gmail.com - dateOfBirth: '1997-10-31' - emailVerified: true - signUpDate: '2019-08-24' + example: + id: 142 + firstName: Alice + lastName: Smith + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + signUpDate: '2019-08-24' properties: id: type: integer @@ -188,15 +196,23 @@ components: meta_Empty: title: meta_Empty type: object - properties: - meta: - type: object + properties: {} + additionalProperties: true + description: Response metadata. parameters: - store_hash: - name: store_hash - in: path + 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 - example: 29iql3rwa6 - description: Hash of your store + default: 'application/json' diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index 20b74271f..ec5a5cce6 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -1,25 +1,9 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Marketing description: |- Manage coupons, banners, and gift certificates. - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` in the request header. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/{{ENDPOINT}} - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Marketing | modify | `store_v2_marketing` | - | Marketing | read-only | `store_v2_marketing_read_only` | - ## Subresources ### Coupons @@ -30,9 +14,19 @@ info: ### Gift Certificates Gift certificates available to offer to a store’s customers. - version: "" + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' servers: -- url: https://api.bigcommerce.com + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: @@ -40,7 +34,9 @@ tags: - name: Coupons - name: Gift Certificates paths: - /stores/{store_hash}/v2/coupons: + '/coupons': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Coupons @@ -74,23 +70,6 @@ paths: ``` operationId: getAllCoupons parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: id in: query description: Optional filter param. `/api/v2/coupons?id={value}` @@ -239,23 +218,7 @@ paths: Legacy coupon codes only work with the store's default currency. Applying a coupon with any other currency other than the store's default will result in the error: "Coupons only apply to default currency." parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -298,23 +261,6 @@ paths: * Deleting a coupon via this endpoint will delete the coupon but not the promotion it is attached to operationId: deleteAllCoupons parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: id:in in: query description: Optional param to identify a comma separated list of ids for @@ -325,31 +271,15 @@ paths: '204': description: "" content: {} - /stores/{store_hash}/v2/coupons/count: + '/coupons/count': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Coupons summary: Get a Count of Coupons description: Returns a count of all *Coupons* in the store. operationId: getACountOfCoupons - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: "" @@ -363,7 +293,17 @@ paths: type: integer example: count: 27 - /stores/{store_hash}/v2/coupons/{id}: + '/coupons/{id}': + parameters: + - $ref: '#/components/parameters/Accept' + - name: id + in: path + description: ID of the coupon. + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number put: tags: - Coupons @@ -383,31 +323,7 @@ paths: If the `applies_to` value is cleared, you can restore it to the coupon by reapplying the `applies_to` value in a new `PUT` request. operationId: updateACoupon parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the coupon. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: number - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -447,34 +363,13 @@ paths: summary: Delete a Coupon description: Deletes a *Coupon*. operationId: deleteACoupon - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: id - in: path - required: true - schema: - type: integer responses: '204': description: "" content: {} - /stores/{store_hash}/v2/banners: + '/banners': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Banners @@ -483,23 +378,6 @@ paths: lowest to highest. operationId: getAllBanners parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: min_id in: query description: Optional filter param `/api/v2/banners?min_id={value}` @@ -579,23 +457,7 @@ paths: * id operationId: createABanner parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -628,61 +490,27 @@ paths: summary: Delete All Banners description: By default, it deletes all *Banners*. operationId: deleteAllBanners - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: "" content: {} - /stores/{store_hash}/v2/banners/{id}: - get: - tags: - - Banners - summary: Get a Banner - description: Returns a single *Banner* - operationId: getABanner - parameters: - - name: store_hash - in: path - required: true - schema: - type: string + '/banners/{id}': + parameters: + - $ref: '#/components/parameters/Accept' - name: id in: path - description: Id of the banner. + description: ID of the banner. required: true schema: exclusiveMaximum: false exclusiveMinimum: false type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + get: + tags: + - Banners + summary: Get a Banner + description: Returns a single *Banner* + operationId: getABanner responses: '200': description: "" @@ -714,31 +542,7 @@ paths: * id operationId: updateABanner parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the banner. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -771,58 +575,19 @@ paths: summary: Delete a Banner description: Deletes a *Banner*. operationId: deleteABanner - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - name: id - in: path - required: true - schema: - type: integer responses: '204': description: "" content: {} - /stores/{store_hash}/v2/banners/count: + '/banners/count': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Banners summary: Get a Count of Store Banners description: Returns a count of *Banners*. operationId: getACountOfBanners - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: "" @@ -836,39 +601,23 @@ paths: type: integer example: count: 27 - /stores/{store_hash}/v2/gift_certificates/{id}: - get: - tags: - - Gift Certificates - summary: Get a Gift Certificate - description: Returns a single *Gift Certificate*. - operationId: getAGiftCertificate - parameters: - - name: store_hash - in: path - required: true - schema: - type: string + '/gift_certificates/{id}': + parameters: + - $ref: '#/components/parameters/Accept' - name: id in: path - description: Id of the gift certificate. + description: ID of the gift certificate. required: true schema: exclusiveMaximum: false exclusiveMinimum: false type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + get: + tags: + - Gift Certificates + summary: Get a Gift Certificate + description: Returns a single *Gift Certificate*. + operationId: getAGiftCertificate responses: '200': description: "" @@ -904,28 +653,7 @@ paths: * order_id operationId: updateAGiftCertificate parameters: - - name: id - in: path - required: true - schema: - type: string - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -962,37 +690,13 @@ paths: summary: Delete a Gift Certificate description: Deletes a *Gift Certificate*. operationId: deleteAGiftCertificate - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the gift certificate. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: "" content: {} - /stores/{store_hash}/v2/gift_certificates: + '/gift_certificates': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Gift Certificates @@ -1005,11 +709,6 @@ paths: The maximum limit is 250. If a limit isn’t provided, up to 50 gift_certificates are returned by default. operationId: getAllGiftCertificates parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: min_id in: query schema: @@ -1050,18 +749,6 @@ paths: in: query schema: type: number - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: "" @@ -1138,23 +825,7 @@ paths: When a gift certificate is created through the API, no email notification is triggered to the specified recipient. operationId: createAGiftCertificate parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -1191,22 +862,6 @@ paths: summary: Delete All Gift Certificates description: By default, it deletes all *Gift Certificates*. operationId: deleteAllGiftCertificates - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json responses: '204': description: "" @@ -1215,6 +870,23 @@ paths: schema: type: object 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' schemas: CouponsResource: title: Coupon Resource @@ -1875,33 +1547,28 @@ components: expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Marketing | modify | `store_v2_marketing` | | Marketing | read-only | `store_v2_marketing_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/orders.sf.yml b/reference/orders.sf.yml index ddd05a9e1..2f9f7c455 100644 --- a/reference/orders.sf.yml +++ b/reference/orders.sf.yml @@ -1,18 +1,24 @@ openapi: '3.0.1' info: title: Storefront Orders - description: Get order data immediately after an order is placed on the storefront. + description: |- + Get order data immediately after an order is placed on the storefront. + + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + version: '' termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce url: 'https://www.bigcommerce.com' email: support@bigcommerce.com - version: '' servers: - url: 'https://{store_domain}/api/storefront' variables: store_domain: - default: yourstore.example.com + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Order paths: @@ -24,7 +30,6 @@ paths: description: |- Returns *Order* data. This will return order data immediately after an order is placed on the storefront. - > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -264,6 +269,7 @@ components: description: A publicly-accessible URL for an image of this item. discounts: type: object + properties: {} description: List of discounts applied to this item. If no discount applied, empty array is returned. If discount has been applied, discount object returned. discountAmount: type: number @@ -1061,7 +1067,4 @@ components: application/json: schema: $ref: '#/components/schemas/Order' -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index c2039c9c7..73b7f1560 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -1,28 +1,10 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: version: '' title: Orders V2 description: |- Manage order coupons, messages, products, shipping addresses, statuses, taxes, shipments, and shipping address quotes. - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` request header. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/{{ENDPOINT}} - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth Scopes - - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Orders | modify | `store_v2_orders` | - | Orders | read-only | `store_v2_orders_read_only` | - - ## Order The Order object contains a record of the purchase agreement between a shopper and a merchant. To learn more about creating orders, see [Orders API Guide](/api-docs/orders/orders-api-overview). @@ -59,28 +41,40 @@ info: ... } ``` + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +security: + - X-Auth-Token: [] +servers: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway +tags: + - name: Orders + - name: Order Coupons + - name: Order Products + - name: Order Taxes + - name: Order Status + - name: Order Shipments + - name: Order Shipping Addresses + - name: Order Messages + - name: Order Shipping Addresses Quotes paths: - '/stores/{store_hash}/v2/orders/{order_id}': + '/orders/{order_id}': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: description: 'Gets an *Order*. To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview).' summary: Get an Order tags: - Orders - parameters: - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json responses: '200': $ref: '#/components/responses/order_Resp' @@ -105,8 +99,7 @@ paths: tags: - Orders parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -192,46 +185,25 @@ paths: summary: Archive an Order tags: - Orders - parameters: - - $ref: '#/components/parameters/order_id_path' - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '204': description: '' operationId: deleteAnOrder + '/orders/count': parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/count': + - $ref: '#/components/parameters/Accept' get: description: Gets an array of orders in the store organized by order status. summary: Get a Count of Orders tags: - Orders - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '200': $ref: '#/components/responses/ordersCount_Resp' operationId: getCountOrder + '/orders': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders': + - $ref: '#/components/parameters/Accept' get: description: |- Gets a list of orders using the filter query. @@ -242,8 +214,6 @@ paths: tags: - Orders parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/min_id' - $ref: '#/components/parameters/max_id' - $ref: '#/components/parameters/min_total' @@ -281,8 +251,7 @@ paths: tags: - Orders parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -422,20 +391,14 @@ paths: summary: Delete All Orders tags: - Orders - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '204': description: '' operationId: deleteAllOrders + '/orders/{order_id}/coupons': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/coupons': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: description: |- Lists all order coupons. Optional parameters can be passed in. @@ -450,21 +413,6 @@ paths: |`5`|`promotion`| summary: List Order Coupons parameters: - - $ref: '#/components/parameters/order_id_path' - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: @@ -473,25 +421,14 @@ paths: tags: - Order Coupons operationId: getAllOrderCoupons + '/orders/{order_id}/products': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - - schema: - type: string - name: order_id - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/products': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: description: 'Lists all order products on an order using `order_id`. By default, items sort from lowest to highest according to a newly created ID, separate from the `order_id` and the `product_id`.' summary: List Order Products parameters: - - $ref: '#/components/parameters/order_id_path' - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: @@ -500,18 +437,10 @@ paths: tags: - Order Products operationId: getAllOrderProducts + '/orders/{order_id}/shipping_addresses': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - - schema: - type: string - name: order_id - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/shipping_addresses': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: description: |- Get all shipping addresses on an order using the `order_id`. @@ -519,8 +448,6 @@ paths: Returned in the response is shipping_quotes object. Please use the Get Shipping Quotes Endpoint. Using the response will return a 204 for the shipping quote. summary: Get Order Shipping Addresses parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: @@ -529,19 +456,9 @@ paths: tags: - Order Shipping Addresses operationId: getAllShippingAddresses + '/order_statuses': parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/order_statuses': + - $ref: '#/components/parameters/Accept' get: description: |- Returns a Collection of All Order Statuses. @@ -565,29 +482,23 @@ paths: | 13 | Disputed | Customer has initiated a dispute resolution process for the PayPal transaction that paid for the order. | | 14 | Partially Refunded | Seller has partially refunded the order. | summary: Get All Order Statuses - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '200': $ref: '#/components/responses/orderStatusCollection_Resp' tags: - Order Status operationId: getOrderStatus + '/order_statuses/{status_id}': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/order_statuses/{status_id}': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/status_id_path' get: description: |- Returns a single order status. - **Order Status Descriptions:** + **Order Status Descriptions** |Status ID | Name | Description | - |--|--|--| + |:--|:--|:--| | 0 | Incomplete | An incomplete order happens when a shopper reached the payment page, but did not complete the transaction. | | 1 | Pending |Customer started the checkout process, but did not complete it. | | 2 | Shipped | Order has been shipped, but receipt has not been confirmed; seller has used the Ship Items action. | @@ -603,29 +514,17 @@ paths: | 12 | Manual Verification Required | Order is on hold while some aspect needs to be manually confirmed. | | 13 | Disputed | Customer has initiated a dispute resolution process for the PayPal transaction that paid for the order. | | 14 | Partially Refunded | Seller has partially refunded the order. | - summary: Get a Single Order Status by Id - parameters: - - $ref: '#/components/parameters/status_id_path' - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + summary: Get a Single Order Status by ID responses: '200': $ref: '#/components/responses/orderStatus_Resp' tags: - Order Status operationId: getAOrderStatus + '/orders/{order_id}/taxes': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - - schema: - type: string - name: status_id - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/taxes': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: description: |- Gets all order taxes using `order_id`. @@ -636,8 +535,6 @@ paths: All values are read-only. summary: Get All Order Taxes parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - in: query @@ -652,25 +549,14 @@ paths: tags: - Order Taxes operationId: getOrderTaxes + '/orders/{order_id}/shipments': parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/shipments': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: description: Gets a list of all shipments on an order. summary: Get Order Shipments parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: @@ -696,8 +582,7 @@ paths: Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). summary: Create Order Shipment parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -714,53 +599,30 @@ paths: delete: description: Deletes all shipments associated with an order. summary: Delete Order Shipments - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '204': description: '' tags: - Order Shipments operationId: deleteAllOrderShipments + '/orders/{order_id}/shipments/count': parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/shipments/count': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: description: Gets a count of the number of shipments that have been made for a single order. summary: Get Count of Order Shipments - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '200': $ref: '#/components/responses/orderCount_Resp' tags: - Order Shipments operationId: getCountShipments + '/orders/{order_id}/shipments/{shipment_id}': parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/shipments/{shipment_id}': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' + - $ref: '#/components/parameters/shipment_id_path' get: tags: - Order Shipments @@ -770,15 +632,11 @@ paths: operationId: getOrderShipment summary: Get a Shipment description: 'Gets an order shipment. ' - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' put: description: Updates an existing shipment associated with an order. summary: Update a Shipment parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -803,34 +661,16 @@ paths: delete: description: Deletes a shipment associated with an order. summary: Delete an Order Shipment - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '204': description: '' tags: - Order Shipments operationId: deleteOrderShipment + '/orders/{order_id}/messages': parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - name: shipment_id - in: path - required: true - description: Shipment ID. - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/messages': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' get: responses: '200': @@ -840,8 +680,6 @@ paths: tags: - Order Messages parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/min_id' - $ref: '#/components/parameters/max_id' - $ref: '#/components/parameters/customer_id' @@ -852,19 +690,11 @@ paths: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' operationId: getOrderMessages + '/orders/{order_id}/products/{product_id}': parameters: - - in: path - name: order_id - description: ID of the order - required: true - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/products/{product_id}': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' + - $ref: '#/components/parameters/product_id_path' get: responses: '200': @@ -873,29 +703,17 @@ paths: description: Gets a product line item associated with the order. tags: - Order Products - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' operationId: getAnOrderProduct + '/orders/{order_id}/shipping_addresses/{id}': parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - name: product_id + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' + - name: id in: path + description: Shipping address ID. required: true - description: ID of the product. schema: - type: integer - - schema: type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v2/orders/{order_id}/shipping_addresses/{id}': get: responses: '200': @@ -907,37 +725,7 @@ paths: Returned in the response is shipping_quotes object. Please use the Get Shipping Quotes Endpoint. Using the response will return a 204 for the shipping quote. tags: - Order Shipping Addresses - parameters: - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json operationId: getAShippingAddress - parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - name: id - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true put: summary: Update a Shipping Address operationId: updateAShippingAddress @@ -1021,18 +809,7 @@ paths: - status: 404 message: The requested resource was not found. parameters: - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - in: header - name: Content-Type - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -1059,7 +836,11 @@ paths: **Note**: Updating a shipping address will NOT trigger the recalculation of shipping cost and tax tags: - Order Shipping Addresses - '/stores/{store_hash}/v2/orders/{order_id}/shipping_addresses/{shipping_address_id}/shipping_quotes': + '/orders/{order_id}/shipping_addresses/{shipping_address_id}/shipping_quotes': + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/order_id_path' + - $ref: '#/components/parameters/shipping_address_id_path' get: responses: '200': @@ -1069,50 +850,27 @@ paths: Gets all shipping quotes persisted on an order. This is a read-only endpoint and the output can vary based on the shipping quote. A shipping quote can only be generated using the storefront at this time. Orders that are created in the control panel or using the API return a 204 for this endpoint since a shipping quote is not generated during that process. - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' tags: - Order Shipping Addresses Quotes operationId: getShippingQuotes - parameters: - - in: path - name: order_id - description: ID of the order. - required: true - schema: - type: integer - - name: shipping_address_id - in: path - required: true - description: Shipping address ID. - schema: - type: integer - - schema: - type: string - name: store_hash - in: path - required: true -tags: - - name: Orders - - name: Order Coupons - - name: Order Products - - name: Order Taxes - - name: Order Status - - name: Order Shipments - - name: Order Shipping Addresses - - name: Order Messages - - name: Order Shipping Addresses Quotes -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -servers: - - url: 'https://api.bigcommerce.com' 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' min_id: name: min_id in: query @@ -1258,20 +1016,6 @@ components: - status_id - channel_id - external_id - Accept: - name: Accept - in: header - required: true - schema: - type: string - default: application/json - Content-Type: - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json status: name: status in: query @@ -1288,27 +1032,27 @@ components: schema: type: boolean order_id_path: - in: path name: order_id + in: path description: ID of the order. required: true schema: type: integer - product_id: + product_id_path: name: product_id in: path required: true description: ID of the product. schema: type: integer - shipping_address_id: + shipping_address_id_path: name: shipping_address_id in: path required: true description: Shipping address ID. schema: type: integer - shipment_id: + shipment_id_path: name: shipment_id in: path required: true @@ -1756,7 +1500,8 @@ components: custom_status: Awaiting Payment customer_locale: en external_order_id: external-order-id - Multiple Items: + 'Multiple Items': + value: id: 247 customer_id: 11 date_created: 'Thu, 20 Jun 2019 16:07:08 +0000' @@ -2129,116 +1874,119 @@ components: display_style: Pick list configurable_fields: [] gift_certificate_id: null - Custom Product: - - id: 238 - order_id: 247 - product_id: 0 - variant_id: 0 - order_address_id: 151 - name: Journal - name_customer: Journal - name_merchant: Journal - sku: Jour-BLK - upc: '' - type: physical - base_price: '45.0000' - price_ex_tax: '41.5700' - price_inc_tax: '45.0000' - price_tax: '3.4300' - base_total: '45.0000' - total_ex_tax: '41.5700' - total_inc_tax: '45.0000' - total_tax: '3.4300' - weight: '0.0000' - width: '0.0000' - height: '0.0000' - depth: '0.0000' - quantity: 1 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' - cost_price_tax: '0.0000' - is_refunded: false - quantity_refunded: 0 - refund_amount: '0.0000' - return_id: 0 - wrapping_name: '' - base_wrapping_cost: '0.0000' - wrapping_cost_ex_tax: '0.0000' - wrapping_cost_inc_tax: '0.0000' - wrapping_cost_tax: '0.0000' - wrapping_message: '' - quantity_shipped: 0 - event_name: null - event_date: '' - fixed_shipping_cost: '0.0000' - ebay_item_id: '' - ebay_transaction_id: '' - option_set_id: null - parent_order_product_id: null - is_bundled_product: false - bin_picking_number: '' - external_id: null - fulfillment_source: '' - brand: BigCommerce - applied_discounts: [] - product_options: [] - configurable_fields: [] - gift_certificate_id: null - Product with Variants: - - id: 240 - order_id: 247 - product_id: 201 - variant_id: 477 - order_address_id: 151 - name: BigCommerce T-Shirt - name_customer: BigCommerce T-Shirt - name_merchant: BigCommerce T-Shirt - sku: SKU-201-Red-Small T-Shirt-Able Brewing System - upc: '' - type: physical - base_price: '235.0000' - price_ex_tax: '217.0900' - price_inc_tax: '235.0000' - price_tax: '17.9100' - base_total: '940.0000' - total_ex_tax: '868.3600' - total_inc_tax: '940.0000' - total_tax: '71.6400' - weight: '3.0000' - width: '3.0000' - height: '3.0000' - depth: '3.0000' - quantity: 4 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' - cost_price_tax: '0.0000' - is_refunded: false - quantity_refunded: 0 - refund_amount: '0.0000' - return_id: 0 - wrapping_name: '' - base_wrapping_cost: '0.0000' - wrapping_cost_ex_tax: '0.0000' - wrapping_cost_inc_tax: '0.0000' - wrapping_cost_tax: '0.0000' - wrapping_message: '' - quantity_shipped: 0 - event_name: {} - event_date: '' - fixed_shipping_cost: '0.0000' - ebay_item_id: '' - ebay_transaction_id: '' - option_set_id: 68 - parent_order_product_id: {} - is_bundled_product: false - bin_picking_number: '' - external_id: {} - fulfillment_source: '' - brand: BigCommerce - applied_discounts: [] - product_options: + Custom Product: + value: + id: 238 + order_id: 247 + product_id: 0 + variant_id: 0 + order_address_id: 151 + name: Journal + name_customer: Journal + name_merchant: Journal + sku: Jour-BLK + upc: '' + type: physical + base_price: '45.0000' + price_ex_tax: '41.5700' + price_inc_tax: '45.0000' + price_tax: '3.4300' + base_total: '45.0000' + total_ex_tax: '41.5700' + total_inc_tax: '45.0000' + total_tax: '3.4300' + weight: '0.0000' + width: '0.0000' + height: '0.0000' + depth: '0.0000' + quantity: 1 + base_cost_price: '0.0000' + cost_price_inc_tax: '0.0000' + cost_price_ex_tax: '0.0000' + cost_price_tax: '0.0000' + is_refunded: false + quantity_refunded: 0 + refund_amount: '0.0000' + return_id: 0 + wrapping_name: '' + base_wrapping_cost: '0.0000' + wrapping_cost_ex_tax: '0.0000' + wrapping_cost_inc_tax: '0.0000' + wrapping_cost_tax: '0.0000' + wrapping_message: '' + quantity_shipped: 0 + event_name: null + event_date: '' + fixed_shipping_cost: '0.0000' + ebay_item_id: '' + ebay_transaction_id: '' + option_set_id: null + parent_order_product_id: null + is_bundled_product: false + bin_picking_number: '' + external_id: null + fulfillment_source: '' + brand: BigCommerce + applied_discounts: [] + product_options: [] + configurable_fields: [] + gift_certificate_id: null + Product with Variants: + value: + id: 240 + order_id: 247 + product_id: 201 + variant_id: 477 + order_address_id: 151 + name: BigCommerce T-Shirt + name_customer: BigCommerce T-Shirt + name_merchant: BigCommerce T-Shirt + sku: SKU-201-Red-Small T-Shirt-Able Brewing System + upc: '' + type: physical + base_price: '235.0000' + price_ex_tax: '217.0900' + price_inc_tax: '235.0000' + price_tax: '17.9100' + base_total: '940.0000' + total_ex_tax: '868.3600' + total_inc_tax: '940.0000' + total_tax: '71.6400' + weight: '3.0000' + width: '3.0000' + height: '3.0000' + depth: '3.0000' + quantity: 4 + base_cost_price: '0.0000' + cost_price_inc_tax: '0.0000' + cost_price_ex_tax: '0.0000' + cost_price_tax: '0.0000' + is_refunded: false + quantity_refunded: 0 + refund_amount: '0.0000' + return_id: 0 + wrapping_name: '' + base_wrapping_cost: '0.0000' + wrapping_cost_ex_tax: '0.0000' + wrapping_cost_inc_tax: '0.0000' + wrapping_cost_tax: '0.0000' + wrapping_message: '' + quantity_shipped: 0 + event_name: {} + event_date: '' + fixed_shipping_cost: '0.0000' + ebay_item_id: '' + ebay_transaction_id: '' + option_set_id: 68 + parent_order_product_id: {} + is_bundled_product: false + bin_picking_number: '' + external_id: {} + fulfillment_source: '' + brand: BigCommerce + applied_discounts: [] + product_options: + value: - id: 143 option_id: 96 order_product_id: 240 @@ -2822,9 +2570,9 @@ components: type: string handling_cost_inc_tax: description: 'The value of the handling cost, including tax. (Float, Float-As-String, Integer)' - type: - - number - - string + oneOf: + - type: number + - type: string handling_cost_tax: description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' example: '0.0000' @@ -3051,10 +2799,9 @@ components: * When supplying the value, we recommend combining the type of system and vendor, e.g., ERP (Acumatica) or POS (Square). * If you are migrating historical orders processed on another eCommerce platform to BigCommerce, supply the following code as the value: M-MIG. This code will exclude historical orders from the store’s GMV/order count, which factors into pricing. * If you do not provide a value, then it will default to null.. - example: 'null' - oneOf: - - type: string - - type: null + example: null + nullable: true + type: string products: $ref: '#/components/schemas/products_Resource' shipping_addresses: @@ -3063,12 +2810,12 @@ components: $ref: '#/components/schemas/coupons_Resource' external_id: description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a POST request, but using a PUT request to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set.' - example: 'null' + example: null type: string nullable: true external_merchant_id: description: ID of the merchant. - example: 'null' + example: null type: string nullable: true channel_id: @@ -3095,35 +2842,32 @@ components: type: string example: external-order-id description: The external id of the order. - requestBodies: null securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Orders | modify | `store_v2_orders` | | Orders | read-only | `store_v2_orders_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: order_Resp: title: order_Resp @@ -3164,20 +2908,18 @@ components: code: description: 'Coupon code, as a string.' example: S2549JM0Y - type: - - string - - 'null' + nullable: true + type: string amount: description: 'Amount of the discount. This information is returned as in integer. Dollar and percentage discounts will return the same. For example, $3 returns as ''3'' while 5% will return as 5. Check the discount type to see what type of discount is available.' example: 5 - type: - - string - - number - - integer + oneOf: + - type: string + - type: number + - type: integer format: float type: - type: - - integer + type: integer title: Order Coupon Discount Type description: |- 0: per_item_discount @@ -3305,9 +3047,9 @@ components: weight: description: 'Weight of the product. (Float, Float-As-String, Integer)' example: 1 - type: - - number - - string + oneOf: + - type: number + - type: string cost_price_tax: description: |- Tax applied to the product’s cost price. (Float, Float-As-String, Integer) @@ -3329,7 +3071,7 @@ components: type: number wrapping_name: description: Name of gift-wrapping option. - example: 'null' + example: null type: string base_wrapping_cost: description: 'The value of the base wrapping cost. (Float, Float-As-String, Integer)' @@ -3358,7 +3100,7 @@ components: type: number event_name: description: Name of promotional event/delivery date. - example: 'null' + example: null type: string nullable: true event_date: @@ -3728,9 +3470,8 @@ components: Coupon Code. There is no code when creating a manual discount. example: S2549JM0Y - type: - - string - - 'null' + nullable: true + type: string target: type: string enum: @@ -4102,23 +3843,22 @@ components: example: null oneOf: - type: string - - type: null + nullable: true external_merchant_id: description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' example: null oneOf: - type: string - - type: null + nullable: true external_source: description: |- This value identifies an external system that generated the order and submitted it to BigCommerce with the Orders API. * When supplying the value, we recommend combining the type of system and vendor, e.g., ERP (Acumatica) or POS (Square). * If you are migrating historical orders processed on another eCommerce platform to BigCommerce, supply the following code as the value: M-MIG. This code will exclude historical orders from the store’s GMV/order count, which factors into pricing. * If you do not provide a value, then it will default to null. - example: 'null' - oneOf: - - type: string - - type: null + example: null + type: string + nullable: true geoip_country: description: 'The full name of the country where the customer made the purchase, based on the IP.' example: United States @@ -4178,9 +3918,9 @@ components: payment_provider_id: description: The external Transaction ID/Payment ID within this order’s payment provider (if a payment provider was used). example: '' - type: - - string - - number + oneOf: + - type: string + - type: number refunded_amount: description: 'The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) ' example: '0.0000' @@ -4540,7 +4280,7 @@ components: properties: id: type: integer - description: 'The order product `id`. To add a product to an existing order, don''t include `id` in the payload. `id` is required when updating an order product.' + description: 'The order product `id`. To add a product to an existing order, donʼt include `id` in the payload. `id` is required when updating an order product.' - $ref: '#/components/schemas/orderCatalogProduct_Post' x-internal: false orderCatalogProduct_Post: @@ -4577,7 +4317,7 @@ components: properties: id: type: integer - description: 'Numeric ID of an option applied to the product from a list of options available to the product. This field has the same value as `product_option_id` when [retrieving products in an order](/api-reference/store-management/orders/order-products/getallorderproducts).' + description: 'Numeric ID of an option applied to the product from a list of options available to the product. This field has the same value as `product_option_id` when [retrieving products in an order](/docs/rest-management/orders/order-products#list-order-products).' value: type: string description: |- @@ -4694,10 +4434,8 @@ components: order_Put: title: order_Put allOf: - - payment_method: - type: string - description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `Cash`,`Test Payment Gateway`, etc.' - type: object + - $ref: '#/components/schemas/order_Shared' + - type: object properties: products: type: array @@ -4707,7 +4445,6 @@ components: - $ref: '#/components/schemas/orderCustomProduct_Put' shipping_addresses: $ref: '#/components/schemas/shippingAddress_Base' - - $ref: '#/components/schemas/order_Shared' x-internal: false order_Post: title: order_Post diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 3cebd7dba..75db03448 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -1,13 +1,22 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: title: Orders V3 version: '' description: Manage order settings of BigCommerce stores. - termsOfService: '' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com license: name: '' servers: - - url: 'https://api.bigcommerce.com' + - 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: @@ -16,7 +25,7 @@ tags: - name: Transactions - name: Order Settings paths: - '/stores/{store_hash}/v3/orders/{order_id}/payment_actions/capture': + '/orders/{order_id}/payment_actions/capture': post: summary: Capture description: |- @@ -26,14 +35,7 @@ paths: * `store_v2_transactions` operationId: paymentactioncapture parameters: - - name: order_id - in: path - description: ID of the order - required: true - schema: - type: integer - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' responses: '201': $ref: '#/components/responses/201_Created' @@ -52,17 +54,9 @@ paths: tags: - Payment Actions parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: order_id - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/orders/{order_id}/payment_actions/void': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/OrderIdParam' + '/orders/{order_id}/payment_actions/void': post: summary: Void description: |- @@ -73,14 +67,7 @@ paths: * `store_v2_transactions` operationId: paymentactionvoid parameters: - - name: order_id - in: path - description: ID of the order - required: true - schema: - type: integer - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' responses: '201': $ref: '#/components/responses/201_Created' @@ -99,30 +86,12 @@ paths: tags: - Payment Actions parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: order_id - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/orders/{order_id}/transactions': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/OrderIdParam' + '/orders/{order_id}/transactions': parameters: - - name: order_id - in: path - description: | - The ID of the `Order` to which the transactions belong. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/OrderIdParam' get: tags: - Transactions @@ -183,25 +152,7 @@ paths: type: string title: Not Found summary: Get Transactions - parameters: - - name: order_id - in: path - description: | - The ID of the `Order` to which the transactions belong. - required: true - schema: - type: integer - - in: header - name: Accept - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json - '/stores/{store_hash}/v3/orders/{order_id}/payment_actions/refund_quotes': + '/orders/{order_id}/payment_actions/refund_quotes': post: summary: Create a Refund Quote description: |- @@ -212,14 +163,7 @@ paths: * `store_v2_transactions` operationId: postrefundquote parameters: - - name: order_id - in: path - description: Order id - required: true - schema: - type: integer - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -259,17 +203,9 @@ paths: tags: - Payment Actions parameters: - - name: order_id - in: path - required: true - schema: - type: string - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/orders/{order_id}/payment_actions/refunds': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/OrderIdParam' + '/orders/{order_id}/payment_actions/refunds': post: summary: Create a Refund description: |- @@ -280,14 +216,7 @@ paths: * `store_v2_transactions` operationId: postrefund parameters: - - name: order_id - in: path - description: order id - required: true - schema: - type: integer - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -415,26 +344,23 @@ paths: * `store_v2_orders_read_only` * `store_v2_orders` operationId: getorderrefunds - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' responses: '200': $ref: '#/components/responses/RefundCollection_Resp' tags: - Payment Actions parameters: - - name: order_id - in: path - required: true - schema: - type: string - - name: store_hash + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/OrderIdParam' + '/orders/payment_actions/refunds/{refund_id}': + parameters: + - $ref: '#/components/parameters/Accept' + - name: refund_id in: path + description: Refund ID. required: true schema: - type: string - '/stores/{store_hash}/v3/orders/payment_actions/refunds/{refund_id}': + type: integer get: summary: Get a Refund description: Returns a refund by refund ID. @@ -444,21 +370,9 @@ paths: $ref: '#/components/responses/RefundID_Response' tags: - Payment Actions + '/orders/payment_actions/refund_quotes': parameters: - - name: refund_id - in: path - description: Refund ID. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - '/stores/{store_hash}/v3/orders/payment_actions/refund_quotes': post: summary: Create Refund Quotes - BATCH description: |- @@ -471,8 +385,7 @@ paths: * `store_v2_transactions` operationId: postrefundquotes parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -572,13 +485,9 @@ paths: tags: - Payment Actions x-private: true + '/orders/payment_actions/refunds': parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/orders/payment_actions/refunds': + - $ref: '#/components/parameters/Accept' get: summary: Get All Refunds description: |- @@ -609,8 +518,6 @@ paths: type: array items: type: integer - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' - in: query name: 'created:min' description: |- @@ -662,8 +569,7 @@ paths: * `store_v2_transactions` operationId: postrefunds parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -704,7 +610,7 @@ paths: items: $ref: '#/components/schemas/FailedQuoteError' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' Example 1: examples: response: @@ -769,7 +675,7 @@ paths: items: $ref: '#/components/schemas/FailedQuoteError' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' Example 1: examples: response: @@ -798,26 +704,10 @@ paths: tags: - Payment Actions x-private: true + '/orders/{order_id}/metafields': parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/orders/{order_id}/metafields': - parameters: - - name: order_id - in: path - description: | - The ID of the `Order` to which the transactions belong. - required: true - schema: - type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/OrderIdParam' get: summary: Get Metafields tags: @@ -864,6 +754,8 @@ paths: The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. operationId: createOrderMetafield + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -895,15 +787,10 @@ paths: application/json: schema: $ref: '#/components/schemas/ErrorResponse' - '/stores/{store_hash}/v3/orders/{order_id}/metafields/{metafield_id}': + '/orders/{order_id}/metafields/{metafield_id}': parameters: - - name: order_id - in: path - description: | - The ID of the `Order` to which the transactions belong. - required: true - schema: - type: integer + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/OrderIdParam' - name: metafield_id in: path description: | @@ -911,11 +798,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string get: summary: Get a Metafield tags: @@ -947,6 +829,8 @@ paths: The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. operationId: updateOrderMetafield + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -981,7 +865,7 @@ paths: '204': description: | An empty response. - '/stores/{store_hash}/v3/orders/settings': + '/orders/settings': get: summary: Get Global Order Settings description: Returns global order settings. @@ -996,7 +880,10 @@ paths: schema: allOf: - $ref: '#/components/schemas/GlobalOrderSettings' - - $ref: '#/components/schemas/metaEmpty_Full' + - type: object + properties: + meta: + $ref: '#/components/schemas/metaEmpty_Full' examples: {} '400': description: Bad request. Authentication Required. @@ -1008,6 +895,8 @@ paths: summary: Update Global Order Settings description: Updates global order settings. operationId: UpdateGlobalOrderSettings + parameters: + - $ref: '#/components/parameters/ContentType' tags: - Order Settings requestBody: @@ -1027,8 +916,11 @@ paths: application/json: schema: allOf: + - type: object - $ref: '#/components/schemas/GlobalOrderSettings' - - $ref: '#/components/schemas/metaEmpty_Full' + - properties: + meta: + $ref: '#/components/schemas/metaEmpty_Full' '400': description: Bad request. Authentication Required. content: @@ -1042,26 +934,14 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse422' parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/orders/settings/channels/{channel_id}': + - $ref: '#/components/parameters/Accept' + '/orders/settings/channels/{channel_id}': get: summary: Get Channel Order Settings description: Returns order settings for a specific channel. operationId: GetChannelOrderSettings tags: - Order Settings - parameters: - - schema: - type: integer - minimum: 1 - in: path - name: channel_id - required: true - description: Channel Id responses: '200': description: OK @@ -1070,7 +950,10 @@ paths: schema: allOf: - $ref: '#/components/schemas/ChannelOrderSettings' - - $ref: '#/components/schemas/metaEmpty_Full' + - type: object + properties: + meta: + $ref: '#/components/schemas/metaEmpty_Full' examples: {} '400': description: Bad request. Authentication Required. @@ -1085,16 +968,10 @@ paths: **Note:** You must override both notifications `email_addresses` or neither, i.e. either both notification `email_addresses` are an array of valid email addresses, or both `email_addresses` must be null. You may not have one set to an array of addesses and the other set to `null`. operationId: UpdateChannelOrderSettings + parameters: + - $ref: '#/components/parameters/ContentType' tags: - Order Settings - parameters: - - schema: - type: integer - minimum: 1 - in: path - name: channel_id - required: true - description: Channel Id requestBody: content: application/json: @@ -1115,7 +992,10 @@ paths: schema: allOf: - $ref: '#/components/schemas/ChannelOrderSettings' - - $ref: '#/components/schemas/metaEmpty_Full' + - type: object + properties: + meta: + $ref: '#/components/schemas/metaEmpty_Full' '400': description: Bad request. Authentication Required. content: @@ -1129,15 +1009,12 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse422' parameters: - - schema: - type: string - name: store_hash + - $ref: '#/components/parameters/Accept' + - name: channel_id in: path - required: true - - schema: + schema: type: string - name: channel_id - in: path + description: Channel ID required: true components: schemas: @@ -1671,15 +1548,15 @@ components: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: ErrorResponse x-internal: false DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors x-internal: false Transaction_Post: @@ -2257,11 +2134,10 @@ components: x-internal: false metaEmpty_Full: type: object - title: metaEmpty_Full - x-internal: false - properties: - meta: - type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. pagination_Full: type: object title: pagination_Full @@ -2347,8 +2223,8 @@ components: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: errorDetailed_Full x-internal: false @@ -2455,7 +2331,7 @@ components: 2. Mark an amount up to the full order amount as refunded externally, through a provider or means not represented directly in BC ("custom"). 3. Refund the amount paid by store credit to store credit, and the amount paid by bank deposit via a manual refund, which will be recorded as being refunded against the bank deposit. - > + items: $ref: '#/components/schemas/RefundMethod' x-internal: false @@ -2612,7 +2488,7 @@ components: description: | Reason for refunding an item meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' PostRefundsRequest: type: array description: Request body for batch refunds @@ -3444,8 +3320,7 @@ components: items: $ref: '#/components/schemas/Refund' meta: - type: object - description: Meta data collection + $ref: '#/components/schemas/metaEmpty_Full' refundsBATCH_Resp: description: '' content: @@ -3473,7 +3348,7 @@ components: data: $ref: '#/components/schemas/RefundQuote_Full' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' Refund_Resp: description: '' content: @@ -3484,7 +3359,7 @@ components: data: $ref: '#/components/schemas/Refund' meta: - type: object + $ref: '#/components/schemas/metaEmpty_Full' TransactionCollection_Resp: description: Response payload for the BigCommerce Order Transactions API. content: @@ -3596,17 +3471,21 @@ components: schema: type: integer Accept: - in: header 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 - Content-Type: + 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 + default: 'application/json' PageParam: name: page description: | @@ -3660,34 +3539,32 @@ components: - desc securitySchemes: X-Auth-Token: - type: apiKey - in: header name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` | | Order Transactions | read `transactions` and `payment_methods` | `store_v2_transactions_read_only` | | Orders | read and modify `payment_methods` |`store_v2_orders`| | Orders | read `payment_methods` |`store_v2_orders_read_only`| - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header examples: EnableMultipleOrderNotifications: summary: Enable order placed and forward invoice notifications @@ -3733,7 +3610,4 @@ components: email_addresses: [] forward_invoice: email_addresses: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/pages.v3.yml b/reference/pages.v3.yml index d75d130ae..6cc89db9f 100644 --- a/reference/pages.v3.yml +++ b/reference/pages.v3.yml @@ -26,19 +26,23 @@ info: | `page` | A user-defined plain-text page. | text | | `contact_form` | A user-customizable page that contains a contact form. | HTML | | `raw` | A user-defined page that contains HTML markup or other stringified code. | HTML, other code | - | `blog` | A page that contains blog posts. Use caution; `blog`-type pages can only be created in the store control panel, but you may be able to change the type of a blog page to something else with this API. Use the [Store Content API](/api-reference/store-management/store-content/blog-posts/createablogposts) to work with blog posts and tags. | empty string | + | `blog` | A page that contains blog posts. Use caution; `blog`-type pages can only be created in the store control panel, but you may be able to change the type of a blog page to something else with this API. Use the [Store Content API](/docs/rest-content/store-content/blog-posts#create-a-blog-post) to work with blog posts and tags. | empty string | | `feed` | Makes RSS-syndicated content feeds available in the menu of other pages that contain markup. | — | | `link` | A link to an external absolute URL. Displays in the menu of other pages that contain markup. | — | servers: - - url: 'https://api.bigcommerce.com' - description: OAuth API Gateway + - 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 tags: - name: Pages (Bulk) - name: Pages (Single) security: - X-Auth-Token: [] paths: - '/stores/{store_hash}/v3/content/pages': + '/content/pages': get: operationId: content-pages-get tags: @@ -209,9 +213,9 @@ paths: description: |- Deletes one or more content pages. This endpoint supports bulk operations. - - > #### Mind query parameters - > If you attempt to delete multiple pages by passing more than one pageId to `id:in` and one or more of them does not exist, you will receive a 404 response. However, the pages corresponding to the pagesIds that do exist will still be deleted. + > #### Warning + > **Pay attention to query parameters** + > If you attempt to delete multiple pages by passing more than one `pageId`` to `id:in` and one or more of them does not exist, you will receive a 404 response. However, the pages corresponding to the `pagesId`s that do exist will still be deleted. responses: '204': $ref: '#/components/responses/HTTP204' @@ -245,8 +249,7 @@ paths: summary: Delete Pages parameters: - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/storeHashPath' - '/stores/{store_hash}/v3/content/pages/{pageId}': + '/content/pages/{pageId}': get: operationId: content-page-get tags: @@ -254,9 +257,9 @@ paths: description: |- Returns one content page. - - > #### Mind query parameters - > This endpoint recognizes the same query parameters as [Get Multiple Pages](/api-reference/store-management/pages/pages/getpages). If the requested page does not meet the query parameters you specify, you will receive a 404 response even if the requested pageId does exist. + > #### Warning + > **Pay attention to query parameters** + > This endpoint recognizes the same query parameters as [Get Multiple Pages](/docs/rest-content/pages#get-pages). If the requested page does not meet the query parameters you specify, you will receive a 404 response even if the requested `pageId` does exist. responses: '200': description: '' @@ -487,8 +490,8 @@ paths: description: |- Deletes one content page. - - > #### Query parameters + > #### Warning + > **Query parameters not recognized** > This endpoint does not recognize query parameters. responses: '204': @@ -509,12 +512,7 @@ paths: summary: Delete a Page parameters: - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/storeHashPath' - $ref: '#/components/parameters/pageIdPath' -x-stoplight: - docs: - includeDownloadLink: true - showSchemas: false components: parameters: Accept: @@ -531,13 +529,6 @@ components: schema: type: string default: 'application/json' - storeHashPath: - schema: - type: string - name: store_hash - in: path - required: true - description: The permanent ID of the BigCommerce store. pageIdPath: schema: type: string @@ -1232,7 +1223,7 @@ components: example: 0 type: type: string - description: 'Determines the type of page. See [Pages v3 page types](/api-reference/store-management/pages#page-types) for more about the differences.' + description: 'Determines the type of page. See [Pages v3 page types](/docs/rest-content/pages#page-types) for more about the differences.' nullable: false example: page enum: @@ -1392,7 +1383,7 @@ components: default: 0 type: type: string - description: 'Determines the type of page. See [Pages v3 page types](/api-reference/store-management/pages#page-types) for more about the differences.' + description: 'Determines the type of page. See [Pages v3 page types](/docs/rest-content/pages#page-types) for more about the differences.' example: page enum: - page diff --git a/reference/payment_methods.v2.yml b/reference/payment_methods.v2.yml index 8678aa912..3ff2e4f09 100644 --- a/reference/payment_methods.v2.yml +++ b/reference/payment_methods.v2.yml @@ -1,35 +1,31 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Payment Methods description: |- Get a list of a store's enabled payment methods. For processing payments, see [Payment Processing API](/api-docs/payments/payments-api-overview). - - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` in the request header. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v2/{{ENDPOINT}} - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | read-only | `store_payments_methods_read` | - termsOfService: "" + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com license: - name: "" - version: "" + name: '' + version: '' servers: -- url: https://api.bigcommerce.com + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: - name: Payment Methods paths: - /stores/{store_hash}/v2/payments/methods: + '/payments/methods': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Payment Methods @@ -37,27 +33,10 @@ paths: operationId: getAllPaymentMethods description: | Gets the list of enabled payment methods. Default sorting is by payment method, alphabetically from A to Z. - - > #### Note: + + > #### Note > Avoid using this API operation if possible. It is not supported; therefore, all enabled providers may not appear. parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - name: page in: query description: Optional filter param `/api/v2/payments/methods?page={number}` @@ -88,6 +67,23 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false 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' schemas: payment_Base: title: payment_Base @@ -122,28 +118,26 @@ components: $ref: '#/components/schemas/payment_Base' securitySchemes: X-Auth-Token: - type: apiKey - description: | - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | read-only | `store_payments_methods_read` | - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example + name: X-Auth-Token + description: |- + ### OAuth scopes - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Information & Settings | read-only | `store_payments_methods_read` | - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header diff --git a/reference/payment_processing.yml b/reference/payment_processing.yml index bff204f0a..769e5ff0b 100644 --- a/reference/payment_processing.yml +++ b/reference/payment_processing.yml @@ -1,24 +1,28 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: version: '' title: Payment Processing - contact: {} description: 'Process payments using payment instrument such as credit card. See [Payments Overview](/api-docs/store-management/payment-processing) for more information.' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com tags: - name: Accepted Methods - name: Access Tokens - name: Process Payment -x-stoplight: - docs: - includeDownloadLink: true - showModels: false servers: - - url: 'https://api.bigcommerce.com' + - 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 - url: 'https://payments.bigcommerce.com' -security: - - X-Auth-Token: [] + description: BigCommerce Payments Gateway paths: - '/stores/{store_hash}/payments': + '/payments': post: summary: Process Payment tags: @@ -27,29 +31,12 @@ paths: description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payment-processing) for more information.' servers: - url: 'https://payments.bigcommerce.com' + description: BigCommerce Payments Gateway + security: + - BearerPAT: [] parameters: - - name: Authorization - in: header - required: true - description: 'Authorization header with a valid payment access token is required to access this endpoint e.g. Authorization: PAT a-valid-payment-access-token' - schema: - type: string - example: 'PAT {{PAT}}' - - name: Accept - in: header - schema: - type: string - enum: - - application/vnd.bc.v1+json - default: application/vnd.bc.v1+json - required: true - description: This required value must be `application/vnd.bc.v1+json` - - name: Content-Type - in: header - schema: - type: string - default: application/json - required: true + - $ref: '#/components/parameters/AcceptPaymentResponse' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -331,19 +318,14 @@ paths: - status - title - type - security: [] + '/payments/access_tokens': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/payments/access_tokens': + - $ref: '#/components/parameters/Accept' post: description: |- This endpoint provides the capability to create a payment access token. The payment access token is required when making request to Payment API for submitting payment for an order. - After the token is created, use the token to [Process Payments](/api-reference/payments/payments-process-payments/payment/paymentspost). + After the token is created, use the token to [Process Payments](/docs/rest-payments/processing/process-payment#process-payment). **Required Fields** * order_id @@ -352,19 +334,17 @@ paths: - Access Tokens operationId: PaymentsAccessTokensPost servers: - - url: 'https://api.bigcommerce.com' + - 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: [] deprecated: false parameters: - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -411,6 +391,11 @@ paths: minLength: 1 required: - id + meta: + type: object + properties: {} + additionalProperties: true + description: Response metadata. examples: example-1: value: @@ -615,19 +600,15 @@ paths: - status - title - type + '/payments/methods': parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/payments/methods': + - $ref: '#/components/parameters/Accept' get: description: |- Returns a list of accepted payment methods based on the `order_id` or `checkout_id`. **Notes** - * Use the [Create an Order](/api-reference/store-management/checkouts/checkout-orders/createanorder) endpoint, to generate the `order_id`. + * Use the [Create an Order](/docs/rest-management/orders#create-an-order) endpoint to generate the `order_id`. * Orders created will be set to incomplete order status. * The cart ID and checkout ID are the same. @@ -638,7 +619,14 @@ paths: - Accepted Methods operationId: PaymentsMethodsGet servers: - - url: 'https://api.bigcommerce.com' + - 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: [] deprecated: false parameters: - name: order_id @@ -656,16 +644,6 @@ paths: type: string exclusiveMinimum: false exclusiveMaximum: false - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json responses: '200': $ref: '#/components/responses/paymentsMethods_Resp' @@ -834,28 +812,34 @@ paths: - status - title - type - parameters: - - schema: - type: string - name: store_hash - in: path - required: true components: parameters: - Accept: + AcceptPaymentResponse: name: Accept in: header schema: type: string enum: - - application/vnd.bc.v1+json - default: application/vnd.bc.v1+json - Content-Type: + - 'application/vnd.bc.v1+json' + default: 'application/vnd.bc.v1+json' + required: true + description: This required value must be `application/vnd.bc.v1+json`. + 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 + default: 'application/json' responses: paymentsMethods_Resp: description: '' @@ -869,6 +853,11 @@ components: type: array items: $ref: '#/components/schemas/paymentMethod_Full' + meta: + type: object + properties: {} + additionalProperties: true + description: Response metadata. examples: response: value: @@ -926,41 +915,50 @@ components: $ref: '#/components/schemas/PaymentAccessToken' securitySchemes: X-Auth-Token: - type: apiKey - in: header name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Create Payments | create | `store_payments_access_token_create` | | Get Payment Methods | read-only | `store_payments_methods_read` | - ### Headers + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`ACCESS_TOKEN`|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - |`Authorization`|`PAT {{PAYMENT_ACCESS_TOKEN}}`|Obtained using Create Access Token endpoint.| + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header + BearerPAT: + description: |- + ### OAuth scopes - ### Examples + The required scopes are granted to the `payment_access_token` upon generation. - ```http title="Create payment access token" - POST /stores/{{STORE_HASH}}/v3/payments/access_tokens - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` -   - ```http title="Process payment" - POST /payments - host: payments.bigcommerce.com - Content-Type: application/json - Accept: application/vnd.bc.v1+json - Authorization: PAT {{PAYMENT_ACCESS_TOKEN}} - ``` + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + |`Authorization`|`PAT {{PAYMENT_ACCESS_TOKEN}}`| Obtained using the Create Access Token endpoint.| - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Further reading + + For an outline of the Process Payment API call flow and more information about authenticating, see [Authentication and Example Requests](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: http + scheme: bearer + bearerFormat: 'PAT {{PAYMENT_ACCESS_TOKEN}}' schemas: PaymentRequest: title: Payment Request @@ -1560,8 +1558,6 @@ components: x-internal: false GiftCertificate: title: GiftCertificate - x-stoplight: - id: azxvgrjgbxoew type: object properties: type: @@ -1576,8 +1572,6 @@ components: gift_certificate_code: ABC-DEF-GXX StoreCredit: title: StoreCredit - x-stoplight: - id: f7p4sz9rsvsyf type: object properties: type: diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 1bb7626a8..95fa56b7b 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1,31 +1,14 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Price Lists description: |- - Populate different versions of catalog pricing and assign them to different [customer groups](/api-reference/customer-subscribers/customers-api) at the variant level. - - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` in the request headers. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/{{ENDPOINT}} - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth Scopes - - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | + Populate different versions of catalog pricing and assign them to different [customer groups](/docs/rest-management/customers-v2/customer-groups) at the variant level. ## Price Lists - You can associate a Price List with a customer group either through the control panel or by using the [Customer Groups API.](/api-reference/customer-subscribers/customers-api) + You can associate a Price List with a customer group either through the control panel or by using the [Customer Groups API](/docs/rest-management/customers-v2/customer-groups). - You can create [Price List Assignments](/api-reference/store-management/price-lists/price-lists-assignments/createpricelistassignments) to assign Price Lists to a specific [channel](/api-reference/cart-checkout/channels-listings-api). Price Lists assigned to a channel apply to all shoppers on that channel, unless there are more specific assignments or customer group discounts set up for the shopper's customer group. + You can create [Price List Assignments](/docs/rest-management/price-lists/price-lists-assignments#create-price-list-assignments) to assign Price Lists to a specific [channel](/docs/rest-management/channels/channel-listings). Price Lists assigned to a channel apply to all shoppers on that channel, unless there are more specific assignments or customer group discounts set up for the shopper's customer group. If an active Price List does not contain prices for a variant, the catalog pricing will be used. @@ -56,7 +39,7 @@ info: - Price Lists cannot be assigned to a customer group that has customer group discounts -- the customer group discounts must be deleted first. - Bulk pricing Tiers may additionally be associated with a price record to indicate different pricing as the quantity in the cart increases. - If a variant has a Price Record, any existing product-level bulk pricing will not apply in the cart. For variants without Price Records, any existing product bulk pricing will apply. - - [Price Lists Records](/api-reference/store-management/price-lists/price-lists-records/setpricelistrecordcollection) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one bulk upsert in parallel on the **same store** will cause a 429 error and the request will fail. + - [Price Lists Records](/docs/rest-management/price-lists/price-lists-records) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one bulk upsert in parallel on the **same store** will cause a 429 error and the request will fail. - There are no webhooks available for Price Lists. Since Price Lists directly relate to products, product webhooks will trigger for corresponding changes such as pricing. ## Additional information @@ -67,16 +50,20 @@ info: * [SKU](/api-docs/store-management/webhooks/events#sku) ### Related endpoints - * [Get All Price Lists](/api-reference/store-management/price-lists/price-lists/getpricelistcollection) - termsOfService: '' + * [Get All Price Lists](/docs/rest-management/price-lists#get-all-price-lists) + termsOfService: 'https://www.bigcommerce.com/terms' contact: - name: '' - url: '' - license: - name: '' + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: '' servers: - - url: 'https://api.bigcommerce.com' + - 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: @@ -85,7 +72,9 @@ tags: - name: Price Lists Assignments - name: Price Lists Records paths: - '/stores/{store_hash}/v3/pricelists': + '/pricelists': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Price Lists @@ -93,11 +82,6 @@ paths: description: Returns a list of *Price Lists*. Optional parameters can be passed in. operationId: getPriceListCollection parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: | @@ -133,16 +117,6 @@ paths: description: Controls the number of items per page in a limited (paginated) list of products. schema: type: integer - - name: Content-Type - in: header - schema: - type: string - default: application/json - - name: Accept - in: header - schema: - type: string - default: application/json - name: 'id:in' in: query style: form @@ -315,21 +289,7 @@ paths: * name operationId: createPriceList parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -405,12 +365,9 @@ paths: example: true description: Specifies the Common Price List properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/Meta' description: |- - PriceList Reponse returns for: + PriceList Response returns for: * Create a PriceList * Get a PriceList @@ -435,8 +392,8 @@ paths: errors: title: Detailed Errors type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -461,8 +418,8 @@ paths: errors: title: Detailed Errors type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -483,11 +440,6 @@ paths: description: Deletes a *Price List*. All associated price records are also removed. Optional parameters can be passed in. operationId: deletePriceListsByFilter parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: | @@ -500,16 +452,6 @@ paths: Filter items by name. schema: type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json responses: '204': description: '`204 No Content`. The action has been performed and no further information will be supplied. `null` is returned.' @@ -518,7 +460,9 @@ paths: schema: type: object nullable: true - '/stores/{store_hash}/v3/pricelists/{price_list_id}': + '/pricelists/{price_list_id}': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Price Lists @@ -533,11 +477,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: Filter items by ID. @@ -615,12 +554,9 @@ paths: example: true description: Specifies the Common Price List properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/Meta' description: |- - PriceList Reponse returns for: + PriceList Response returns for: * Create a PriceList * Get a PriceList @@ -647,11 +583,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -727,12 +659,9 @@ paths: example: true description: Common Price List properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/Meta' description: |- - PriceList Reponse returns for: + PriceList Response returns for: * Create a PriceList * Get a PriceList @@ -778,8 +707,8 @@ paths: errors: title: Detailed Errors type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -804,8 +733,8 @@ paths: errors: title: Detailed Errors type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -837,15 +766,12 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string responses: '204': description: Action has been enacted and no further information is to be supplied. `null` is returned. - '/stores/{store_hash}/v3/pricelists/{price_list_id}/records': + '/pricelists/{price_list_id}/records': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Price Lists Records @@ -865,11 +791,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: 'variant_id:in' in: query description: The ID of the `Variant` for which prices were requested. @@ -956,16 +877,6 @@ paths: Filter items by SKU. schema: type: string - - name: Content-Type - in: header - schema: - type: string - default: application/json - - name: Accept - in: header - schema: - type: string - default: application/json - name: 'sku:in' in: query style: form @@ -1486,11 +1397,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: X-Strict-Mode in: header description: | @@ -1498,16 +1404,7 @@ paths: schema: type: integer default: 0 - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -1702,8 +1599,8 @@ paths: field_errors: title: Detailed Errors type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true description: Error during Price Record batch PUT request. Includes data sent in the request and errors. description: Errors during batch usage for the BigCommerce API. delete: @@ -1720,26 +1617,11 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - name: 'variant_id:in' in: query description: The ID of the `Variant` for which prices were requested. schema: type: integer - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json responses: '204': description: '' @@ -1761,7 +1643,9 @@ paths: instance: type: string description: No-content response for the BigCommerce API. - '/stores/{store_hash}/v3/pricelists/{price_list_id}/records/{variant_id}': + '/pricelists/{price_list_id}/records/{variant_id}': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Price Lists Records @@ -1788,21 +1672,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json responses: '200': description: '' @@ -1991,7 +1860,9 @@ paths: description: | Link to the next page returned in the response. examples: {} - '/stores/{store_hash}/v3/pricelists/{price_list_id}/records/{variant_id}/{currency_code}': + '/pricelists/{price_list_id}/records/{variant_id}/{currency_code}': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Price Lists Records @@ -2021,11 +1892,6 @@ paths: schema: type: string format: ISO-4217 - - name: store_hash - in: path - required: true - schema: - type: string - name: include in: query description: | @@ -2035,16 +1901,6 @@ paths: enum: - bulk_pricing_tiers - sku - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json responses: '200': description: '' @@ -2174,10 +2030,7 @@ paths: example: SMB-123 description: Common Price Record properties. meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/Meta' description: Response payload for the BigCommerce API. example: data: @@ -2228,21 +2081,7 @@ paths: schema: type: string format: ISO-4217 - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -2440,9 +2279,7 @@ paths: title: Price Record type: object meta: - type: object - description: Empty meta object; may be used later. - title: Meta + $ref: '#/components/schemas/Meta' title: Price Record Response examples: value: @@ -2502,8 +2339,8 @@ paths: errors: title: Detailed Errors type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -2528,8 +2365,8 @@ paths: errors: title: Detailed Errors type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -2572,26 +2409,13 @@ paths: schema: type: string format: ISO-4217 - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - schema: - type: string - default: application/json - - name: Accept - in: header - schema: - type: string - default: application/json responses: '204': description: '' content: {} - '/stores/{store_hash}/v3/pricelists/assignments': + '/pricelists/assignments': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Price Lists Assignments @@ -2599,11 +2423,6 @@ paths: description: Fetches an array of `Price List Assignments` matching a particular Customer Group and Price List and Channel. operationId: GetListOfPriceListAssignments parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: id in: query description: The ID of the `Price List Assignment`. @@ -2686,6 +2505,8 @@ paths: **Note:** The batch limit for `Price List Assignments` is 25. summary: Create Price List Assignments operationId: CreatePriceListAssignments + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -2720,13 +2541,9 @@ paths: responses: '204': description: No Content. - parameters: - - name: store_hash - in: path - required: true - schema: - type: string '/pricelists/{price_list_id}/assignments': + parameters: + - $ref: '#/components/parameters/Accept' put: tags: - Price Lists Assignments @@ -2735,6 +2552,7 @@ paths: operationId: upsertPriceListAssignment parameters: - $ref: '#/components/parameters/PriceListIdParam' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -2749,7 +2567,7 @@ paths: schema: $ref: '#/components/schemas/AssignmentForPutResponse' '404': - description: 'A matching customer group or channel wasn''t found, so no assignment is created or returned.' + description: 'A matching customer group or channel wasnʼt found, so no assignment is created or returned.' components: parameters: ChannelIdInParam: @@ -2914,17 +2732,21 @@ components: required: false description: The ID of the `Variant` for which prices were requested. 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 - in: header - name: Accept - Content-Type: + 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 + default: 'application/json' FilterAssignmentIdParam: description: The ID of the `Price List Assignment`. required: false @@ -3019,7 +2841,7 @@ components: description: Channel ID for assignment. example: 2 meta: - type: object + $ref: '#/components/schemas/Meta' PriceListAssignmentsBatchErrorResponse: type: object x-internal: false @@ -3032,6 +2854,9 @@ components: type: string errors: type: object + properties: {} + additionalProperties: true + title: Detailed Errors meta: type: object properties: @@ -3175,7 +3000,7 @@ components: x-internal: false PriceListResponse: description: |- - PriceList Reponse returns for: + PriceList Response returns for: * Create a PriceList * Get a PriceList @@ -3223,9 +3048,7 @@ components: title: Price List type: object meta: - type: object - description: Empty meta object; may be used later. - title: Meta + $ref: '#/components/schemas/Meta' title: Price List Response x-internal: false PriceListBase: @@ -3642,9 +3465,7 @@ components: title: Price Record type: object meta: - type: object - description: Empty meta object; may be used later. - title: Meta + $ref: '#/components/schemas/Meta' title: Price Record Response x-internal: false PriceRecordBase: @@ -4173,8 +3994,8 @@ components: type: object field_errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: Detailed Errors title: PriceRecord Batch Error Set title: PriceRecord Batch Error Response @@ -4211,8 +4032,8 @@ components: type: object field_errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: Detailed Errors title: PriceRecord Batch Error Set x-internal: false @@ -4320,10 +4141,11 @@ components: Link to the next page returned in the response. x-internal: false Meta: + title: Response meta type: object - description: Empty meta object; may be used later. - title: Meta - x-internal: false + properties: {} + additionalProperties: true + description: Response metadata. ErrorResponse: allOf: - type: object @@ -4347,8 +4169,8 @@ components: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: Detailed Errors title: Error Response x-internal: false @@ -4396,35 +4218,28 @@ components: x-internal: false securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Products | modify | `store_v2_products` | | Products | read-only | `store_v2_products_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token - in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index eb032d11f..1f097dd9f 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -1,33 +1,27 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Pricing description: |- Get product pricing. - - ## Authentication - - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` in the request header. - - ```http - POST /stores/{{STORE_HASH}}/v3/pricing/products - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth Scopes - | UI Name | Permission | Parameter | - |----------|------------|-------------------------------| - | Products | read-only | `store_v2_products_read_only` | + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: '' servers: - - url: 'https://api.bigcommerce.com' + - 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: Products paths: - '/stores/{store_hash}/v3/pricing/products': + '/pricing/products': post: tags: - Products @@ -38,12 +32,6 @@ paths: **Limits** * Limit of 50 concurrent requests. operationId: get-prices - parameters: - - name: store_hash - in: path - required: true - schema: - type: string requestBody: content: application/json: @@ -282,6 +270,8 @@ paths: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. example: data: - product_id: 1 @@ -562,6 +552,8 @@ components: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. x-internal: false PriceRange: type: object @@ -860,6 +852,26 @@ components: x-internal: false securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index 2370f91b5..7d68dca53 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -1,34 +1,29 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Redirects description: |- Manage 301 redirects for one or more storefronts powered by a single BigCommerce backend. For a list of redirects that are not allowed, see the [301 Redirects FAQ](https://support.bigcommerce.com/s/article/301-Redirects#faq) in our Help Center. - - ## Authentication - - Requests can be authenticated by sending an `access_token` via `X-Auth-Token` HTTP header: - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: '' servers: - - url: 'https://api.bigcommerce.com' + - 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: Redirects paths: - '/stores/{store_hash}/v3/storefront/redirects': + '/storefront/redirects': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Redirects @@ -36,11 +31,6 @@ paths: description: Returns a collection of the store's 301 redirects across all sites. operationId: GetRedirects parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: site_id in: query description: Filters items by `site_id`. @@ -116,11 +106,7 @@ paths: description: Upserts new redirect data across all storefronts. operationId: UpsertRedirects parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -150,14 +136,9 @@ paths: description: Deletes redirects. operationId: DeleteRedirects parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: 'id:in' in: query - description: List of Redirect IDs to delete explicitly + description: List of Redirect IDs to delete explicitly. required: true style: form explode: false @@ -167,7 +148,7 @@ paths: type: integer - name: site_id in: query - description: Site ID provided to delete all redirects for a given Site + description: Site ID provided to delete all redirects for a given Site. schema: type: integer responses: @@ -175,6 +156,23 @@ paths: description: No Content content: {} 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' schemas: Error: type: object @@ -300,8 +298,9 @@ components: x-internal: false DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true + title: Detailed Errors x-internal: false BaseError: type: object @@ -331,33 +330,28 @@ components: x-internal: false securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Content | modify | `store_v2_content` | | Content | read-only | `store_v2_content_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/scripts.v3.yml b/reference/scripts.v3.yml index 62444bc27..cb9b591b5 100644 --- a/reference/scripts.v3.yml +++ b/reference/scripts.v3.yml @@ -1,65 +1,36 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: title: Scripts version: '' description: |- - Inject client-side code onto a BigCommere storefront. To learn more about scripts, see [Scripts API](/api-docs/store-management/scripts). - - ## OAuth Scopes - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Checkout Content1 | modify | `store_content_checkout` | - | Checkout Content1 | read-only | `store_content_checkout_read_only` | - | Content | modify | `store_v2_content` | - | Content | read-only | `store_v2_content_read_only` | - - 1. `Checkout Content` scopes are required to create or read scripts on the checkout page. - - For more information on OAuth Scopes, see [Authentication](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). - - ## Authentication - - Requests can be authenticated by sending an`access_token` via `X-Auth-Token` HTTP header: - - ```http - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token`|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - For more information on Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). - - ## Available Endpoints - | Resource / Endpoint | Description | - |-----------------------------------------|-------------------------------------------------------------------------| - | Scripts | Add client-side code to a store | - termsOfService: '' + Inject client-side code onto a BigCommerce storefront. To learn more about scripts, see [Scripts API](/api-docs/store-management/scripts). + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com license: name: '' +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: Scripts paths: - '/stores/{store_hash}/v3/content/scripts': + '/content/scripts': + parameters: + - $ref: '#/components/parameters/Accept' post: summary: Create a Script operationId: createScript parameters: - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -124,8 +95,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response tags: @@ -182,18 +153,6 @@ paths: enum: - asc - desc - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - in: query name: 'channel_id:in' description: Filters list of scripts by the associated channel_id. @@ -243,9 +202,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string - title: DetailedErrors + properties: {} + additionalProperties: true title: Error Response tags: - Scripts @@ -253,32 +211,13 @@ paths: Returns a list of *Scripts*. Optional parameters can be passed in. This operation will only return scripts generated by the API key and password used to create the script originally. + '/content/scripts/{uuid}': parameters: - - $ref: '#/components/parameters/StoreHashParam' - '/stores/{store_hash}/v3/content/scripts/{uuid}': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ScriptUUID' get: summary: Get a Script operationId: getScript - parameters: - - name: uuid - description: The identifier for a specific script. - required: true - in: path - schema: - type: string - format: uuid - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: Success @@ -315,8 +254,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response '422': @@ -347,8 +286,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response tags: @@ -358,25 +297,7 @@ paths: summary: Update a Script operationId: updateScript parameters: - - name: uuid - description: The identifier for a specific script. - required: true - in: path - schema: - type: string - format: uuid - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json - - in: header - name: Accept - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -419,8 +340,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response '422': @@ -451,8 +372,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response tags: @@ -461,26 +382,6 @@ paths: delete: summary: Delete a Script operationId: deleteScript - parameters: - - name: uuid - description: The identifier for a specific script. - required: true - in: path - schema: - type: string - format: uuid - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' @@ -515,8 +416,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response '422': @@ -546,24 +447,13 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response tags: - Scripts description: Deletes a *Script*. - parameters: - - $ref: '#/components/parameters/StoreHashParam' - - $ref: '#/components/parameters/ScriptUUID' -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -servers: - - url: 'https://api.bigcommerce.com' components: parameters: FilterWidgetTemplateUUIDParam: @@ -689,56 +579,51 @@ components: schema: type: string Accept: - in: header 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 - Content-Type: + 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 - StoreHashParam: - name: store_hash - in: path - required: true - schema: - type: string - example: 29iql3rwa6 + default: 'application/json' securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Content | modify | `store_v2_content` | - | Content | read-only | `store_v2_content_read_only` | - - **Note:**: Injecting scripts into Checkout requires `Checkout Content` scope. - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token`|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + ### OAuth scopes - ### Example + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Checkout Content | modify | `store_content_checkout` | + | Checkout Content | read-only | `store_content_checkout_read_only` | + | Content | modify | `store_v2_content` | + | Content | read-only | `store_v2_content_read_only` | - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + To read or modify scripts on checkout pages, add `Checkout Content` scopes. - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: CollectionMeta: type: object @@ -845,7 +730,9 @@ components: x-internal: false Meta: type: object - description: Empty meta object; may be used later. + properties: {} + additionalProperties: true + description: Response metadata. title: Meta x-internal: false ErrorResponse: @@ -871,8 +758,8 @@ components: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response x-internal: false @@ -897,8 +784,8 @@ components: x-internal: false DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors x-internal: false NotFound: diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index b73b49c80..2c1530301 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -1,36 +1,46 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: + description: |- + Manage settings and configuration for BigCommerce hosted stores and headless storefronts. + termsOfService: 'https://www.bigcommerce.com/terms' contact: - email: support@bigcommerce.com name: BigCommerce url: 'https://www.bigcommerce.com' - description: |- - Manage settings and configuration for BigCommerce hosted stores and headless storefronts. - - ## Authentication - - Authenticate requests by including an [OAuth](https://developer.bigcommerce.com/api-docs/getting-started/authentication) `access_token` in the request header. - - ```http - GET /stores/{{STORE_HASH}}/v3/settings/storefront/status - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Information & Settings | modify | `store_v2_information` | - | Information & Settings | read-only | `store_v2_information_read_only` | - termsOfService: 'http://www.bigcommerce.com/terms' + email: support@bigcommerce.com title: Settings V3 - version: 3.0.0 + version: '3.0.0' servers: - - description: Production API Gateway - url: 'https://api.bigcommerce.com' + - 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: Email Statuses + - name: Search Filters + - name: Store Locale + - name: Storefront Category + - name: Storefront Robotstxt + - name: Storefront Search + - name: Storefront Security + - name: Storefront SEO + - name: Storefront Status + - name: Analytics + - name: Catalog + - name: Inventory + - name: Inventory Notifications + - name: Logo + - name: Logo Image + - name: Favicon Image + - name: Store Profile + - name: Storefront Product paths: - '/stores/{store_hash}/v3/settings/analytics': + '/settings/analytics': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get All Web Analytics Providers description: Returns a list of web analytics providers. @@ -47,12 +57,17 @@ paths: data: $ref: '#/components/schemas/AnalyticsProviders' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Analytics + '/settings/analytics/{id}': parameters: - - $ref: '#/components/parameters/store_hash' - '/stores/{store_hash}/v3/settings/analytics/{id}': + - $ref: '#/components/parameters/Accept' + - name: id + in: path + required: true + schema: + type: integer get: summary: Get a Web Analytics Provider description: Returns a single web analytics provider data for a default channel. @@ -85,17 +100,11 @@ paths: $ref: '#/components/schemas/ErrorResponse404' tags: - Analytics - parameters: - - name: id - in: path - required: true - schema: - type: integer - - $ref: '#/components/parameters/store_hash' put: summary: Update a Web Analytics Provider description: Updates a single web analytics provider data for a default channel. parameters: + - $ref: '#/components/parameters/ContentType' - name: id in: path description: Web Analytics Provider ID. @@ -170,7 +179,9 @@ paths: $ref: '#/components/schemas/ErrorResponse422' tags: - Analytics - '/stores/{store_hash}/v3/settings/catalog': + '/settings/catalog': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Catalog Settings description: |- @@ -192,11 +203,9 @@ paths: data: $ref: '#/components/schemas/CatalogSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Catalog - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Catalog Settings description: |- @@ -206,6 +215,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: description: null set for a particular field removes override on a channel level and means inheritance from a global level @@ -224,10 +234,12 @@ paths: data: $ref: '#/components/schemas/CatalogSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Catalog - '/stores/{store_hash}/v3/settings/email-statuses': + '/settings/email-statuses': + parameters: + - $ref: '#/components/parameters/Accept' get: operationId: get-settings-emails-enabled summary: Get Transactional Email Settings @@ -261,16 +273,15 @@ paths: data: $ref: '#/components/schemas/EnabledTransactionalEmails' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Email Statuses - parameters: - - $ref: '#/components/parameters/store_hash' put: operationId: put-settings-transactional-emails-enabled summary: Update Transactional Email Settings description: Update global transactional email settings or create channel specific overrides by `channel_id`. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -318,12 +329,12 @@ paths: data: $ref: '#/components/schemas/EnabledTransactionalEmails' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Email Statuses - '/stores/{store_hash}/v3/settings/favicon/image': + '/settings/favicon/image': parameters: - - $ref: '#/components/parameters/store_hash' + - $ref: '#/components/parameters/Accept' post: operationId: post-favicon-logo-image summary: Create Favicon Image @@ -332,6 +343,7 @@ paths: - Channel ID can be used as a query parameter for updating channel-specific setting. If omitted, you will interact with the global setting only. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -347,7 +359,9 @@ paths: description: OK tags: - Favicon Image - '/stores/{store_hash}/v3/settings/inventory/notifications': + '/settings/inventory/notifications': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Inventory Notifications Settings description: |- @@ -362,16 +376,14 @@ paths: application/json: examples: {} schema: - allOf: - - properties: - data: - $ref: '#/components/schemas/InventoryNotificationsSettings' - type: object - - $ref: 'https://raw.githubusercontent.com/bigcommerce/api-specs/master/reference/global_refs.yaml#/components/schemas/meta_Empty' + type: object + properties: + data: + $ref: '#/components/schemas/InventoryNotificationsSettings' + meta: + $ref: '#/components/schemas/MetaOpen' tags: - Inventory Notifications - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Inventory Notifications Settings description: |- @@ -380,6 +392,7 @@ paths: * Supplying `null` settings values per channel will delete overrides per given channel and values will be inherited from global level. * Partial updates are not supported within the given endpoint. In order to delete overrides per channel, `null` should be supplied for all the settings within the given endpoint. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: description: null set for a particular field removes override on a channel level and means inheritance from a global level @@ -392,7 +405,9 @@ paths: description: OK tags: - Inventory Notifications - '/stores/{store_hash}/v3/settings/logo': + '/settings/logo': + parameters: + - $ref: '#/components/parameters/Accept' get: operationId: get-settings-logo summary: Get Store Logo Settings @@ -415,11 +430,9 @@ paths: data: $ref: '#/components/schemas/LogoSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Logo - parameters: - - $ref: '#/components/parameters/store_hash' put: operationId: put-settings-logo summary: Update Store Logo Settings @@ -447,12 +460,12 @@ paths: data: $ref: '#/components/schemas/LogoSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Logo - '/stores/{store_hash}/v3/settings/logo/image': + '/settings/logo/image': parameters: - - $ref: '#/components/parameters/store_hash' + - $ref: '#/components/parameters/Accept' post: operationId: post-settings-logo-image summary: Create Logo Image @@ -461,6 +474,7 @@ paths: - Channel ID can be used as a query parameter for updating channel-specific setting. If omitted, you will interact with the global setting only. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -476,7 +490,7 @@ paths: description: OK tags: - Logo Image - '/stores/{store_hash}/v3/settings/search/filters': + '/settings/search/filters': get: operationId: getEnabled summary: Get Enabled Filters @@ -530,15 +544,15 @@ paths: data: $ref: '#/components/schemas/ConfiguredFilters' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Search Filters - parameters: - - $ref: '#/components/parameters/store_hash' put: operationId: updateEnabled summary: Update Enabled Filters description: 'Updates enabled default [Product Filtering](https://support.bigcommerce.com/s/article/Product-Filtering-Settings) filters.' + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -629,15 +643,18 @@ paths: data: $ref: '#/components/schemas/ConfiguredFilters' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Search Filters - '/stores/{store_hash}/v3/settings/search/filters/available': + '/settings/search/filters/available': + parameters: + - $ref: '#/components/parameters/Accept' get: operationId: getAvailable summary: Get Available Filters description: 'Returns a list of filters available to power [Product Filtering](https://support.bigcommerce.com/s/article/Product-Filtering-Settings).' parameters: + - $ref: '#/components/parameters/ContentType' - name: channel_id in: query description: Narrows the list of available filters based on channel ID. Only products currently assigned to the given Channel will be considered. @@ -694,12 +711,12 @@ paths: items: $ref: '#/components/schemas/AvailableFilter' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Search Filters + '/settings/search/filters/contexts': parameters: - - $ref: '#/components/parameters/store_hash' - '/stores/{store_hash}/v3/settings/search/filters/contexts': + - $ref: '#/components/parameters/Accept' get: operationId: getContexts summary: Get Contextual Filters @@ -738,8 +755,6 @@ paths: $ref: '#/components/schemas/MetaPaginationObject' tags: - Search Filters - parameters: - - $ref: '#/components/parameters/store_hash' put: operationId: upsertContexts summary: Upsert Contextual Filters @@ -751,7 +766,8 @@ paths: Contextual filters allow you to configure the enabled filters per channel or category, so that shoppers can filter by the most relevant criteria. You can change the order of the filters on the live site by changing the order of the filters you send. - parameters: [] + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -772,10 +788,12 @@ paths: items: $ref: '#/components/schemas/ConfiguredFiltersOverride' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Search Filters - '/stores/{store_hash}/v3/settings/store/locale': + '/settings/store/locale': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Locale Settings description: Returns global locale settings. @@ -798,14 +816,14 @@ paths: data: $ref: '#/components/schemas/Locale' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Store Locale - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Locale Settings description: Updates global locale settings. + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -836,7 +854,7 @@ paths: data: $ref: '#/components/schemas/Locale' meta: - type: object + $ref: '#/components/schemas/MetaOpen' '422': description: Provided settings could not be applied for some reason - detailed errors in the response. content: @@ -845,7 +863,9 @@ paths: $ref: '#/components/schemas/ErrorResponse' tags: - Store Locale - '/stores/{store_hash}/v3/settings/store/profile': + '/settings/store/profile': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Store Profile Settings description: |- @@ -867,11 +887,9 @@ paths: data: $ref: '#/components/schemas/StoreProfile' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Store Profile - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Store Profile Settings description: |- @@ -881,6 +899,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -898,7 +917,7 @@ paths: data: $ref: '#/components/schemas/StoreProfile' meta: - type: object + $ref: '#/components/schemas/MetaOpen' '422': description: Provided settings could not be applied for some reason - detailed errors in the response. content: @@ -907,7 +926,9 @@ paths: $ref: '#/components/schemas/ErrorResponse' tags: - Store Profile - '/stores/{store_hash}/v3/settings/storefront/category': + '/settings/storefront/category': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Storefront Category Settings description: |- @@ -929,11 +950,9 @@ paths: data: $ref: '#/components/schemas/StorefrontCategorySettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Category - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Storefront Category Settings description: |- @@ -943,6 +962,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -960,12 +980,14 @@ paths: data: $ref: '#/components/schemas/StorefrontCategorySettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' '422': $ref: '#/components/responses/422ErrorResp' tags: - Storefront Category - '/stores/{store_hash}/v3/settings/storefront/product': + '/settings/storefront/product': + parameters: + - $ref: '#/components/parameters/Accept' get: operationId: get-settings-storefront-product summary: Get Storefront Product Settings @@ -982,8 +1004,6 @@ paths: $ref: '#/components/responses/200-storefront-product-settings' tags: - Storefront Product - parameters: - - $ref: '#/components/parameters/store_hash' put: operationId: put-settings-storefront-product summary: Update Storefront Product Settings @@ -994,6 +1014,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -1007,7 +1028,9 @@ paths: $ref: '#/components/responses/422ErrorResp' tags: - Storefront Product - '/stores/{store_hash}/v3/settings/storefront/robotstxt': + '/settings/storefront/robotstxt': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Robots.txt Settings description: |- @@ -1035,11 +1058,9 @@ paths: data: $ref: '#/components/schemas/RobotsTxtSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Robotstxt - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Robots.txt Settings description: |- @@ -1049,6 +1070,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -1066,10 +1088,12 @@ paths: data: $ref: '#/components/schemas/RobotsTxtSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Robotstxt - '/stores/{store_hash}/v3/settings/storefront/search': + '/settings/storefront/search': + parameters: + - $ref: '#/components/parameters/Accept' get: operationId: '' summary: Get Storefront Search Settings @@ -1101,11 +1125,9 @@ paths: data: $ref: '#/components/schemas/StorefrontSearchSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Search - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Storefront Search Settings description: |- @@ -1115,6 +1137,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -1148,10 +1171,12 @@ paths: data: $ref: '#/components/schemas/StorefrontSearchSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Search - '/stores/{store_hash}/v3/settings/storefront/security': + '/settings/storefront/security': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Storefront Security Settings description: |- @@ -1173,11 +1198,9 @@ paths: data: $ref: '#/components/schemas/StorefrontSecuritySettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Security - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Storefront Security Settings description: |- @@ -1187,6 +1210,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -1204,10 +1228,12 @@ paths: data: $ref: '#/components/schemas/StorefrontSecuritySettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Security - '/stores/{store_hash}/v3/settings/storefront/seo': + '/settings/storefront/seo': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Storefront SEO Settings description: |- @@ -1238,11 +1264,9 @@ paths: data: $ref: '#/components/schemas/SEOSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront SEO - parameters: - - $ref: '#/components/parameters/store_hash' put: summary: Update Storefront SEO Settings description: |- @@ -1252,6 +1276,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -1277,12 +1302,14 @@ paths: data: $ref: '#/components/schemas/SEOSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' '422': $ref: '#/components/responses/422ErrorResp' tags: - Storefront SEO - '/stores/{store_hash}/v3/settings/storefront/status': + '/settings/storefront/status': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Storefront Status description: |- @@ -1312,11 +1339,9 @@ paths: data: $ref: '#/components/schemas/StorefrontStatus' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Status - parameters: - - $ref: 'https://raw.githubusercontent.com/bigcommerce/api-specs/master/reference/global_refs.yaml#/components/parameters/store_hash' put: summary: Update Storefront Status description: |- @@ -1326,6 +1351,7 @@ paths: - `null` should be supplied to delete overrides per given channel and to inherit values from global level. Partial updates are not supported and all settings should be supplied with `null` value in order to delete overrides per channel. parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: @@ -1356,10 +1382,12 @@ paths: data: $ref: '#/components/schemas/StorefrontStatus' meta: - type: object + $ref: '#/components/schemas/MetaOpen' tags: - Storefront Status - '/stores/{store_hash}/v3/settings/inventory': + '/settings/inventory': + parameters: + - $ref: '#/components/parameters/Accept' get: summary: Get Inventory Settings tags: @@ -1375,7 +1403,7 @@ paths: data: $ref: '#/components/schemas/InventorySettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' '422': description: Provided settings could not be applied for some reason - detailed errors in the response. content: @@ -1404,20 +1432,31 @@ paths: data: $ref: '#/components/schemas/InventorySettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/ChannelIdParam' tags: - Inventory description: Update inventory settings - parameters: - - schema: - type: string - name: store_hash - in: path - required: true 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' ChannelIdParam: description: 'Channel ID to use for channel-specific setting. If omitted, you will interact with the global setting only.' in: query @@ -1440,14 +1479,6 @@ components: required: true schema: type: integer - store_hash: - description: Hash of your store - in: path - name: store_hash - required: true - schema: - type: string - example: 29iql3rwa6 schemas: AddressTypeEnumValues: description: Only supports manipulation on a global level. @@ -1613,8 +1644,9 @@ components: x-internal: false DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true + title: Detailed Errors x-internal: false EnabledBrandFilter: description: A storefront filter for product brand @@ -1995,6 +2027,12 @@ components: - text x-tags: - Models + MetaOpen: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. MetaPaginationObject: type: object properties: @@ -2256,7 +2294,7 @@ components: data: $ref: '#/components/schemas/StorefrontProductSettings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' 422ErrorResp: description: | `422 Unprocessable Entity` Provided settings could not be applied for some reason - detailed errors in the response. @@ -2294,42 +2332,27 @@ components: type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' securitySchemes: X-Auth-Token: + name: X-Auth-Token description: |- - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` in the request header. - - ```http - GET /stores/{{STORE_HASH}}/v3/settings/storefront/status - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` + ### OAuth scopes - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | - in: header - name: X-Auth-Token + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). type: apiKey -tags: - - name: Email Statuses - - name: Search Filters - - name: Store Locale - - name: Storefront Category - - name: Storefront Robotstxt - - name: Storefront Search - - name: Storefront Security - - name: Storefront SEO - - name: Storefront Status - - name: Analytics - - name: Catalog - - name: Inventory - - name: Inventory Notifications - - name: Logo - - name: Logo Image - - name: Favicon Image - - name: Store Profile - - name: Storefront Product -security: - - X-Auth-Token: [] + in: header diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index ea32af8ca..e83d5560b 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: version: '' title: Shipping V2 @@ -25,7 +25,11 @@ info: Carrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier. servers: - - url: 'https://api.bigcommerce.com' + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. description: BigCommerce API Gateway security: - X-Auth-Token: [] @@ -35,27 +39,14 @@ tags: - name: Shipping Zones - name: Shipping Products Custom Information paths: - '/stores/{store_hash}/v2/shipping/zones': + '/shipping/zones': + parameters: + - $ref: '#/components/parameters/Accept' get: description: Returns a list of all *Shipping Zones*. summary: Get All Shipping Zones tags: - Shipping Zones - parameters: - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json responses: '200': description: '' @@ -145,7 +136,7 @@ paths: example: true type: boolean examples: - response: + 'Example 1: Zones are Country Zones': value: - id: 1 name: United States @@ -169,34 +160,25 @@ paths: minimum_sub_total: '0.0000' exclude_fixed_shipping_products: false enabled: true - Response Schema: - examples: - response: + 'Example 2: Zone is Selection of States in a Country': value: - - name: esse veniam deserunt nisi - id: 6648057 + - id: 2 + name: States in the U.S. type: state locations: - - id: 27962554 - zip: sed commodo - country_iso2: laborum Ut - state_iso2: sunt officia laboris tempor cupidatat - - id: 90778339 - zip: amet anim deserunt cillum aute - country_iso2: cupidatat - state_iso2: dolor nisi - - id: 48379114 - zip: dolore fugiat - country_iso2: sit in officia ea - state_iso2: qui ad + - id: 3 + country_iso2: US + state_iso2: TX + - id: 4 + country_iso2: US + state_iso2: TX free_shipping: enabled: false - minimum_sub_total: exercitation pariatur Lorem enim + minimum_sub_total: "0" exclude_fixed_shipping_products: true handling_fees: - fixed_surcharge: in - percentage_surcharge: consequat display_separately: false + fixed_surcharge: 0 enabled: false x-unitTests: [] x-operation-settings: @@ -211,18 +193,7 @@ paths: tags: - Shipping Zones parameters: - - name: Accept - in: header - required: true - description: '' - schema: - type: string - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -419,41 +390,12 @@ paths: type: boolean examples: {} operationId: createAShippingZones - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v2/shipping/zones/{id}': + '/shipping/zones/{id}': get: description: Returns a single *Shipping Zone*. summary: Get a Shipping Zones tags: - Shipping Zones - parameters: - - name: id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json responses: '200': description: '' @@ -554,28 +496,7 @@ paths: tags: - Shipping Zones parameters: - - name: id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -759,29 +680,6 @@ paths: summary: Delete a Shipping Zone tags: - Shipping Zones - parameters: - - name: id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json responses: '204': description: '' @@ -793,45 +691,21 @@ paths: IsMultiContentStreaming: false operationId: deleteAShippingZone parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' - name: id in: path required: true + description: ID of the shipping zone. schema: - type: string - '/stores/{store_hash}/v2/shipping/zones/{zone_id}/methods': + type: integer + exclusiveMinimum: false + exclusiveMaximum: false + '/shipping/zones/{zone_id}/methods': get: description: 'Returns a list of *Shipping Methods* in a zone. Default sorting is by shipping method ID, from lowest to highest.' summary: Get All Shipping Methods in a Zone tags: - Shipping Method - parameters: - - name: zone_id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json responses: '200': description: '' @@ -841,8 +715,8 @@ paths: type: array items: $ref: '#/components/schemas/shippingMethod_Full' - x-examples: - response: + examples: + Example 1: value: - id: 1 name: Flat Rate @@ -851,15 +725,15 @@ paths: rate: 12 enabled: true handling_fees: - fixed_surcharge: 0 + fixed_surcharge: "0" is_fallback: false - id: 2 name: Pickup In Store - type: pickupinstore - settings: [] + type: total + settings: {} enabled: false handling_fees: - fixed_surcharge: 0 + fixed_surcharge: "0" is_fallback: false - id: 3 name: Ship by Weight @@ -882,7 +756,7 @@ paths: shipping_cost: 8 enabled: true handling_fees: - fixed_surcharge: 0 + fixed_surcharge: "0" is_fallback: false - id: 4 name: UPS® @@ -903,76 +777,433 @@ paths: packaging: [] enabled: true handling_fees: - fixed_surcharge: 0 + fixed_surcharge: "0" is_fallback: false - Response Schema: - examples: - response: + Example 2: value: - id: 23225205 name: tempo type: royalmail settings: {} enabled: true - handling_fees: fixed_surcharge + handling_fees: + fixed_surcharge: "0" is_fallback: false - id: 35889344 name: Lorem Excepteur esse type: canadapost settings: {} enabled: true - handling_fees: percentage_surcharge + handling_fees: + percentage_surcharge: "0" is_fallback: false - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false operationId: getShippingMethodsZone post: - description: "Creates a *Shipping Method* within a shipping zone. Real Time Carrier\nConnections are also supported by this endpoint. \n\n\n## Carrier Configurations – Current\n\n\nThis section provides a sample request and a carrier-specific object/property model, for each supported carrier.\n \n### USPS by Endicia\n\n\n#### Sample Request\n\n\n\n```json\n\n{\n \"name\": \"USPS by Endicia\",\n \"type\": \"endicia\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\" : [\"PriorityExpress\",\"Priority\", \"PriorityMailExpressInternational\"],\n\t\t\t\"packaging_type\" : \"LargeFlatRateBox\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n### USPS by Endicia Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PriorityExpress
PriorityMailExpressInternational
FirstClassPackageInternationalService
Priority
PriorityMailInternational
First
ParcelSelect
MediaMail |\n| packaging_type | array | FlatRateLegalEnvelope
FlatRatePaddedEnvelope
Parcel
SmallFlatRateBox
MediumFlatRateBox
LargeFlatRateBox
FlatRateEnvelope
RegionalRateBoxA
RegionalRateBoxB |\n|show_transit_time | boolean | true
false |\n\n\n\n### FedEx\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"FEDEX\",\n \"type\": \"fedex\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"PRIORITY_OVERNIGHT\",\n\t\t\t\t\"FEDEX_2_DAY\"\n ],\n \"dropoff_type\": \"REGULAR_PICKUP\",\n \"packaging_type\": \"FEDEX_ENVELOPE\",\n \"packing_method\": \"SEPARATE\",\n \"rate_type\": \"NONE\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\"\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### FedEx Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | PRIORITY_OVERNIGHT
STANDARD_OVERNIGHT
FIRST_OVERNIGHT
FEDEX_2_DAY
FEDEX_EXPRESS_SAVER
INTERNATIONAL_PRIORITY
INTERNATIONAL_ECONOMY
INTERNATIONAL_FIRST
FEDEX_1_DAY_FREIGHT
FEDEX_2_DAY_FREIGHT
FEDEX_3_DAY_FREIGHT
FEDEX_GROUND
GROUND_HOME_DELIVERY
INTERNATIONAL_PRIORITY_FREIGHT
INTERNATIONAL_ECONOMY_FREIGHT
EUROPE_FIRST_INTERNATIONAL_PRIORITY |\n| dropoff_type | string | REGULAR_PICKUP
REQUEST_COURIER
DROP_BOX
BUSINESS_SERVICE_CENTER
STATION |\n| packaging_type | string | FEDEX_ENVELOPE
FEDEX_PAK
FEDEX_BOX
FEDEX_TUBE
FEDEX_10KG_BOX
FEDEX_25KG_BOX
YOUR_PACKAGING |\n| packing_method | string | SEPARATE
COMBINED |\n| rate_type | string | NONE
LIST |\n| include_package_value | boolean | true
false |\n| destination_type | string | residential
business |\n\n\n### UPS Ready\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"UPS ready\",\n \"type\": \"upsready\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"2nd_Day_Air\",\"Standard\"\n ],\n \"packaging_type\": \"21\",\n \"packing_method\": \"separate\",\n \"include_package_value\": true,\n \"destination_type\": \"residential\",\n \"show_transit_time\" : true\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### UPS Ready Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 2nd_Day_Air
2nd_Day_Air_AM
3_Day_Select
Expedited
Express
Express_Plus
Express_Saver
Express_Early_AM
Ground
Next_Day_Air
Next_Day_Air_Early_AM
Next_Day_Air_Saver
Saver
Standard
Today_Dedicated_Courier
Today_Express
Today_Express_Saver
Today_Intercity
Today_Standard
Worldwide_Expedited
Worldwide_Express
Worldwide_Express_Plus
Worldwide_Express_Saver
Worldwide_Saver |\n| destination_type | string | residential
business |\n| packing_method | string | separate
combined |\n| packaging_type | string (only codes allowed) | 21: UPS® Express Box
24: UPS® 25 KG Box
25: UPS® 10 KG Box
30: Pallet
01: UPS® Letter
02: Customer Supplied Package
03: Tube
04: PAK
2a: Small Express Box
2b: Medium Express Box
2c: Large Express Box |\n| include_package_value | boolean | true
false |\n| show_transit_time | boolean | true
false |\n\n\n### Canada Post\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Canada Post\",\n \"type\": \"canadapost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"DOM.RP\",\"DOM.EP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Canada Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | DOM.RP
DOM.EP
DOM.XP
DOM.XP.CERT
DOM.PC DOM.LIB
USA.EP
USA.PW.ENV
USA.PW.PAK
USA.PW.PARCEL
USA.SP.AIR
USA.TP
USA.TP.LVM
USA.XP
INT.XP
INT.IP.AIR
INT.IP.SURF
INT.PW.ENV
INT.PW.PAK
INT.PW.PARCEL
INT.SP.AIR
INT.SP.SURF
INT.TP |\n\n\n### Australia Post\n\n\n```json\n\n{\n \"name\": \"Australia Post\",\n \"type\": \"auspost\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"AUS_PARCEL_REGULAR\",\n\t\t\t\t\"AUS_PARCEL_EXPRESS\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Australia Post Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | AUS_LETTER_REGULAR_SMALL
AUS_LETTER_REGULAR_Large
AUS_LETTER_EXPRESS_SMALL
AUS_LETTER_EXPRESS_MEDIUM
AUS_LETTER_EXPRESS_LARGE
AUS_PARCEL_REGULAR
AUS_PARCEL_REGULAR_SATCHEL_500G
AUS_PARCEL_REGULAR_SATCHEL_3KG
AUS_PARCEL_REGULAR_SATCHEL_5KG
AUS_PARCEL_EXPRESS
AUS_PARCEL_EXPRESS_SATCHEL_500G
AUS_PARCEL_EXPRESS_SATCHEL_3KG
AUS_PARCEL_EXPRESS_SATCHEL_5KG
AUS_PARCEL_COURIER
AUS_PARCEL_COURIER_SATCHEL_MEDIUM
INT_PARCEL_COR_OWN_PACKAGING
INT_PARCEL_EXP_OWN_PACKAGING
INT_PARCEL_STD_OWN_PACKAGING
INT_PARCEL_AIR_OWN_PACKAGING
INT_PARCEL_SEA_OWN_PACKAGING |\n\n\n### Royal Mail\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Royal Mail\",\n \"type\": \"royalmail\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"StandardFirstClass\",\n\t\t\t\t\"StandardSecondClass\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Royal Mail Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | SpecialDelivery1pm
SpecialDelivery9am
SpecialDelivery1pmSaturday
SpecialDelivery9amSaturday
SignedForFirstClass
SignedForSecondClass
Express9
Express10
ExpressAM
Express24
Express48
StandardFirstClass
StandardSecondClass
InternationalStandard
InternationalTracked
InternationalEconomy |\n\n\n### Zoom2U\n\n\n#### Sample Request\n\n\n```json\n\n{\n \"name\": \"Zoom2U\",\n \"type\": \"zoom2u\",\n \"settings\": {\n \"carrier_options\": {\n \"delivery_services\": [\n \"3_hour\",\n\t\t\t\t\"Same_day\",\n\t\t\t\t\"VIP\"\n ]\n }\n },\n \"enabled\": true\n}\n\n```\n\n\n#### Zoom2U Object Properties\n\n\n| Property | Type | Values |\n| - | - | - |\n| delivery_services | array | 3_hour
Same_day
VIP|\n\n\n\n### Settings Objects \n\n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n\n### perorder Object – Properties \n\n\nObject model for flat-rate shipping quotes per order.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n\n```\n\n\n### peritem Object – Properties \n\n\nObject model for flat-rate shipping quotes per item ordered.\n\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n\n```\n\n\n### weight Object – Properties \n\n\nObject model for shipping quotes by weight.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n\n#### JSON Example \n \n```json\n\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n\n```\n\n\n### total Object – Properties \n\n\nObject model for shipping quotes by order's total value.\n\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n\n#### JSON Example \n\n\nThis example sets free shipping above a certain order total:\n\n\n```json\n\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n\n```\n\n\n### Range Object – Properties \n\n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n\n#### JSON Example \n\n\n```json\n\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n\n```" + description: |- + Creates a *Shipping Method* within a shipping zone. Real Time Carrier Connections are also supported by this endpoint. + + ## Carrier Configurations – Current + + This section provides a sample request and a carrier-specific object/property model, for each supported carrier. + + ### USPS by Endicia + + Example request body: + + ```json + { + "name": "USPS by Endicia", + "type": "endicia", + "settings": { + "carrier_options": { + "delivery_services" : ["PriorityExpress","Priority", "PriorityMailExpressInternational"], + "packaging_type" : "LargeFlatRateBox", + "show_transit_time" : true + } + }, + "enabled": true + } + ``` + + #### USPS by Endicia Object Properties + + | Property | Type | Values | + |:---------|:-----|:-------| + | delivery_services | array | PriorityExpress, PriorityMailExpressInternational, FirstClassPackageInternationalService, Priority, PriorityMailInternational, First, ParcelSelect, MediaMail | + | packaging_type | array | FlatRateLegalEnvelope, FlatRatePaddedEnvelope, Parcel, SmallFlatRateBox, MediumFlatRateBox, LargeFlatRateBox, FlatRateEnvelope, RegionalRateBoxA, RegionalRateBoxB | + |show_transit_time | boolean | true, false | + + ### FedEx + + Example request body: + + ```json + { + "name": "FEDEX", + "type": "fedex", + "settings": { + "carrier_options": { + "delivery_services": [ + "PRIORITY_OVERNIGHT", + "FEDEX_2_DAY" + ], + "dropoff_type": "REGULAR_PICKUP", + "packaging_type": "FEDEX_ENVELOPE", + "packing_method": "SEPARATE", + "rate_type": "NONE", + "include_package_value": true, + "destination_type": "residential" + } + }, + "enabled": true + } + + ``` + + #### FedEx Object Properties + + | Property | Type | Values | + |:---------|:-----|:-------| + | delivery_services | array | PRIORITY_OVERNIGHT, STANDARD_OVERNIGHT, FIRST_OVERNIGHT, FEDEX_2_DAY, FEDEX_EXPRESS_SAVER, INTERNATIONAL_PRIORITY, INTERNATIONAL_ECONOMY, INTERNATIONAL_FIRST, FEDEX_1_DAY_FREIGHT, FEDEX_2_DAY_FREIGHT, FEDEX_3_DAY_FREIGHT, FEDEX_GROUND, GROUND_HOME_DELIVERY, INTERNATIONAL_PRIORITY_FREIGHT, INTERNATIONAL_ECONOMY_FREIGHT, EUROPE_FIRST_INTERNATIONAL_PRIORITY | + | dropoff_type | string | REGULAR_PICKUP, REQUEST_COURIER, DROP_BOX, BUSINESS_SERVICE_CENTER, STATION | + | packaging_type | string | FEDEX_ENVELOPE, FEDEX_PAK, FEDEX_BOX, FEDEX_TUBE, FEDEX_10KG_BOX, FEDEX_25KG_BOX, YOUR_PACKAGING | + | packing_method | string | SEPARATE, COMBINED | + | rate_type | string | NONE, LIST | + | include_package_value | boolean | true, false | + | destination_type | string | residential, business | + + + ### UPS Ready + + Example request body: + + ```json + { + "name": "UPS ready", + "type": "upsready", + "settings": { + "carrier_options": { + "delivery_services": [ + "2nd_Day_Air","Standard" + ], + "packaging_type": "21", + "packing_method": "separate", + "include_package_value": true, + "destination_type": "residential", + "show_transit_time" : true + } + }, + "enabled": true + } + + ``` + + #### UPS Ready Object Properties + + | Property | Type | Values | + |:---------|:-----|:-------| + | delivery_services | array | 2nd_Day_Air, 2nd_Day_Air_AM, 3_Day_Select, Expedited, Express, Express_Plus, Express_Saver, Express_Early_AM, Ground, Next_Day_Air, Next_Day_Air_Early_AM, Next_Day_Air_Saver, Saver, Standard, Today_Dedicated_Courier, Today_Express, Today_Express_Saver, Today_Intercity, Today_Standard, Worldwide_Expedited, Worldwide_Express, Worldwide_Express_Plus, Worldwide_Express_Saver, Worldwide_Saver | + | destination_type | string | residential, business | + | packing_method | string | separate, combined | + | packaging_type | string (only codes allowed) | See the following table | + | include_package_value | boolean | true, false | + | show_transit_time | boolean | true, false | + + UPS `packaging_type` values include: + + | Code | Description | + |:----:|:------------| + | 21 | UPS® Express Box | + | 24 | UPS® 25 KG Box | + | 25 | UPS® 10 KG Box | + | 30 | Pallet | + | 01 | UPS® Letter | + | 02 | Customer Supplied Package | + | 03 | Tube | + | 04 | PAK | + | 2a | Small Express Box | + | 2b | Medium Express Box | + | 2c | Large Express Box | + + + ### Canada Post + + Example request body: + + ```json + { + "name": "Canada Post", + "type": "canadapost", + "settings": { + "carrier_options": { + "delivery_services": [ + "DOM.RP","DOM.EP" + ] + } + }, + "enabled": true + } + + ``` + + #### Canada Post Object Properties + + | Property | Type | Values | + |:---------|:-----|:-------| + | delivery_services | array | DOM.RP, DOM.EP, DOM.XP, DOM.XP.CERT, DOM.PC DOM.LIB, USA.EP, USA.PW.ENV, USA.PW.PAK, USA.PW.PARCEL, USA.SP.AIR, USA.TP, USA.TP.LVM, USA.XP, INT.XP, INT.IP.AIR, INT.IP.SURF, INT.PW.ENV, INT.PW.PAK, INT.PW.PARCEL, INT.SP.AIR, INT.SP.SURF, INT.TP | + + ### Australia Post + + Example request body: + + ```json + { + "name": "Australia Post", + "type": "auspost", + "settings": { + "carrier_options": { + "delivery_services": [ + "AUS_PARCEL_REGULAR", + "AUS_PARCEL_EXPRESS" + ] + } + }, + "enabled": true + } + + ``` + + #### Australia Post Object Properties + + | Property | Type | Values | + |:---------|:-----|:-------| + | delivery_services | array | AUS_LETTER_REGULAR_SMALL, AUS_LETTER_REGULAR_Large, AUS_LETTER_EXPRESS_SMALL, AUS_LETTER_EXPRESS_MEDIUM, AUS_LETTER_EXPRESS_LARGE, AUS_PARCEL_REGULAR, AUS_PARCEL_REGULAR_SATCHEL_500G, AUS_PARCEL_REGULAR_SATCHEL_3KG, AUS_PARCEL_REGULAR_SATCHEL_5KG, AUS_PARCEL_EXPRESS, AUS_PARCEL_EXPRESS_SATCHEL_500G, AUS_PARCEL_EXPRESS_SATCHEL_3KG, AUS_PARCEL_EXPRESS_SATCHEL_5KG, AUS_PARCEL_COURIER, AUS_PARCEL_COURIER_SATCHEL_MEDIUM, INT_PARCEL_COR_OWN_PACKAGING, INT_PARCEL_EXP_OWN_PACKAGING, INT_PARCEL_STD_OWN_PACKAGING, INT_PARCEL_AIR_OWN_PACKAGING, INT_PARCEL_SEA_OWN_PACKAGING | + + ### Royal Mail + + Example request body: + + ```json + { + "name": "Royal Mail", + "type": "royalmail", + "settings": { + "carrier_options": { + "delivery_services": [ + "StandardFirstClass", + "StandardSecondClass" + ] + } + }, + "enabled": true + } + ``` + + #### Royal Mail Object Properties + + | Property | Type | Values | + |:---------|:-----|:-------| + | delivery_services | array | SpecialDelivery1pm, SpecialDelivery9am, SpecialDelivery1pmSaturday, SpecialDelivery9amSaturday, SignedForFirstClass, SignedForSecondClass, Express9, Express10, ExpressAM, Express24, Express48, StandardFirstClass, StandardSecondClass, InternationalStandard, InternationalTracked, InternationalEconomy | + + ### Zoom2U + + Example request body: + + ```json + { + "name": "Zoom2U", + "type": "zoom2u", + "settings": { + "carrier_options": { + "delivery_services": [ + "3_hour", + "Same_day", + "VIP" + ] + } + }, + "enabled": true + } + ``` + + #### Zoom2U Object Properties + + | Property | Type | Values | + |:---------|:-----|:-------| + | delivery_services | array | 3_hour, Same_day, VIP| + + ### Settings Objects + + A shipping methodʼs `type` and `settings` properties can match one of the following models: + + #### perorder Object – Properties + + Object model for flat-rate shipping quotes per order. + + | Property | Type | Description | + |:---------|:-----|:------------| + | rate | number | Flat rate per order. | + + Example request body: + + ```json + { + "name": "Flat Rate per Order", + "type": "perorder", + "settings": { + "rate": 7 + } + } + ``` + + #### peritem Object – Properties + + Object model for flat-rate shipping quotes per item ordered. + + | Name | Type | Description | + |:-----|:-----|:------------| + | rate | number | Flat rate per item. | + + Ezample request body: + + ```json + { + "name": "Flat Rate per Item", + "type": "peritem", + "settings": { + "rate": 8 + } + } + ``` + + #### weight Object – Properties + + Object model for shipping quotes by weight. + + | Property | Type | Description | + |:---------|:-----|:------------| + | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | + | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the storeʼs control panel. | + + Example request body: + + ```json + { + "name": "Rate per Weight", + "type": "weight", + "settings": { + "default_cost": 12, + "default_cost_type": "fixed_amount", + "range": [ + { + "lower_limit": 0, + "upper_limit": 20, + "shipping_cost": 8 + }, + { + "lower_limit": 20, + "upper_limit": 40, + "shipping_cost": 12 + } + ] + } + } + ``` + + #### total Object – Properties + + Object model for shipping quotes by orderʼs total value. + + | Property | Type | Description | + |:---------|:-----|:------------| + | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | + | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | + | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | + + Example request body: + + This example sets free shipping above a certain order total: + + ```json + { + "name": "Per Total or Free", + "type": "total", + "settings": { + "default_cost": 12, + "default_cost_type": "fixed_amount", + "include_order_total_taxes": 0, + "range": [ + { + "lower_limit": 0, + "upper_limit": 5, + "shipping_cost": 5 + }, + { + "lower_limit": 5, + "upper_limit": 10, + "shipping_cost": 8 + }, + { + "lower_limit": 10, + "upper_limit": 20, + "shipping_cost": 10 + }, + { + "lower_limit": 20, + "upper_limit": 49.99, + "shipping_cost": 15 + }, + { + "lower_limit": 50, + "upper_limit": 100000, + "shipping_cost": 0 + } + ] + } + } + ``` + + #### Range Object – Properties + + Object model to define ranges for shipping quotes. Units are defined in the parent object. + + | Property | Type | Description | + |:---------|:-----|:------------| + | lower_limit | number | Lower limit for order total. | + | upper_limit | number | Upper limit for order total. | + | shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. | + + + Example request body: + + ```json + { + "lower_limit": 0, + "upper_limit": 20, + "shipping_cost": 8 + } + ``` summary: Create a Shipping Method tags: - Shipping Method parameters: - - name: zone_id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: schema: $ref: '#/components/schemas/shippingMethod_Base' + example: + name: Per Order + type: perorder + settings: + rate: 8 + enabled: true + handling_fees: + fixed_surcharge: "3" required: true - x-examples: - application/json: - name: Per Order - type: perorder - settings: - rate: 8 - enabled: true - handling_fees: - fixed_surcharge: 3 responses: '200': description: '' @@ -980,8 +1211,8 @@ paths: application/json: schema: $ref: '#/components/schemas/shippingMethod_Full' - x-examples: - response: + examples: + Example 1: value: id: 5 name: Per Order @@ -990,38 +1221,36 @@ paths: rate: 8 enabled: true handling_fees: - fixed_surcharge: 3 - Response Schema: - examples: - response: + fixed_surcharge: "3" + Example 2: value: id: 19609616 name: ad sed type: auspost settings: {} enabled: false - handling_fees: fixed_surcharge + handling_fees: + fixed_surcharge: "0" is_fallback: false operationId: createAShippingMethod parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' - name: zone_id in: path required: true + description: ID of the shipping zone. schema: - type: string - '/stores/{store_hash}/v2/shipping/zones/{zone_id}/methods/{method_id}': + type: integer + exclusiveMinimum: false + exclusiveMaximum: false + '/shipping/zones/{zone_id}/methods/{method_id}': get: description: |- Returns a single *Shipping Method* in a zone. Real Time Carrier Connections are also supported by this endpoint. ### Settings Objects - A shipping method's `type` and `settings` properties can match one of the following models: + A shipping methodʼs `type` and `settings` properties can match one of the following models: ### perorder Object – Properties @@ -1067,9 +1296,9 @@ paths: | Name | Type | Description | | - | - | - | - | default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. | - | default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. | - | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. | + | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | + | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the storeʼs control panel. | #### JSON Example @@ -1098,14 +1327,14 @@ paths: ### total Object – Properties - Object model for shipping quotes by order's total value. + Object model for shipping quotes by orderʼs total value. | Name | Type | Description | | - | - | - | - | default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. | - | default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. | - | include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping cost calculation. | - | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. | + | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | + | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | + | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | #### JSON Example @@ -1172,37 +1401,6 @@ paths: summary: Get a Shipping Method tags: - Shipping Method - parameters: - - name: zone_id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: method_id - in: path - required: true - description: ID of the shipping method within the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json responses: '200': description: '' @@ -1249,8 +1447,8 @@ paths: description: Whether or not this shipping zone is the fallback if all others are not valid for the order. example: false type: boolean - x-examples: - response: + examples: + Example 1: value: id: 1 name: Flat Rate @@ -1259,18 +1457,17 @@ paths: rate: 12 enabled: true handling_fees: - fixed_surcharge: 0 + fixed_surcharge: "0" is_fallback: false - Response Schema: - examples: - response: + Example 2: value: id: 71711609 name: nisi type: weight settings: {} enabled: false - handling_fees: percentage_surcharge + handling_fees: + percentage_surcharge: "0" is_fallback: false x-unitTests: [] x-operation-settings: @@ -1280,53 +1477,182 @@ paths: IsMultiContentStreaming: false operationId: getAShippingMethod put: - description: "Updates a *Shipping Method* in a zone. Real Time Carrier Connections are also supported by this endpoint. \n\n**Read Only Fields**\n* id\n\n### Settings Objects \n\nA shipping method's `type` and `settings` properties can match one of the following models:\n\n### perorder Object – Properties \n\nObject model for flat-rate shipping quotes per order.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per order. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Order\",\n\t\"type\": \"perorder\",\n\t\"settings\": {\n\t\t\"rate\": 7\n\t}\n},\n```\n\n### peritem Object – Properties \n\nObject model for flat-rate shipping quotes per item ordered.\n\n| Name | Type | Description |\n| - | - | - |\n| rate | number | Flat rate per item. |\n\n#### JSON Example \n\n```json\n{\n\t\"name\": \"Flat Rate per Item\",\n\t\"type\": \"peritem\",\n\t\"settings\": {\n\t\t\"rate\": 8\n\t}\n},\n```\n\n### weight Object – Properties \n\nObject model for shipping quotes by weight.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the store's control panel. |\n\n\n#### JSON Example \n \n```json\n{\n\t\"name\": \"Rate per Weight\",\n\t\"type\": \"weight\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 40,\n\t\t\t\t\"shipping_cost\": 12\n\t\t\t}\n\t\t]\n\t}\n}\n```\n\n### total Object – Properties \n\nObject model for shipping quotes by order's total value.\n\n| Name | Type | Description |\n| - | - | - |\n| default_cost | number | Default shipping cost, applied either as a percentage of the order's total value or as a fixed amount. |\n| default_cost_type | string | How the default shipping cost is calculated. One of: `percentage_of_total` or `fixed_amount`. |\n| include_order_total_taxes | boolean | Whether or not to include taxes on the order's total value in the shipping cost calculation. |\n| range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the store's currency. |\n\n#### JSON Example \n\nThis example sets free shipping above a certain order total:\n\n```json\n{\n\t\"name\": \"Per Total or Free\",\n\t\"type\": \"total\",\n\t\"settings\": {\n\t\t\"default_cost\": 12,\n\t\t\"default_cost_type\": \"fixed_amount\",\n\t\t\"include_order_total_taxes\": 0,\n\t\t\"range\": [\n\t\t\t{\n\t\t\t\t\"lower_limit\": 0,\n\t\t\t\t\"upper_limit\": 5,\n\t\t\t\t\"shipping_cost\": 5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 5,\n\t\t\t\t\"upper_limit\": 10,\n\t\t\t\t\"shipping_cost\": 8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 10,\n\t\t\t\t\"upper_limit\": 20,\n\t\t\t\t\"shipping_cost\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 20,\n\t\t\t\t\"upper_limit\": 49.99,\n\t\t\t\t\"shipping_cost\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lower_limit\": 50,\n\t\t\t\t\"upper_limit\": 100000,\n\t\t\t\t\"shipping_cost\": 0\n\t\t\t} \n\t\t]\n\t}\n}\n```\n\n### Range Object – Properties \n\nObject model to define ranges for shipping quotes. Units are defined in the parent object.\n\n| Name | Type | Description |\n| - | - | - |\n| lower_limit | number | Lower limit for order total. |\n| upper_limit | number | Upper limit for order total. |\n| shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. |\n\n#### JSON Example \n\n```json\n{\n\t\"lower_limit\": 0,\n\t\"upper_limit\": 20,\n\t\"shipping_cost\": 8\n}\n```\n" + description: |- + Updates a *Shipping Method* in a zone. Real Time Carrier Connections are also supported by this endpoint. + + **Read Only Fields** + * id + + ### Settings Objects + + A shipping methodʼs `type` and `settings` properties can match one of the following models: + + #### perorder Object – Properties + + Object model for flat-rate shipping quotes per order. + + | Property | Type | Description | + |:---------|:-----|:------------| + | rate | number | Flat rate per order. | + + Example response: + + ```json + { + "name": "Flat Rate per Order", + "type": "perorder", + "settings": { + "rate": 7 + } + }, + ``` + + #### peritem Object – Properties + + Object model for flat-rate shipping quotes per item ordered. + + | Property | Type | Description | + |:---------|:-----|:------------| + | rate | number | Flat rate per item. | + + Example response: + + ```json + { + "name": "Flat Rate per Item", + "type": "peritem", + "settings": { + "rate": 8 + } + }, + ``` + + #### weight Object – Properties + + Object model for shipping quotes by weight. + + | Property | Type | Description | + |:---------|:-----|:------------| + | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | + | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the storeʼs control panel. | + + + Example response: + + ```json + { + "name": "Rate per Weight", + "type": "weight", + "settings": { + "default_cost": 12, + "default_cost_type": "fixed_amount", + "range": [ + { + "lower_limit": 0, + "upper_limit": 20, + "shipping_cost": 8 + }, + { + "lower_limit": 20, + "upper_limit": 40, + "shipping_cost": 12 + } + ] + } + } + ``` + + #### total Object – Properties + + Object model for shipping quotes by orderʼs total value. + + | Property | Type | Description | + |:---------|:-----|:------------| + | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | + | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | + | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | + + Example response: + + This example sets free shipping above a certain order total: + + ```json + { + "name": "Per Total or Free", + "type": "total", + "settings": { + "default_cost": 12, + "default_cost_type": "fixed_amount", + "include_order_total_taxes": 0, + "range": [ + { + "lower_limit": 0, + "upper_limit": 5, + "shipping_cost": 5 + }, + { + "lower_limit": 5, + "upper_limit": 10, + "shipping_cost": 8 + }, + { + "lower_limit": 10, + "upper_limit": 20, + "shipping_cost": 10 + }, + { + "lower_limit": 20, + "upper_limit": 49.99, + "shipping_cost": 15 + }, + { + "lower_limit": 50, + "upper_limit": 100000, + "shipping_cost": 0 + } + ] + } + } + ``` + + #### Range Object – Properties + + Object model to define ranges for shipping quotes. Units are defined in the parent object. + + | Property | Type | Description | + |:---------|:-----|:------------| + | lower_limit | number | Lower limit for order total. | + | upper_limit | number | Upper limit for order total. | + | shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. | + + Example response: + + ```json + { + "lower_limit": 0, + "upper_limit": 20, + "shipping_cost": 8 + } + ``` + summary: Update a Shipping Method tags: - Shipping Method parameters: - - name: zone_id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: method_id - in: path - required: true - description: ID of the shipping method within the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: schema: $ref: '#/components/schemas/shippingMethod_Base' + example: + settings: + rate: 11 + handling_fees: + fixed_surcharge: "0" required: true - x-examples: - application/json: - settings: - rate: 11 - handling_fees: - fixed_surcharge: 0 responses: '200': description: '' @@ -1334,8 +1660,8 @@ paths: application/json: schema: $ref: '#/components/schemas/shippingMethod_Full' - x-examples: - response: + examples: + Example 1: value: id: 5 name: Per Order @@ -1344,17 +1670,16 @@ paths: rate: 11 enabled: true handling_fees: - fixed_surcharge: 0 - Response Schema: - examples: - response: + fixed_surcharge: "0" + Example 2: value: id: 8176684 name: in incididunt amet adipisicing type: endicia settings: {} enabled: false - handling_fees: fixed_surcharge + handling_fees: + fixed_surcharge: "0" is_fallback: false x-unitTests: [] x-operation-settings: @@ -1368,37 +1693,6 @@ paths: summary: Delete a Shipping Method tags: - Shipping Method - parameters: - - name: zone_id - in: path - required: true - description: ID of the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: method_id - in: path - required: true - description: ID of the shipping method within the shipping zone. - schema: - type: integer - exclusiveMinimum: false - exclusiveMaximum: false - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json responses: '204': description: '' @@ -1410,22 +1704,26 @@ paths: IsMultiContentStreaming: false operationId: deleteAShippingMethod parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' - name: zone_id in: path required: true + description: ID of the shipping zone. schema: - type: string + type: integer + exclusiveMinimum: false + exclusiveMaximum: false - name: method_id in: path required: true + description: ID of the shipping method within the shipping zone. schema: - type: string - '/stores/{store_hash}/v2/shipping/carrier/connection': + type: integer + exclusiveMinimum: false + exclusiveMaximum: false + '/shipping/carrier/connection': + parameters: + - $ref: '#/components/parameters/Accept' put: description: |- Updates a *Carrier Connection*. @@ -1435,32 +1733,18 @@ paths: tags: - Shipping Carrier parameters: - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: schema: $ref: '#/components/schemas/carrierConnection' - description: 'The request body will vary by carrier. See [Create a Carrier Connection](/api-reference/store-management/shipping-api/shipping-carrier/postshippingcarrierconnection).' - x-examples: - application/json: - carrier_id: endicia - connection: - account_id: yourEndiciaAccountId - pass_phrase: yourEndiciaPassphrase + example: + carrier_id: endicia + connection: + account_id: yourEndiciaAccountId + pass_phrase: yourEndiciaPassphrase + description: The request body will vary by carrier. See [Create a Carrier Connection](/docs/rest-management/shipping-v2/shipping-carrier#create-a-carrier-connection). responses: '204': description: Returns if request was successful. @@ -1479,35 +1763,193 @@ paths: schema: {} operationId: updateACarrierConnection post: - description: "Creates a *Carrier Connection*. \n\nCarrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier.\n\n*Notes:*\n\n- There is no `GET` with this resource. It has `PUT`, `POST` and `DELETE`.\n * `PUT` is used to update. The connection can be updated by API.\n\n \n- Connections created here do not enable the shipping method. To enable the carrier for a shipping zone, use the Shipping Methods API. \n\n- The Carrier Connection resource returns a 204 for both successful and unsuccessful attempts to connect. If a field is missing, it will return a 400.\n\n### Australia Post\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"auspost\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourAusPostAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"auspost\"\n}\n```\n\n#### Australia Post Connection Object – Properties\n\nAustralia Post `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description\n| - | - | - |\n| auth_key | string | Australia Post authorization key. |\n| test_mode | boolean | Whether or not to use Australia Post test-mode settings. Acceptable values are `true` or `false`. |\n\n\n### Endicia\nUSPS is connected through Endicia.\n\n#### Sample Request – PUT or POST\n\n```json\n{\t\"carrier_id\" : \"endicia\",\n\t\"connection\": {\n\t\t\"account_id\" : \"yourEndiciaAccountId\",\n\t\t\"pass_phrase\" : \"yourEndiciaPassphrase\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"endicia\"\n}\n```\n\n#### Endicia Connection Object – Properties\n\nEndicia `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description |\n| - | - | - |\n| account_id | string | Endicia account ID. |\n| passphrase | string | Endicia passphrase. |\n\n\n### FedEx\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"fedex\",\n\t\"connection\" : {\n\t\t\"key\" : \"yourFedexKey\",\n\t\t\"password\" : \"yourFedexPassword\",\n\t\t\"account_number\" : \"yourFedexAccountNumber\",\n\t\t\"meter_number\" : \"yourFedexMeterNumber\"\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"fedex\"\n}\n```\n\n#### FedEx Connection Object – Properties\n\nFedEx `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| key | string | FedEx account ID. | \n| password | string | FedEx passphrase. |\n| account_number | string | FedEx account number. |\n| meter_number | string | FedEx meter number. |\n\n### Royal Mail\n\nSample Request - PUT or POST\n\n```json\n{\n \"carrier_id\" : \"royalmail\",\n \"connection\" : {\n \n }\n}\n```\n\nSample Request - DELETE\n\n```json\n{\n \"carrier_id\" : \"royalmail\"\n}\n```\n\n#### Royal Mail Connection Object - Properties\n\nRoyal Mail has no connection object properties.\n\n\n### Zoom2U\n\n#### Sample Request – PUT or POST\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\",\n\t\"connection\" : {\n\t\t\"auth_key\" : \"yourZoom2uAuthKey\",\n\t\t\"test_mode\" : false\n\t}\n}\n```\n\n#### Sample Request – DELETE\n\n```json\n{\n\t\"carrier_id\" : \"zoom2u\"\n}\n```\n\n#### Zoom2U Connection Object – Properties\n\nZoom2U `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`.\n\n\n| Property | Type | Description | \n| - | - | - |\n| auth_key | string | Zoom2U authorization key. |\n| test_mode | boolean | Whether or not to use Zoom2U test-mode settings. Acceptable values are `true` or `false`. |" + description: |- + Creates a *Carrier Connection*. + + Carrier connections refer to specific settings required to connect to a specific shipping carrier. Each carrier requires your app to supply a unique set of properties/fields to establish a connection with that carrier. + + *Notes:* + + - There is no `GET` with this resource. It has `PUT`, `POST` and `DELETE`. + * `PUT` is used to update. The connection can be updated by API. + + - Connections created here do not enable the shipping method. To enable the carrier for a shipping zone, use the Shipping Methods API. + + - The Carrier Connection resource returns a 204 for both successful and unsuccessful attempts to connect. If a field is missing, it will return a 400. + + ### Australia Post + + PUT or POST example request: + + ```json + { + "carrier_id" : "auspost", + "connection" : { + "auth_key" : "yourAusPostAuthKey", + "test_mode" : false + } + } + ``` + + DELETE example request: + + ```json + { + "carrier_id" : "auspost" + } + ``` + + #### Australia Post Connection Object – Properties + + Australia Post `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`. + + + | Property | Type | Description | + |:---------|:-----|:------------| + | auth_key | string | Australia Post authorization key. | + | test_mode | boolean | Whether or not to use Australia Post test-mode settings. Acceptable values are `true` or `false`. | + + + ### Endicia + USPS is connected through Endicia. + + PUT or POST example request: + + ```json + { "carrier_id" : "endicia", + "connection": { + "account_id" : "yourEndiciaAccountId", + "pass_phrase" : "yourEndiciaPassphrase" + } + } + ``` + + DELETE example request: + + ```json + { + "carrier_id" : "endicia" + } + ``` + + #### Endicia Connection Object – Properties + + Endicia `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`. + + + | Property | Type | Description | + |:---------|:-----|:------------| + | account_id | string | Endicia account ID. | + | passphrase | string | Endicia passphrase. | + + + ### FedEx + + PUT or POST example request: + + ```json + { + "carrier_id" : "fedex", + "connection" : { + "key" : "yourFedexKey", + "password" : "yourFedexPassword", + "account_number" : "yourFedexAccountNumber", + "meter_number" : "yourFedexMeterNumber" + } + } + ``` + + DELETE example request: + + ```json + { + "carrier_id" : "fedex" + } + ``` + + #### FedEx Connection Object – Properties + + FedEx `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`. + + + | Property | Type | Description | + |:---------|:-----|:------------| + | key | string | FedEx account ID. | + | password | string | FedEx passphrase. | + | account_number | string | FedEx account number. | + | meter_number | string | FedEx meter number. | + + ### Royal Mail + + PUT or POST example request: + + ```json + { + "carrier_id" : "royalmail", + "connection" : { + + } + } + ``` + + DELETE example request: + + ```json + { + "carrier_id" : "royalmail" + } + ``` + + #### Royal Mail Connection Object - Properties + + Royal Mail has no connection object properties. + + + ### Zoom2U + + PUT or POST example request: + + ```json + { + "carrier_id" : "zoom2u", + "connection" : { + "auth_key" : "yourZoom2uAuthKey", + "test_mode" : false + } + } + ``` + + DELETE example request: + + ```json + { + "carrier_id" : "zoom2u" + } + ``` + + #### Zoom2U Connection Object – Properties + + Zoom2U `PUT` or `POST` requests require all of the following properties. (These requests won’t be fulfilled unless these properties are valid.) `DELETE` requests require only a `carrier_id`. + + + | Property | Type | Description | + |:---------|:-----|:------------| + | auth_key | string | Zoom2U authorization key. | + | test_mode | boolean | Whether or not to use Zoom2U test-mode settings. Acceptable values are `true` or `false`. | summary: Create a Carrier Connection operationId: createACarrierConnection parameters: - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: schema: $ref: '#/components/schemas/carrierConnection' - x-examples: - application/json: - carrier_id: auspost - connection: - auth_key: yourAusPostAuthKey - test_mode: false + example: + carrier_id: auspost + connection: + auth_key: yourAusPostAuthKey + test_mode: false responses: '204': description: Returns if request was successful. @@ -1550,21 +1992,6 @@ paths: summary: Delete a Carrier Connection tags: - Shipping Carrier - parameters: - - name: Accept - in: header - required: true - description: '' - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - description: '' - schema: - type: string - default: application/json requestBody: content: application/json: @@ -1574,12 +2001,9 @@ paths: carrier_id: type: string example: fedex + example: + carrier_id: fedex required: true - x-examples: - application/json: - carrier_id: fedex - new: - carrier_id: fedex responses: '204': description: Returns if request was successful. @@ -1603,41 +2027,50 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false operationId: deleteCarrierConnection - parameters: - - name: store_hash - in: path - required: true - schema: - type: string 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' securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: TrackingCarrier: title: Tracking Carrier @@ -1933,7 +2366,4 @@ components: description: Query string appended to the resource to show the current page. example: '?limit=1&page=2' x-internal: false -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/shipping.v3.yml b/reference/shipping.v3.yml index a57927450..f7dbb125f 100644 --- a/reference/shipping.v3.yml +++ b/reference/shipping.v3.yml @@ -13,12 +13,17 @@ tags: security: - X-Auth-Token: [] servers: - - url: 'https://api.bigcommerce.com' + - 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 paths: - '/stores/{store_hash}/v3/shipping/products/customs-information': + '/shipping/products/customs-information': parameters: - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/store_hash' + get: operationId: getCustomsInformation responses: @@ -124,17 +129,17 @@ paths: type: array items: $ref: '#/components/schemas/customsInformation_request' - examples: {} - x-examples: - Example: - - product_id: 77 - country_of_origin: US - commodity_description: Baseball caps - international_shipping: true - hs_codes: - CA: '508313' - AU: '817355' - ALL: '501000' + examples: + Example: + value: + - product_id: 77 + country_of_origin: US + commodity_description: Baseball caps + international_shipping: true + hs_codes: + CA: '508313' + AU: '817355' + ALL: '501000' components: parameters: store_hash: @@ -287,32 +292,30 @@ components: $ref: '#/components/schemas/error_Full' securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | UI Name | Permission | Parameter | - |:---------|:-----------|:----------| - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | - - ### Headers - - | Header | Parameter | Description | - |:-------|:----------|:------------| - | `X-Auth-Token` | `access_token `| Obtained by creating an API account or installing an app in a BigCommerce control panel. | - - ### Example + ### OAuth scopes - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: customsInformation_request: title: customsInformationRequest @@ -395,14 +398,21 @@ components: harmonizedSystemCodes: title: harmonizedSystemCodes description: |- - Key value pair commonly used in the form of **countryISO2:'/^[0-9A-Za-z]{6,14}$/'**. This is to represent a country and the associated `hs_code` that applies to that country. Eg {"US":"508313","AU":"850610"}. + Key-value pairs that are commonly used in the following form: + + `countryISO2: '/^[0-9A-Za-z]{6,14}$/'` + + This key-value pair represents a country and the associated `hs_code` that applies to that country. - There is a special value of **'ALL'**, which can be used in place of the countryISO2 to represent that the `hs_code` applies to all countries. Eg {"ALL":"634000"}. This can be combined with other countries in the `hs_code` object, for example {"All":"640000", "US":"641000"}. + You can also use the `ALL` key in place of an ISO2 key to specify that the `hs_code` applies to all countries. The `ALL` key can be combined with other countries in the `hs_code` object. type: object + properties: {} + additionalProperties: true example: + ALL: '501000' CA: '508313' + US: '641000' AU: '817355' - ALL: '501000' x-internal: false metaCollection: title: metaCollection diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index d185c11e1..a8967fb5a 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -6,9 +6,12 @@ info: Implement endpoints consumed by BigCommerce for custom shipping integrations. To learn more, see [Shipping Provider API Overview](/api-docs/store-management/shipping/shipping-provider-api). ## Authentication + This specification file describes API requests BigCommerce will make to a registered shipping carrierʼs server to check connection options and retrieve rates. As such, the method of authentication is determined by the carrier server. - ## Sub-resources + For more, see [developer-configured authentication](/api-docs/getting-started/authentication#developer-configured-authentication) for provider APIs. + + ## Subresources ### Check Connection Options The Check Connection Options request is made by BigCommerce when checking for available shipping options. Each Shipping Provider will have different configurations for the payload. @@ -22,8 +25,8 @@ info: - [Shipment](/api-docs/store-management/webhooks/webhook-events#shipment) ### Related API Resources - - [Shipping Provider](/api-reference/store-management/shipping-provider-api) - - [Shipping V2 API](/api-reference/shipping/shipping-api) + - [Shipping Provider](/docs/apps-api/shipping) + - [Shipping V2 API](/docs/rest-management/shipping-v2) termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -31,12 +34,12 @@ info: email: support@bigcommerce.com tags: - name: Shipping Provider -x-stoplight: - docs: - includeDownloadLink: true - showModels: false servers: - - url: 'https://your_app.example.com' + - url: 'https://{app_domain}' + variables: + app_domain: + default: your_app.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of your appʼs server.' description: The public URL of your shipping provider application. paths: /rate: @@ -62,7 +65,7 @@ paths: schema: $ref: '#/components/schemas/RateResponsePayload' examples: - response: + With shipping rates: value: quote_id: Lor messages: @@ -347,9 +350,7 @@ paths: carrier_info: code: vel display_name: laborum e - No Shipping Rates: - examples: - response: + Without shipping rates: value: quote_id: example_quote messages: [] @@ -626,7 +627,7 @@ components: description: The value associated with the meta field. namespace: type: string - description: 'The namespace associated with metafields for [products](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) and [product variants](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' + description: 'The namespace associated with metafields for [products](/docs/rest-management/catalog/product-metafields#create-a-product-metafield) and [product variants](/docs/rest-management/catalog/product-variants-metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string enum: @@ -1133,7 +1134,7 @@ components: description: The value associated with the product or product variant meta field. namespace: type: string - description: 'The namespace associated with metafields for [products](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) and [product variants](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' + description: 'The namespace associated with metafields for [products](docs/rest-management/catalog/product-metafields) and [product variants](/docs/rest-management/catalog/product-variants-metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string enum: @@ -1316,7 +1317,7 @@ components: description: The value associated with the product or product variant meta field. namespace: type: string - description: 'The namespace associated with metafields for [products](/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) and [product variants](/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' + description: 'The namespace associated with metafields for [products](docs/rest-management/catalog/product-metafields) and [product variants](/docs/rest-management/catalog/product-variants-metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string description: Resource type associated with the product or product variant meta field. Currently, the only values available are 'product' or 'variant'. @@ -1722,7 +1723,7 @@ components: example: "1": selected_value "3": checkbox_selection_1 - description: Describes one or more [custom form fields](/api-reference/storefront/form-fields/form-fields/getformfields). Property key is the global ID of a shipping address form field. When no custom fields exist, the object is empty. + description: Describes one or more [custom form fields](/docs/rest-storefront/forms). Property key is the global ID of a shipping address form field. When no custom fields exist, the object is empty. properties: '
': $ref: '#/components/schemas/FormFieldValue' @@ -1852,7 +1853,7 @@ components: description: The value associated with the meta field. namespace: type: string - description: 'The namespace associated with a product(/api-reference/catalog/catalog-api/product-metafields/createproductmetafield) or product variant(/api-reference/store-management/catalog/product-variants-metafields/createvariantmetafield) meta fields. You should save a meta field namespace under this format `shipping_carrier_{yourCarrierId}`; otherwise, you will not be able to recognize it as an attribute.' + description: 'The namespace associated with a [product](docs/rest-management/catalog/product-metafields) or [product variant](/docs/rest-management/catalog/product-variants-metafields) metafields. You should save a metafield namespace under this format `shipping_carrier_{yourCarrierId}`; otherwise, you will not be able to recognize it as an attribute.' resource_type: type: string enum: @@ -1911,6 +1912,6 @@ components: - store_id FormFieldValue: type: string - description: The value of a [shipping address](/api-reference/store-management/orders/order-shipping-addresses/getashippingaddress) form field. Depending on the form field, this could be a user-defined value or the value of a hidden input. + description: The value of a [shipping address](/docs/rest-management/orders/order-shipping-addresses#get-a-shipping-address) form field. Depending on the form field, this could be a user-defined value or the value of a hidden input. title: Form Field Value \ No newline at end of file diff --git a/reference/sites.v3.yml b/reference/sites.v3.yml index 9336c55fc..4e2730f30 100644 --- a/reference/sites.v3.yml +++ b/reference/sites.v3.yml @@ -1,34 +1,13 @@ -openapi: 3.0.3 +openapi: '3.0.3' info: title: Sites version: '' description: |- - Create and manage [sites](#sites) and [routes](#routes) for [headless storefront](https://support.bigcommerce.com/s/article/The-Headless-Approach#what-mean) sales [channels](/api-reference/store-management/channels). + Create and manage [sites](#sites) and [routes](#routes) for [headless storefront](https://support.bigcommerce.com/s/article/The-Headless-Approach#what-mean) sales [channels](/docs/rest-management/channels). + ## [Sites](/docs/rest-management/sites) - ## Authentication - - Authenticate requests by sending an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) `access_token` via `X-Auth-Token` HTTP header. - ### Example - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### [OAuth Scopes](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) - - | UI Name | Permission | Parameter | - |----------------|------------|-------------------------| - | Sites & Routes | modify | `store_sites` | - | Sites & Routes | read-only | `store_sites_read_only` | - - For more information on authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). - - ## [Sites](/api-reference/store-management/sites) - - Sites link [headless storefronts](/api-docs/storefronts/developers-guide-headless) to sales [channels](/api-reference/store-management/channels). To [create a site](/api-reference/store-management/sites/sites/post-site), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites`. + Sites link [headless storefronts](/api-docs/storefronts/developers-guide-headless) to sales [channels](/docs/rest-management/channels). To [create a site](/docs/rest-management/sites#create-a-site), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites`. ```http POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites @@ -42,9 +21,7 @@ info: } ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/sites/sites/post-site#requestrunner) - - **[Response:](/api-reference/store-management/sites/sites/post-site#responses)** + **Response** ```json { @@ -56,7 +33,7 @@ info: } ``` - To [get a list of sites](/api-reference/store-management/sites/sites/getsites), send a `GET` request to `/stores/{{STORE_HASH}}/v3/sites`. + To [get a list of sites](/docs/rest-management/sites#get-sites), send a `GET` request to `/stores/{{STORE_HASH}}/v3/sites`. ```http GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites @@ -64,11 +41,9 @@ info: Accept: application/json ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/sites/sites/getsites#requestrunner) - - ## [Site routes](/api-reference/store-management/sites/site-routes/index-site-routes) + ## Site routes - Site routes tell BigCommerce how to link to pages on a [headless storefront](/api-docs/storefronts/developers-guide-headless). To [create a route](/api-reference/store-management/sites/site-routes/post-site-route) for a [site](#sites), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes`. + [Site routes](/docs/rest-management/sites/site-routes) tell BigCommerce how to link to pages on a [headless storefront](/api-docs/storefronts/developers-guide-headless). To [create a route](/docs/rest-management/sites/site-routes#create-a-site-route) for a [site](#sites), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes`. ```http POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes @@ -83,8 +58,6 @@ info: } ``` - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/store-management/sites/site-routes/post-site-route#requestrunner) - ## Route types The following route types are supported. @@ -137,12 +110,21 @@ info: ## Additional Information ### Related resources - * [Channels and Listings Reference](/api-reference/store-management/channels) + * [Channels and Listings Reference](/docs/rest-management/channels) * [Channels Overview](/api-docs/channels/overview) * [Building Headless Storefronts Guide](/api-docs/storefronts/developers-guide-headless) - contact: {} + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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: @@ -151,10 +133,14 @@ tags: - name: Site Routes - name: Site Certificate paths: - '/stores/{store_hash}/v3/sites': + '/sites': + parameters: + - $ref: '#/components/parameters/Accept' post: summary: Create a Site operationId: post-site + parameters: + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -180,7 +166,7 @@ paths: $ref: '#/components/responses/504_GatewayTimeout' tags: - Sites - description: 'Create a site that links a [headless storefront](/api-docs/storefronts/developers-guide-headless) to a sales [channel](/api-reference/store-management/channels).' + description: 'Create a site that links a [headless storefront](/api-docs/storefronts/developers-guide-headless) to a sales [channel](/docs/rest-management/channels).' get: responses: '200': @@ -211,22 +197,10 @@ paths: in: query name: 'url_type:in' description: Filters sites returned in the `data.urls` array by their URL type. - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/sites/{site_id}': + '/sites/{site_id}': get: summary: Get a Site operationId: getSite - parameters: - - name: site_id - in: path - required: true - schema: - type: integer responses: '200': $ref: '#/components/responses/response_Site' @@ -237,11 +211,7 @@ paths: summary: Update a Site operationId: putSite parameters: - - name: site_id - in: path - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -260,12 +230,6 @@ paths: delete: summary: Delete a Site operationId: deleteSite - parameters: - - name: site_id - in: path - required: true - schema: - type: integer responses: '204': description: '' @@ -273,37 +237,24 @@ paths: - Sites description: 'Delete a site with site ID `{site_id}`.' parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' - name: site_id in: path required: true schema: type: string - '/stores/{store_hash}/v3/sites/{site_id}/routes': + '/sites/{site_id}/routes': parameters: + - $ref: '#/components/parameters/Accept' - name: site_id in: path required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string get: summary: Get a Site’s Routes operationId: index-site-routes parameters: - - name: site_id - in: path - required: true - schema: - type: integer - name: type in: query description: Filter routes by a specified resource type. @@ -359,11 +310,7 @@ paths: summary: Create a Site Route operationId: post-site-route parameters: - - name: site_id - in: path - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -388,7 +335,7 @@ paths: Create routes that tell BigCommerce how to link to pages on a [headless storefront](/api-docs/storefronts/developers-guide-headless). ## Usage Notes - * For a list of supported route types, see [Route types](/api-reference/store-management/sites#route-types). + * For a list of supported route types, see [Route types](/docs/rest-management/sites#route-types). put: responses: '200': @@ -439,11 +386,7 @@ paths: * `id` is required when updating an existing route. summary: Update a Site’s Routes parameters: - - in: path - name: site_id - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -461,21 +404,10 @@ paths: route: '/products?id={id}' tags: - Site Routes - '/stores/{store_hash}/v3/sites/{site_id}/routes/{route_id}': + '/sites/{site_id}/routes/{route_id}': get: summary: Get a Site Route operationId: get-site-route - parameters: - - name: site_id - in: path - required: true - schema: - type: integer - - name: route_id - in: path - required: true - schema: - type: integer responses: '200': description: '' @@ -487,7 +419,7 @@ paths: data: $ref: '#/components/schemas/siteRoute_Full' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: response: value: @@ -504,16 +436,7 @@ paths: summary: Update a Site Route operationId: put-site-route parameters: - - name: site_id - in: path - required: true - schema: - type: integer - - name: route_id - in: path - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -535,17 +458,6 @@ paths: delete: summary: Delete a Site Route operationId: delete-route - parameters: - - name: site_id - in: path - required: true - schema: - type: integer - - name: route_id - in: path - required: true - schema: - type: integer responses: '204': description: '' @@ -553,11 +465,7 @@ paths: - Site Routes description: Delete a site’s route. parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' - name: site_id in: path required: true @@ -568,18 +476,14 @@ paths: required: true schema: type: string - '/stores/{store_hash}/v3/sites/{site_id}/certificate': + '/sites/{site_id}/certificate': parameters: + - $ref: '#/components/parameters/Accept' - in: path name: site_id schema: type: integer required: true - - schema: - type: string - name: store_hash - in: path - required: true get: summary: Get a Site’s SSL/TLS Certificate Information description: Obtain information about a site’s SSL/TLS certificate. @@ -597,6 +501,8 @@ paths: put: summary: Upsert a Site’s SSL/TLS Certificate Information operationId: putSiteIdCertificate + parameters: + - $ref: '#/components/parameters/ContentType' tags: - Site Certificate requestBody: @@ -623,13 +529,9 @@ paths: description: |- - If a value for `url` is not supplied, the saved certificate is associated with the specified site’s `primary` URL. - Use caution. Because this endpoint upserts, supplying an SSL certificate for a domain that already has a certificate connected overwrites the domain’s extant certificate.' - '/stores/{store_hash}/v3/sites/certificates': + '/sites/certificates': parameters: - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' get: summary: Get Site Certificates tags: @@ -753,6 +655,7 @@ components: description: 'Indicates whether the channel uses a custom checkout domain. When `false`, the checkout domain falls back to the default channel’s primary URL.' _metaEmpty: type: object + properties: {} description: Empty meta object; may be used later. title: _metaEmpty x-internal: false @@ -810,8 +713,10 @@ components: properties: data: type: object + properties: {} meta: type: object + properties: {} error_Full: type: object title: error_Full @@ -832,8 +737,8 @@ components: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: errorDetailed_Full x-internal: false @@ -855,7 +760,7 @@ components: properties: type: type: string - description: 'The type of resource being routed to; [supported types](/api-reference/store-management/sites#route-types).' + description: 'The type of resource being routed to; [supported types](/docs/rest-management/sites#route-types).' enum: - product - brand @@ -894,7 +799,7 @@ components: properties: type: type: string - description: 'The type of resource being routed to; [supported types](/api-reference/store-management/sites#route-types).' + description: 'The type of resource being routed to; [supported types](/docs/rest-management/sites#route-types).' enum: - product - brand @@ -1036,7 +941,7 @@ components: installed_certificate: $ref: '#/components/schemas/InstalledCertificateDetail' meta: - type: object + $ref: '#/components/schemas/MetaOpen' x-tags: - Models InstallCertificateData: @@ -1118,14 +1023,13 @@ components: type: string DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true + title: Detailed Errors x-tags: - Models GetCertificatesResponse: title: GetCertificatesResponse - x-stoplight: - id: wzfo263uqhopb type: object properties: data: @@ -1133,7 +1037,13 @@ components: items: $ref: '#/components/schemas/InstalledCertificateDetail' meta: - type: object + $ref: '#/components/schemas/MetaOpen' + MetaOpen: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. responses: 502_GatewayError: description: 'If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail.' @@ -1321,7 +1231,7 @@ components: data: $ref: '#/components/schemas/siteRoute_Full' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: response: value: @@ -1333,38 +1243,55 @@ components: meta: {} securitySchemes: X-Auth-Token: - type: apiKey - in: header name: X-Auth-Token description: |- - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - |Header|Description| - |-|-| - |`X-Auth-Token`|An [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token`| + ### OAuth scopes - ### [OAuth Scopes](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) - - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Channel Listings | modify | `store_channel_listings` | | Channel Listings | read-only | `store_channel_listings_read_only` | | Channel Settings | modify | `store_channel_settings` | | Channel Settings | read-only | `store_channel_settings_read_only` | | Sites & Routes | modify | `store_sites` | | Sites & Routes | read-only | `store_sites_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header 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' SiteIdPathParam: in: path name: site_id schema: type: integer required: true -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/store_content.v2.yml b/reference/store_content.v2.yml index 2e83f1ec6..666ada14b 100644 --- a/reference/store_content.v2.yml +++ b/reference/store_content.v2.yml @@ -1,15 +1,24 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Content description: |- Manage blog posts, blog tags, content pages, and redirects. - - > #### Note - > * Redirects V2 are deprecated; use [V3 Redirects](/api-reference/storefront/redirects/redirects/getredirects) instead. + > #### Warning + > * Redirects V2 are deprecated; use [V3 Redirects](/docs/rest-management/redirects) instead. version: '' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: @@ -18,19 +27,15 @@ tags: - name: Pages - name: Redirects paths: - '/stores/{store_hash}/v2/blog/tags': + '/blog/tags': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Blog Tags summary: Get All Blog Tags description: Returns a list of *Blog Tags*. operationId: getAllBlogTags - parameters: - - name: store_hash - in: path - required: true - schema: - type: string responses: '200': description: '' @@ -40,7 +45,9 @@ paths: type: array items: $ref: '#/components/schemas/blogTags' - '/stores/{store_hash}/v2/blog/posts': + '/blog/posts': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Blog Posts @@ -48,11 +55,6 @@ paths: description: 'Returns all *Blog Posts*. Default sorting is by published_date, beginning with the most recent post.' operationId: getAllBlogPosts parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: is_published in: query description: Filter param. @@ -103,7 +105,7 @@ paths: title: Hello Again url: /blog/hello-again/ preview_url: /blog/hello-again/ - body:

Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.

Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.

Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.

+ body: "

Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.

Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.

Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.

" tags: - sugar - sweet @@ -125,7 +127,7 @@ paths: title: Hello url: /blog/hello/ preview_url: /blog/hello/ - body:

Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.

Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.

Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.

+ body: "

Jelly beans muffin marzipan gingerbread donut dessert. Cheesecake cheesecake sugar plum cookie cake tart. Soufflé sesame snaps jelly beans brownie chocolate tart. Marshmallow jujubes candy pie. Gummies lemon drops tart soufflé pastry pie. Caramels wafer biscuit gummi bears. Liquorice toffee wafer bear claw marzipan jelly-o. Dessert bear claw topping icing croissant. Pie bonbon chocolate bar chocolate bar tiramisu chocolate lemon drops candy.

Marshmallow cupcake sweet roll candy marshmallow caramels cotton candy pie icing. Powder jelly beans chupa chups lollipop liquorice marzipan dessert soufflé sesame snaps. Macaroon chupa chups gummies cheesecake ice cream caramels sesame snaps cotton candy gingerbread. Chocolate cake fruitcake tart bear claw lemon drops tart dragée tart apple pie. Halvah chupa chups soufflé jelly soufflé marshmallow. Croissant tart tart. Gingerbread apple pie biscuit.

Wafer lemon drops tart pastry brownie chocolate bar jelly. Dragée muffin cupcake liquorice caramels marzipan gingerbread marzipan. Apple pie pudding jelly sweet roll croissant bonbon wafer. Cookie chocolate bar sesame snaps bonbon macaroon candy canes donut sugar plum. Bear claw bonbon tootsie roll bonbon. Apple pie gummies donut sweet. Marzipan bear claw cotton candy topping dragée bonbon danish powder.

" tags: - cupcakes - sugar @@ -145,7 +147,7 @@ paths: title: Your first blog post! url: /your-first-blog-post/ preview_url: /your-first-blog-post/ - body: '

Welcome to your blog!
A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look at the Bigcommerce ecommerce blog.

How can I delete this post?
To delete this post and add your own, login to your admin area and go to Storefront > Blog in the left hand menu.

Powered by Bigcommerce
Your website, online store and blog are powered by Bigcommerce ecommerce software. It includes everything you need to run a beautiful online store including ecommerce website templates, ecommerce hosting, an online shopping cart and more.

' + body: "

Welcome to your blog!
A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look at the BigCommerce ecommerce blog.

How can I delete this post?
To delete this post and add your own, login to your admin area and go to Storefront > Blog in the left hand menu.

Powered by Bigcommerce
Your website, online store and blog are powered by Bigcommerce ecommerce software. It includes everything you need to run a beautiful online store including ecommerce website templates, ecommerce hosting, an online shopping cart and more.

" tags: - Blog - SEO @@ -174,16 +176,11 @@ paths: **Notes** * When including `published_date` in a request, supply it as a flat date string (not an object) in valid RFC 2822. The example request below includes a `published_date` in RFC 2822 format. - * Blog posts default to draft status. To publish blog posts to the storefront, set the `is_published` property to `true`. * If a custom URL is not provided, the post’s URL will be generated based on the value of `title`. operationId: createABlogPosts parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -231,11 +228,6 @@ paths: description: Deletes a page of `Blog Posts`. operationId: deleteAllBlogPosts parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Filter param. @@ -256,27 +248,23 @@ paths: '204': description: '' content: {} - '/stores/{store_hash}/v2/blog/posts/{id}': + '/blog/posts/{id}': + parameters: + - $ref: '#/components/parameters/Accept' + - name: id + in: path + description: ID of the blog post. + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer get: tags: - Blog Posts summary: Get a Blog Post description: Returns a single *Blog Post*. operationId: getABlogPost - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the blog post. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer responses: '200': description: '' @@ -319,17 +307,7 @@ paths: * Blog posts default to draft status. To publish blog posts to the storefront, set the `is_published` property to `true`. operationId: updateABlogPost parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the blog post. - required: true - schema: - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -377,37 +355,19 @@ paths: summary: Delete a Blog Post description: Deletes a *Blog Post*. operationId: deleteABlogPost - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the blog post. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer responses: '204': description: '' content: {} - '/stores/{store_hash}/v2/blog/posts/count': + '/blog/posts/count': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Blog Posts summary: Get A Count of All Blog Posts description: Returns a count of all *Blog Posts*. operationId: getACountOfAllBlogPosts - parameters: - - name: store_hash - in: path - required: true - schema: - type: string responses: '200': description: '' @@ -417,19 +377,16 @@ paths: $ref: '#/components/schemas/count_Response' example: count: 27 - '/stores/{store_hash}/v2/pages': + '/pages': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Pages summary: Get All Pages - description: 'Returns a list of *Pages*. Default sorting is by auto-generated ID from oldests to newest. This endpoint is deprecated. ' + description: 'Returns a list of *Pages*. Default sorting is by auto-generated ID from oldest to newest. This endpoint is deprecated. ' operationId: getAllPages parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Filter param. @@ -498,11 +455,7 @@ paths: The default value for `content_type` is `text/html`; however, if `page_type` is set to `raw`, `content_type` can be changed to `text/javascript` or `application/json`. Updating this field allows you to place a JavaScript or a JSON file in the root directory. operationId: createAPage parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -518,7 +471,7 @@ paths: name: Contact Form url: /contact-us/ meta_description: string - body:

We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance.

+ body: "

We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance.

" mobile_body: '0' has_mobile_version: false is_visible: true @@ -548,7 +501,7 @@ paths: name: Contact Form url: /contact-us/ meta_description: '' - body: We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance. + body: "We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance." mobile_body: '' has_mobile_version: false feed: '' @@ -568,27 +521,23 @@ paths: type: object deprecated: true x-codegen-request-body-name: body - '/stores/{store_hash}/v2/pages/{id}': + '/pages/{id}': + parameters: + - $ref: '#/components/parameters/Accept' + - name: id + in: path + description: ID of the page. + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer get: tags: - Pages summary: Get A Page description: Returns a *Page*. This endpoint is deprecated. operationId: getAPage - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the page. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer responses: '200': description: '' @@ -628,16 +577,7 @@ paths: * id operationId: updateAPage parameters: - - name: id - in: path - required: true - schema: - type: string - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -655,7 +595,7 @@ paths: id: 2 name: Shipping & Returns meta_title: '' - body: 'To edit this page simply login to the control panel, click the Website Content tab and choose the View Web Pages option. Click Edit next to the Shipping & Returns page and you can change this text. A sample returns policy is shown below which you can edit as needed.

Returns Policy

You may return most new, unopened items within 30 days of delivery for a full refund. We''ll also pay the return shipping costs if the return is a result of our error (you received an incorrect or defective item, etc.).

You should expect to receive your refund within four weeks of giving your package to the return shipper, however, in many cases you will receive a refund more quickly. This time period includes the transit time for us to receive your return from the shipper (5 to 10 business days), the time it takes us to process your return once we receive it (3 to 5 business days), and the time it takes your bank to process our refund request (5 to 10 business days).

If you need to return an item, please Contact Us with your order number and details about the product you would like to return. We will respond quickly with instructions for how to return items from your order.

Shipping

We can ship to virtually any address in the world. Note that there are restrictions on some products, and some products cannot be shipped to international destinations.

When you place an order, we will estimate shipping and delivery dates for you based on the availability of your items and the shipping options you choose. Depending on the shipping provider you choose, shipping date estimates may appear on the shipping quotes page.

Please also note that the shipping rates for many items we sell are weight-based. The weight of any such item can be found on its detail page. To reflect the policies of the shipping companies we use, all weights will be rounded up to the next full pound.
' + body: "To edit this page simply login to the control panel, click the Website Content tab and choose the View Web Pages option. Click Edit next to the Shipping & Returns page and you can change this text. A sample returns policy is shown below which you can edit as needed.

Returns Policy

You may return most new, unopened items within 30 days of delivery for a full refund. We'll also pay the return shipping costs if the return is a result of our error (you received an incorrect or defective item, etc.).

You should expect to receive your refund within four weeks of giving your package to the return shipper, however, in many cases you will receive a refund more quickly. This time period includes the transit time for us to receive your return from the shipper (5 to 10 business days), the time it takes us to process your return once we receive it (3 to 5 business days), and the time it takes your bank to process our refund request (5 to 10 business days).

If you need to return an item, please Contact Us with your order number and details about the product you would like to return. We will respond quickly with instructions for how to return items from your order.

Shipping

We can ship to virtually any address in the world. Note that there are restrictions on some products, and some products cannot be shipped to international destinations.

When you place an order, we will estimate shipping and delivery dates for you based on the availability of your items and the shipping options you choose. Depending on the shipping provider you choose, shipping date estimates may appear on the shipping quotes page.

Please also note that the shipping rates for many items we sell are weight-based. The weight of any such item can be found on its detail page. To reflect the policies of the shipping companies we use, all weights will be rounded up to the next full pound.
" is_visible: true parent_id: 0 sort_order: 2 @@ -685,26 +625,14 @@ paths: summary: Delete a Page description: 'Deletes a *Page*. This endpoint is deprecated. ' operationId: deleteAPage - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the page. - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer responses: '204': description: '' content: {} deprecated: true - '/stores/{store_hash}/v2/redirects': + '/redirects': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Redirects @@ -712,17 +640,12 @@ paths: description: |- Returns a list all *Redirect URLs*. - - > #### Deprecated - > Avoid using this API operation if possible. It will be removed in a future version. - > For the most up-to-date version of this API, see [Get Redirects v3](/api-reference/storefront/redirects/redirects/getredirects) to manage redirects URLs. + > #### Warning + > **Deprecated** + >* This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + >* For the most up-to-date version of this API, see [Get Redirects v3](/docs/rest-management/redirects#get-redirects) to manage redirect URLs. operationId: getAListofRedirects parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: page in: query description: Filter param. @@ -764,17 +687,13 @@ paths: * url - - > #### Deprecated - > Avoid using this API operation if possible. It will be removed in a future version. - > For the most up-to-date version of this API, see [Upsert Redirects v3](/api-reference/store-management/redirects/redirects/upsertredirects) to upsert new redirect data. + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * For the most up-to-date version of this API, see [Upsert Redirects v3](/docs/rest-management/redirects#upsert-redirects) to upsert new redirect data. operationId: createARedirect parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -803,25 +722,27 @@ paths: description: |- By default, it deletes all *Redirect URLs* in a store. - - > #### Deprecated - - > Avoid using this API operation if possible. It will be removed in a future version. - - > For the most up-to-date version of this API, see [Delete Redirects v3](/api-reference/store-management/redirects/redirects/deleteredirects) to delete redirects URLs. + > #### Warning + >**Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * For the most up-to-date version of this API, see [Delete Redirects v3](/docs/rest-management/redirects#delete-redirects) to delete redirect URLs. operationId: deleteAllRedirects - parameters: - - name: store_hash - in: path - required: true - schema: - type: string responses: '204': description: '' content: {} - '/stores/{store_hash}/v2/redirects/{id}': + '/redirects/{id}': + parameters: + - $ref: '#/components/parameters/Accept' + - name: id + in: path + description: ID of the redirect URL. + required: true + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: integer get: tags: - Redirects @@ -829,25 +750,11 @@ paths: description: |- Returns a single *Redirect URL*. - - > #### Deprecated - > Avoid using this API operation if possible. It will be removed in a future version. - > For the most up-to-date version of this API, see [Get Redirects v3](/api-reference/storefront/redirects/redirects/getredirects) to get a redirect URL. + > #### Warning + >**Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * For the most up-to-date version of this API, see [Get Redirects v3](/docs/rest-management/redirects#get-redirects) to get a redirect URL. operationId: getARedirectURL - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the redirect url - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer responses: '200': description: '' @@ -878,25 +785,13 @@ paths: * url - - > #### Deprecated - > Avoid using this API operation if possible. It will be removed in a future version. - > For the most up-to-date version of this API, see [Upsert Redirects v3](/api-reference/storefront/redirects/redirects/upsertredirects) to update redirect data. + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * For the most up-to-date version of this API, see [Upsert Redirects v3](/docs/rest-management/redirects#upsert-redirects) to update redirect data. operationId: updateARedirectURL parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the redirect url - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -961,30 +856,18 @@ paths: description: |- Deletes a *Redirect URL*. - - > #### Deprecated - > Avoid using this API operation if possible. It will be removed in a future version. - > For the most up-to-date version of this API, see [Delete Redirects v3](/api-reference/store-management/redirects/redirects/deleteredirects) to delete a redirect URL. + > #### Warning + > **Deprecated** + > This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > For the most up-to-date version of this API, see [Delete Redirects v3](/docs/rest-management/redirects#delete-redirects) to delete a redirect URL. operationId: deleteARedirect - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the redirect url - required: true - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: integer responses: '204': description: '' content: {} - '/stores/{store_hash}/v2/redirects/count': + '/redirects/count': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Redirects @@ -992,17 +875,11 @@ paths: description: |- Gets a count of *Redirect URLs* in a store. - - > #### Deprecated - > Avoid using this API operation if possible. It will be removed in a future version. - > For the most up-to-date version of this API, see [Get Redirects v3](/api-reference/storefront/redirects/redirects/getredirects) to get a count of redirects. + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * For the most up-to-date version of this API, see [Get Redirects v3](/docs/rest-management/redirects#get-redirects) to get a count of redirects. operationId: getACountOfRedirects - parameters: - - name: store_hash - in: path - required: true - schema: - type: string responses: '200': description: '' @@ -1014,6 +891,23 @@ paths: count: 27 deprecated: true 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' schemas: blogPost_Full: title: blogPost_Full @@ -1193,7 +1087,7 @@ components: description: Store-owner notes on the customer. tax_exempt_category: type: string - description: 'If applicable, the tax-exempt category of the shopper''s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.' + description: If applicable, the tax-exempt category of the shopperʼs customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration. accepts_marketing: type: boolean description: | @@ -1576,7 +1470,7 @@ components: body: type: string description: 'HTML or variable that populates this page’s `` element, in default/desktop view. Required in POST if page type is `raw`.' - example:

We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance.

+ example: "

We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance.

" mobile_body: type: string description: HTML to use for this page's body when viewed in the mobile template (deprecated). @@ -1667,7 +1561,7 @@ components: body: type: string description: 'HTML or variable that populates this page’s `` element, in default/desktop view. Required in POST if page type is `raw`.' - example:

We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance.

+ example: "

We're happy to answer questions or help you with returns.
Please fill out the form below if you need assistance.

" mobile_body: type: string description: HTML to use for this page's body when viewed in the mobile template (deprecated). @@ -1716,29 +1610,27 @@ components: - text/html securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Content | modify | `store_v2_content` | | Content | read-only | `store_v2_content_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header diff --git a/reference/store_information.v2.yml b/reference/store_information.v2.yml index 6cb536d91..d75c6d8a0 100644 --- a/reference/store_information.v2.yml +++ b/reference/store_information.v2.yml @@ -9,7 +9,7 @@ info: url: 'https://www.bigcommerce.com' email: support@bigcommerce.com paths: - '/stores/{store_hash}/v2/store': + '/store': get: description: Returns metadata about a store. summary: Get Store Information @@ -136,13 +136,7 @@ paths: sitewidehttps_enabled: anim occaecat exercitation conse facebook_catalog_id: aliquip sed adipisicing quis checkout_type: qui mollit id aliqua ut - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v2/time': + '/time': get: description: Returns the system timestamp at the time of the request. The time resource is useful for validating API authentication details and testing client connections. summary: Get System Timestamp @@ -174,52 +168,46 @@ paths: time: 1529512970 tags: - Time Zone - parameters: - - name: store_hash - in: path - required: true - schema: - type: string tags: - name: Store Information - name: Time Zone security: - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + servers: - - url: 'https://api.bigcommerce.com' + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway components: securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: StoreInformation: title: Store Information diff --git a/reference/store_logs.v3.yml b/reference/store_logs.v3.yml index 4dd574bd1..334f19b1b 100644 --- a/reference/store_logs.v3.yml +++ b/reference/store_logs.v3.yml @@ -1,14 +1,22 @@ -openapi: 3.0.0 -x-stoplight: - id: 984571274919c +openapi: '3.0.0' info: title: Store Logs V3 API version: '' description: This API can be used to retrieve and filter for specific store logs. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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 paths: - '/stores/{store_hash}/v3/store/systemlogs': + '/store/systemlogs': get: summary: Get System Logs description: 'Get system logs ' @@ -30,12 +38,6 @@ paths: meta: $ref: '#/components/schemas/IndexMeta' parameters: - - schema: - type: string - in: path - required: true - name: store_hash - description: Path parameter that lets you specify a unique identifier for a store. - schema: type: integer default: 50 @@ -196,22 +198,29 @@ components: requestBodies: {} securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | UI Name | Permission | Parameter | - | :-------|:-----------|:----------| - | Store logs | read-only | store_logs_read_only | + ### OAuth scopes - ### Headers - - | Header | Parameter | Description | - |:-------|:----------|:------------| - | `X-Auth-Token` | `access_token` | Obtained by [creating an API account](/api-docs/getting-started/authentication/rest-api-authentication) or installing an app in a BigCommerce control panel. | + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Store logs | read-only | store_logs_read_only | + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header tags: - name: System Logs security: diff --git a/reference/storefront_tokens.v3.yml b/reference/storefront_tokens.v3.yml index 300d23c67..a53e24149 100644 --- a/reference/storefront_tokens.v3.yml +++ b/reference/storefront_tokens.v3.yml @@ -1,29 +1,12 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Storefront Token description: |- Get and manage tokens used to authenticate cross-origin requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview). - ## Authentication + ## [API tokens](/docs/storefront-auth/tokens#create-a-token) - Authenticate requests by including an [OAuth](/api-docs/getting-started/authentication/rest-api-authentication) `access_token` in the request header. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/channels - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### [OAuth scopes](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes) - - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Storefront API Customer Impersonation Tokens | manage | `store_storefront_api_customer_impersonation` | - | Storefront API Tokens | manage | `store_storefront_api` | - - ## [API tokens](/api-reference/cart-checkout/storefront-api-token/api-token/createtoken) - - Generate tokens (JWT) for authenticating cross-origin requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview). To [create a token](/api-reference/cart-checkout/storefront-api-token/api-token/createtoken), send a `POST` request to `/stores/{{STORE_HASH}}/v3/storefront/api-token`. + Generate tokens (JWT) for authenticating cross-origin requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview). To [create a token](/docs/storefront-auth/tokens#create-a-token), send a `POST` request to `/stores/{{STORE_HASH}}/v3/storefront/api-token`. ```http POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/api-token @@ -46,11 +29,7 @@ info: |`expires_at`|int| Unix timestamp (required) | |`allowed_cors_origins`|array[str]| Allowed origins for cross origin requests (required) | - [![Open in Request Runner](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Open-Request-Runner.svg)](/api-reference/cart-checkout/storefront-api-token/api-token/createtoken#requestrunner) - - - - [**Response:**](/api-reference/cart-checkout/storefront-api-token/api-token/createtoken#responses) + [**Response:**](/docs/storefront-auth/tokens#create-a-token) ```json { @@ -63,16 +42,18 @@ info: - ## [Customer impersonation tokens](/api-reference/cart-checkout/storefront-api-token/customer-impersonation-token/createtokenwithcustomerimpersonation) + ## [Customer impersonation tokens](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) - Generate tokens for use in server-to-server requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-impersonation-tokens). To [create a customer impersonation token](/api-reference/cart-checkout/storefront-api-token/customer-impersonation-token/createtokenwithcustomerimpersonation), send a `POST` request to `/v3/storefront/api-token-customer-impersonation`. + Generate tokens for use in server-to-server requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-impersonation-tokens). To [create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token), send a `POST` request to `/v3/storefront/api-token-customer-impersonation`. ```http POST https://api.bigcommerce.com/stores/{STORE_HASH}/v3/storefront/api-token-customer-impersonation - x-Auth-Token: {{ACCESS_TOKEN}} + X-Auth-Token: {{ACCESS_TOKEN}} + Accept: application/json + Content-Type: application/json ``` - [**Response:**](/api-reference/cart-checkout/storefront-api-token/customer-impersonation-token/createtokenwithcustomerimpersonation#responses) + [**Response:**](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) ```json { @@ -84,7 +65,7 @@ info: } ``` - Customer impersonation token authenticated requests made to the GraphQL API receive store information from the perspective of the customer with the ID specified in the `X-Bc-Customer-Id` header sent with the GraphQL `POST` request. Pricing, product availability, customer account, and customer details will be reflected. Consider this sample request using a [customer impersonation token](/api-reference/cart-checkout/storefront-api-token/customer-impersonation-token/createtokenwithcustomerimpersonation) to run a request in the context of customer ID `123`. + Customer impersonation token authenticated requests made to the GraphQL API receive store information from the perspective of the customer with the ID specified in the `X-Bc-Customer-Id` header sent with the GraphQL `POST` request. Pricing, product availability, customer account, and customer details will be reflected. Consider this sample request using a [customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) to run a request in the context of customer ID `123`. ```http POST https://store.example.com/graphql @@ -97,15 +78,14 @@ info: ``` - - > #### Note - > * Customer impersonation tokens should **never** be exposed publicly, for example, to JavaScript or HTML. These tokens should not be used for frontend requests. - > * Unlike normal GraphQL API tokens, they are sensitive and should be treated like secrets, just as you might treat an OAuth token. + > #### Warning + > * Customer impersonation tokens should **never** be exposed publicly, for example, to JavaScript or HTML. These tokens should **not** be used for frontend requests. + > * Unlike normal GraphQL API tokens, these tokens are sensitive and should be treated like secrets, just as you might treat an OAuth token. > * Attempts to run requests using these tokens from a web browser will be rejected. - ## [Revoking tokens](/api-reference/store-management/tokens/api-token/revoketoken) - To [revoke a token](/api-reference/store-management/tokens/api-token/revoketoken), send a `DELETE` request to `/v3/storefront/api-token`. + ## Revoking tokens + To [revoke a token](/docs/storefront-auth/tokens#revoke-a-token), send a `DELETE` request to `/v3/storefront/api-token`. ```http DELETE /stores/{{STORE_HASH}}/v3/storefront/api-token-customer-impersonation @@ -117,17 +97,28 @@ info: ## Additional information * [GraphQL API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview) - termsOfService: '' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: '' servers: - - url: 'https://api.bigcommerce.com' + - 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: API Token - name: Customer Impersonation Token paths: - '/stores/{store_hash}/v3/storefront/api-token': + '/storefront/api-token': + parameters: + - $ref: '#/components/parameters/Accept' post: tags: - API Token @@ -139,11 +130,7 @@ paths: * `Manage` `Storefront API Tokens` operationId: createToken parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -176,11 +163,6 @@ paths: description: Revoke access for a Storefront API token. Only revoke compromised tokens under emergency situations. Let uncompromised short-lived tokens expire naturally, as you do not need to revoke these. operationId: revokeToken parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: Sf-Api-Token in: header description: An existing JWT token that you want to revoke. @@ -200,23 +182,21 @@ paths: '422': description: Invalid JWT Token provided or missing JWT token header content: {} - '/stores/{store_hash}/v3/storefront/api-token-customer-impersonation': + '/storefront/api-token-customer-impersonation': + parameters: + - $ref: '#/components/parameters/Accept' post: tags: - Customer Impersonation Token summary: Create a Token description: |- - Returns a Storefront API token that allows your application to impersonate customers when making GraphQL `POST` requests. For more information on how to use the returned token, see [customer impersonation tokens](/api-reference/cart-checkout/storefront-api-token/customer-impersonation-token/createtokenwithcustomerimpersonation). + Returns a Storefront API token that allows your application to impersonate customers when making GraphQL `POST` requests. For more information on how to use the returned token, see [customer impersonation tokens](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token). **Required Scopes** * `Manage` `Storefront API Customer Impersonation Tokens` operationId: createTokenWithCustomerImpersonation parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -240,6 +220,23 @@ paths: description: Invalid JSON request body - missing or invalid data content: {} 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' schemas: TokenPostImpersonation: type: object @@ -285,7 +282,8 @@ components: meta: type: object properties: {} - x-internal: false + additionalProperties: true + description: Response metadata. Token_Base: type: object properties: @@ -333,21 +331,26 @@ components: X-Auth-Token: type: apiKey description: |- - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication) + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Storefront API Customer Impersonation Tokens | manage | `store_storefront_api_customer_impersonation` | + | Storefront API Tokens | manage | `store_storefront_api` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). name: X-Auth-Token in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/subscribers.v3.yml b/reference/subscribers.v3.yml index 94611266d..f0611f1d2 100644 --- a/reference/subscribers.v3.yml +++ b/reference/subscribers.v3.yml @@ -1,44 +1,33 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Subscribers description: |- Manage subscribers. - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Customers | modify | `store_v2_customers` | - | Customers | read-only | `store_v2_customers_read_only` | - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - termsOfService: "" + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com license: - name: "" - version: "" + name: '' + version: '' servers: -- url: https://api.bigcommerce.com + - 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: Subscribers description: BigCommerce Customers API Definition. paths: - /stores/{store_hash}/v3/customers/subscribers: + '/customers/subscribers': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Subscribers @@ -47,11 +36,6 @@ paths: be passed in. operationId: getSubscribers parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: email in: query description: | @@ -106,16 +90,6 @@ paths: list of products. schema: type: integer - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json - name: id in: query description: Filter items by id. @@ -152,21 +126,7 @@ paths: * id operationId: createSubscriber parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -185,10 +145,7 @@ paths: data: $ref: '#/components/schemas/subscriber_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/OpenMeta' '409': description: | The `Subscriber` was in conflict with another subscriber. This is the result of duplicate unique values, such as email. @@ -201,9 +158,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -228,9 +184,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -252,11 +207,6 @@ paths: to avoid deleting all subscribers in a store. operationId: deleteSubscribers parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: email in: query description: | @@ -300,21 +250,13 @@ paths: schema: type: string format: date-time - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json responses: '204': description: "" content: {} - /stores/{store_hash}/v3/customers/subscribers/{subscriber_id}: + '/customers/subscribers/{subscriber_id}': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Subscribers @@ -329,21 +271,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json responses: '200': description: "" @@ -356,10 +283,7 @@ paths: data: $ref: '#/components/schemas/subscriber_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/OpenMeta' '404': description: | The resource was not found. @@ -399,21 +323,7 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -432,10 +342,7 @@ paths: data: $ref: '#/components/schemas/subscriber_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/OpenMeta' '404': description: | The resource was not found. @@ -469,9 +376,8 @@ paths: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true instance: type: string status: @@ -526,21 +432,6 @@ paths: required: true schema: type: integer - - name: store_hash - in: path - required: true - schema: - type: string - - name: Content-Type - in: header - schema: - type: string - default: application/json - - name: Accept - in: header - schema: - type: string - default: application/json responses: '204': description: "" @@ -784,11 +675,12 @@ components: Pagination links for the previous and next parts of the whole collection. description: Data about the response, including pagination and collection totals. x-internal: false - Meta: - title: Meta + OpenMeta: + title: Response meta type: object - description: Empty meta object; may be used later. - x-internal: false + properties: {} + additionalProperties: true + description: Response metadata. ErrorResponse: title: Error Response allOf: @@ -814,9 +706,8 @@ components: errors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true x-internal: false BaseError: title: Base Error @@ -857,9 +748,8 @@ components: DetailedErrors: title: Detailed Errors type: object - properties: - additionalProperties: - type: string + properties: {} + additionalProperties: true x-internal: false responses: subrscriberCollection_Resp: @@ -889,10 +779,7 @@ components: data: $ref: '#/components/schemas/subscriber_Full' meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. + $ref: '#/components/schemas/OpenMeta' parameters: FilterEmailParam: name: email @@ -990,44 +877,43 @@ components: 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 - Content-Type: + 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 + default: 'application/json' securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Customers | modify | `store_v2_customers` | | Customers | read-only | `store_v2_customers_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/subscriptions.sf.yml b/reference/subscriptions.sf.yml index 5ae4b055a..d5c1b3202 100644 --- a/reference/subscriptions.sf.yml +++ b/reference/subscriptions.sf.yml @@ -1,20 +1,30 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Storefront Subscriptions description: |- Manage newsletter and marketing email subscriptions on the storefront. + For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + ## Additional Information * [Collecting Newsletter Subscriptions](https://support.bigcommerce.com/s/article/Collecting-Newsletter-Subscriptions) (support.bigcommerce.com) * [Customers Overview](/api-docs/customers/customers-subscribers-overview) * [Working with Storefront APIs](/api-docs/cart-and-checkout/working-sf-apis) + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: '' servers: - url: 'https://{store_domain}/api/storefront' variables: store_domain: - default: yourstore.example.com + default: your_store.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of the storefront.' tags: - name: Subscription paths: @@ -31,7 +41,6 @@ paths: However, if **Store Settings > Miscellaneous > Require Consent** is enabled, Abandoned Cart Emails are not sent by default, and the customer should opt-in. - > #### Note > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. @@ -101,6 +110,7 @@ components: nullable: true consents: type: array + items: {} description: | The collection of consents the shopper is subscribing to. description: Subscription properties. diff --git a/reference/tax.v3.yml b/reference/tax.v3.yml index 47e5c2f9c..359cd0dd4 100644 --- a/reference/tax.v3.yml +++ b/reference/tax.v3.yml @@ -1,16 +1,31 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: title: Tax Provider Connection version: '3' - description: 'Manage the connection between a merchant''s BigCommerce store and a third party tax provider. For more information, see [Tax Provider API Overview](/api-docs/providers/tax).' + description: 'Manage the connection between a merchantʼs BigCommerce store and a third party tax provider. For more information, see [Tax Provider API Overview](/api-docs/providers/tax).' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +security: + - X-Auth-Token: [] +tags: + - name: Tax Provider Connection +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 paths: - '/stores/{store_hash}/v3/tax/providers/{provider_id}/connection': + '/tax/providers/{provider_id}/connection': get: summary: Get Connection Status description: | Retrieve the connection status of the specified tax provider in the context of a store. - > #### Note > * Requires **read** permissions on the **Information and Settings** scope. operationId: provider-connection-get @@ -18,10 +33,9 @@ paths: '200': description: OK content: - '*/*': + application/json: schema: $ref: '#/components/schemas/response-connection' - application/json: examples: response: value: @@ -30,8 +44,6 @@ paths: configured: true '404': description: Provider does not exist - security: - - X-Auth-Token: [] tags: - Tax Provider Connection delete: @@ -39,19 +51,17 @@ paths: description: | Remove any previously set basic connection credentials for the specified provider. If the specified provider is the active tax provider on the store, the store's active tax provider will be reset to BigCommerce Manual Tax. It is suggested to call this endpoint during a single-click app [uninstall callback](/api-docs/apps/guide/callbacks#uninstall-callback). - > #### Note > * This operation will be logged in [Store Logs](https://support.bigcommerce.com/s/article/Using-Store-Logs) under **Staff Actions**. - > * Requires **write** permissions on the **Information and Settings** [scope](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). + > * Requires **write** permissions on the **Information and Settings** [scope](/api-docs/getting-started/api-accounts#oauth-scopes). operationId: provider-connection-delete responses: '200': description: OK content: - '*/*': + application/json: schema: $ref: '#/components/schemas/response-connection' - application/json: examples: response: value: @@ -60,8 +70,6 @@ paths: configured: false '404': description: Provider does not exist - security: - - X-Auth-Token: [] tags: - Tax Provider Connection put: @@ -85,16 +93,15 @@ paths: description: |- Set the HTTP Basic Authentication credentials for the specified provider. The configured `username` and `password` will be used to authenticate each API request to the Tax Provider from the associated store. - > #### Note > * This operation will be logged in [Store Logs](https://support.bigcommerce.com/s/article/Using-Store-Logs) under **Staff Actions**. - > * Requires **write** permissions on the **Information and Settings** [scope](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). + > * Requires **write** permissions on the **Information and Settings** [scope](/api-docs/getting-started/api-accounts#oauth-scopes). summary: Update a Connection + parameters: + - $ref: '#/components/parameters/ContentType' operationId: provider-connection-put tags: - Tax Provider Connection - security: - - X-Auth-Token: [] requestBody: content: application/json: @@ -108,31 +115,38 @@ paths: password: type: string example: h6eSgKLN72q7jYTW - description: 'Basic authentication information, associated with a merchant account on the third-party tax provider''s infrastructure.' - x-examples: - application/json: - username: MyTaxProviderAccount - password: h6eSgKLN72q7jYTW + examples: + Example: + value: + username: MyTaxProviderAccount + password: h6eSgKLN72q7jYTW + description: Basic authentication information, associated with a merchant account on the third-party tax providerʼs infrastructure. parameters: + - $ref: '#/components/parameters/Accept' - name: provider_id in: path required: true schema: type: string - description: 'The Tax Provider''s `provider_id` provided by BigCommerce after the provider [shares their provider details](/api-docs/providers/tax#sharing-provider-details-with-bigcommerce).' - - schema: - type: string - name: store_hash - in: path - required: true -security: - - X-Auth-Token: [] -tags: - - name: Tax Provider Connection -servers: - - url: 'https://api.bigcommerce.com' + description: 'The Tax Providerʼs `provider_id` provided by BigCommerce after the provider [shares their provider details](/api-docs/providers/tax#sharing-provider-details-with-bigcommerce).' 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' provider_id: name: Tax Provider ID in: path @@ -142,32 +156,30 @@ components: type: string securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: response-connection: type: object diff --git a/reference/tax_classes.v2.yml b/reference/tax_classes.v2.yml index 0ba3d9065..cc42d906e 100644 --- a/reference/tax_classes.v2.yml +++ b/reference/tax_classes.v2.yml @@ -1,19 +1,28 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Tax Classes - contact: {} description: Manage tax calculations applied to sales. Tax classes are used to apply different tax rates for specific types of products and orders. This API is read only. Classes must be set using the [Control Panel](https://forum.bigcommerce.com/s/article/Taxes-Video#). + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com version: "" servers: -- url: https://api.bigcommerce.com + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: - name: Taxes paths: - /stores/{store_hash}/v2/tax_classes: + '/tax_classes': get: tags: - Taxes @@ -24,23 +33,7 @@ paths: Default sorting is by tax-class id, from lowest to highest. operationId: getAllTaxClasses parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/Accept' - name: page in: query description: Optional filter param. Number of pages. @@ -79,23 +72,13 @@ paths: name: Gift Wrapping created_at: 1973-01-20T21:34:57.903+00:00 updated_at: 1990-12-30T00:29:23.515+00:00 - Response Schema: - example: - - id: proident irure consequat anim - name: sed non commodo et tempor - created_at: 1973-01-20T21:34:57.903+00:00 - updated_at: 1990-12-30T00:29:23.515+00:00 - - id: consequat voluptate - name: sunt ex - created_at: 1973-01-20T21:34:57.903+00:00 - updated_at: 1990-12-30T00:29:23.515+00:00 x-unitTests: [] x-operation-settings: CollectParameters: false AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - /stores/{store_hash}/v2/tax_classes/{id}: + '/tax_classes/{id}': get: tags: - Taxes @@ -103,27 +86,13 @@ paths: description: Returns a single *Tax Class*. operationId: getATaxClass parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: id - in: path - description: Id of the tax class. - required: true - schema: - type: integer - - name: Accept - in: header - required: true - schema: - type: string - - name: Content-Type - in: header - required: true - schema: - type: string + - $ref: '#/components/parameters/Accept' + - name: id + in: path + description: ID of the tax class. + required: true + schema: + type: integer responses: '200': description: "" @@ -136,12 +105,6 @@ paths: name: Shipping created_at: 1973-01-20T21:34:57.903+00:00 updated_at: 1990-12-30T00:29:23.515+00:00 - Response Schema: - example: - id: ut pariatur eiusmod non - name: dolore nulla Duis Ut ea - created_at: 1973-01-20T21:34:57.903+00:00 - updated_at: 1990-12-30T00:29:23.515+00:00 x-unitTests: [] x-operation-settings: CollectParameters: false @@ -149,6 +112,23 @@ paths: AllowDynamicFormParameters: false IsMultiContentStreaming: false 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' schemas: taxClass_Full: title: taxClass_Full @@ -181,28 +161,28 @@ components: x-internal: false securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | - ### Headers - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - ### Example - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + diff --git a/reference/tax_properties.v3.yml b/reference/tax_properties.v3.yml index 182af8c17..a2bff3fd8 100644 --- a/reference/tax_properties.v3.yml +++ b/reference/tax_properties.v3.yml @@ -1,12 +1,29 @@ -openapi: 3.0.0 -x-stoplight: - id: af9eb7ad6774f +openapi: '3.0.0' info: title: Tax Properties description: Include tax properties and product tax properties in tax calculations. - version: "" + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +security: + - X-Auth-Token: [] +tags: + - name: Tax Properties + - name: Product Tax Properties +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 paths: - "/stores/{store_hash}/v3/tax/properties": + "/tax/properties": + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Tax Properties @@ -14,11 +31,6 @@ paths: description: Retrieve all tax properties defined in this store. operationId: get-tax-properties parameters: - - name: store_hash - in: path - required: true - schema: - type: string - $ref: "#/components/parameters/idin" responses: "200": @@ -33,7 +45,7 @@ paths: items: $ref: "#/components/schemas/Property" meta: - type: object + $ref: "#/components/schemas/MetaOpen" "400": description: Request parameters invalid put: @@ -44,11 +56,7 @@ paths: adjusted. operationId: update-tax-properties parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -57,7 +65,6 @@ paths: items: $ref: "#/components/schemas/PropertyPUT" required: true - x-examples: {} responses: "200": description: OK @@ -71,7 +78,7 @@ paths: items: $ref: "#/components/schemas/Property" meta: - type: object + $ref: "#/components/schemas/MetaOpen" "422": description: The request body does not meet specifications. post: @@ -82,11 +89,7 @@ paths: must be included when creating tax properties. operationId: create-tax-properties parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -108,7 +111,7 @@ paths: items: $ref: "#/components/schemas/Property" meta: - type: object + $ref: "#/components/schemas/MetaOpen" "422": description: The request body does not meet specifications. delete: @@ -119,11 +122,6 @@ paths: usages within product tax properties before you can delete it. operationId: delete-tax-properties parameters: - - name: store_hash - in: path - required: true - schema: - type: string - $ref: "#/components/parameters/idin_required" responses: "204": @@ -132,7 +130,9 @@ paths: description: Request parameters invalid "409": description: Tax Property is in use and cannot be deleted. - "/stores/{store_hash}/v3/tax/products/properties": + "/tax/products/properties": + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Product Tax Properties @@ -141,11 +141,6 @@ paths: products. operationId: get-product-tax-properties parameters: - - name: store_hash - in: path - required: true - schema: - type: string - $ref: "#/components/parameters/product_idin" responses: "200": @@ -160,7 +155,7 @@ paths: items: $ref: "#/components/schemas/ProductTaxProperty" meta: - type: object + $ref: "#/components/schemas/MetaOpen" "400": description: Request parameters invalid put: @@ -172,11 +167,7 @@ paths: with the product, overwriting any existing tax property values. operationId: update-product-tax-properties parameters: - - name: store_hash - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -184,13 +175,14 @@ paths: type: array items: $ref: "#/components/schemas/ProductTaxProperty" + examples: + Example: + value: + - product_id: 157 + tax_properties: + A-123456789: "26" + B-6731789: "200" required: true - x-examples: - Example: - - product_id: 157 - tax_properties: - A-123456789: "26" - B-6731789: "200" responses: "200": description: OK @@ -204,7 +196,7 @@ paths: items: $ref: "#/components/schemas/ProductTaxProperty" meta: - type: object + $ref: "#/components/schemas/MetaOpen" "422": description: The request body does not meet specifications. delete: @@ -214,26 +206,30 @@ paths: description: Delete tax properties that are associated with one or more products. operationId: delete-product-tax-properties parameters: - - name: store_hash - in: path - required: true - schema: - type: string - $ref: "#/components/parameters/product_idin" responses: "204": description: No Content "400": description: Request parameters invalid -security: - - API_Key: [] -tags: - - name: Tax Properties - - name: Product Tax Properties -servers: - - url: https://api.bigcommerce.com 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' product_idin: name: product_id:in in: query @@ -259,33 +255,31 @@ components: schema: type: string securitySchemes: - API_Key: - type: apiKey + X-Auth-Token: name: X-Auth-Token - in: header - description: >- - ### OAuth Scopes - - | **UI Name** | **Permission** | **Parameter** | - - | --- | --- | --- | + description: |- + ### OAuth scopes + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | - | Information & Settings | read-only | `store_v2_information_read_only` | - - ### Headers - - - |Header|Parameter|Description| - - |-|-|-| - - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - - * For more information on Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: Property: type: object @@ -376,7 +370,6 @@ components: ProductTaxProperty: type: object description: A collection of tax property values associated with a product. - x-examples: {} properties: product_id: type: integer @@ -394,4 +387,10 @@ components: B-6731789: "200" required: - product_id - - tax_properties \ No newline at end of file + - tax_properties + MetaOpen: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 2eda510f8..9380c816d 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -1,16 +1,21 @@ -openapi: 3.1.0 +openapi: '3.0.3' info: title: Tax Provider API version: '1.0' - contact: {} - description: 'Use BigCommerce’s platform-to-platform Tax Provider API to integrate a tax calculation engine into the BigCommerce storefront and control panel. Supports [estimate](/api-reference/providers/tax-provider-api/tax-provider/estimate), [adjust](/api-reference/providers/tax-provider-api/tax-provider/adjust), [commit](/api-reference/providers/tax-provider-api/tax-provider/commit), and [void](/api-reference/providers/tax-provider-api/tax-provider/void) operations. For more information, see [Tax Provider API Overview](/api-docs/providers/tax).' + description: 'Use BigCommerce’s platform-to-platform Tax Provider API to integrate a tax calculation engine into the BigCommerce storefront and control panel. Supports [estimate](/docs/apps-api/tax#estimate-taxes), [adjust](/docs/apps-api/tax#adjust-tax-quote), [commit](/docs/apps-api/tax#commit-tax-quote), and [void](/docs/apps-api/tax#void-tax-quote) operations. For more information, see [Tax Provider API Overview](/api-docs/providers/tax).' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com tags: - name: Tax Provider servers: - - url: 'https://{your_server}' + - url: 'https://{app_domain}' variables: - your_server: - default: store.example.com + app_domain: + default: your_app.example.com + description: 'The [URL authority](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#authority) of your appʼs server.' paths: /estimate: post: @@ -47,141 +52,136 @@ paths: application/json: schema: $ref: '#/components/schemas/request-quote' + examples: + example: + value: + id: 3f0c857e-2c55-443e-a89b-c3c4d8a29605 + currency_code: USD + customer: + customer_id: '0' + customer_group_id: '0' + taxability_code: '' + transaction_date: '2019-08-13T03:17:37+00:00' + documents: + - id: 5d522b889d3d9 + billing_address: + line1: '' + line2: '' + city: '' + region_name: '' + region_code: '' + country_name: '' + country_code: '' + postal_code: '' + company_name: '' + type: RESIDENTIAL + destination_address: + line1: '' + line2: '' + city: Van Wert + region_name: Ohio + region_code: OH + country_name: United States + country_code: US + postal_code: '45892' + company_name: '' + type: RESIDENTIAL + origin_address: + line1: 2139 W ANDERSON LN + line2: '' + city: AUSTIN + region_name: Texas + region_code: TX + country_name: United States + country_code: US + postal_code: '78757' + company_name: '' + type: COMMERCIAL + shipping: + id: 5d522b889d3d9 + item_code: Flat Rate + name: 'Shipping to Van Wert, United States 45891' + price: + amount: 10 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Shipping + tax_exempt: false + type: shipping + handling: + id: 5d522b889d3d9 + item_code: Flat Rate + name: 'Handling for Van Wert, United States 45891' + price: + amount: 0 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Handling + tax_exempt: false + type: handling + items: + - id: 088c7465-e5b8-4624-a220-0d9faa82e7cb + item_code: ABS + name: '[Sample] Able Brewing System' + price: + amount: 450 + tax_inclusive: false + quantity: 2 + tax_class: + code: '' + class_id: '0' + name: Default Tax Class + tax_exempt: false + type: item + wrapping: + id: d2675662-6326-4a23-9107-ab71fa6a21a1 + item_code: '' + name: 'Wrapping: [Sample] Canvas Laundry Cart' + price: + amount: 5 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Wrapping + tax_exempt: false + type: wrapping + - id: d2675662-6326-4a23-9107-ab71fa6a21a1 + item_code: CLC + name: '[Sample] Canvas Laundry Cart' + price: + amount: 200 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '0' + name: Default Tax Class + tax_exempt: false + type: item + wrapping: + id: d2675662-6326-4a23-9107-ab71fa6a21a1 + item_code: '' + name: 'Wrapping: [Sample] Canvas Laundry Cart' + price: + amount: 5 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Wrapping + tax_exempt: false + type: wrapping description: 'Estimates may not always contain complete data as these requests will be fired at different stages of the shopper checkout. For example, the **Estimate Shipping & Tax** function on the **Cart** page is not expected to provide any billing address data, but the tax provider will still be expected to return a valid estimate.' required: true - x-examples: - application/json: - id: 3f0c857e-2c55-443e-a89b-c3c4d8a29605 - currency_code: USD - customer: - customer_id: '0' - customer_group_id: '0' - taxability_code: '' - transaction_date: '2019-08-13T03:17:37+00:00' - documents: - - id: 5d522b889d3d9 - billing_address: - line1: '' - line2: '' - city: '' - region_name: '' - region_code: '' - country_name: '' - country_code: '' - postal_code: '' - company_name: '' - type: RESIDENTIAL - destination_address: - line1: '' - line2: '' - city: Van Wert - region_name: Ohio - region_code: OH - country_name: United States - country_code: US - postal_code: '45892' - company_name: '' - type: RESIDENTIAL - origin_address: - line1: 2139 W ANDERSON LN - line2: '' - city: AUSTIN - region_name: Texas - region_code: TX - country_name: United States - country_code: US - postal_code: '78757' - company_name: '' - type: COMMERCIAL - shipping: - id: 5d522b889d3d9 - item_code: Flat Rate - item_reference: '12345678' - name: 'Shipping to Van Wert, United States 45891' - price: - amount: 10 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Shipping - tax_exempt: false - type: shipping - handling: - id: 5d522b889d3d9 - item_code: Flat Rate - item_reference: '12345678' - name: 'Handling for Van Wert, United States 45891' - price: - amount: 0 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Handling - tax_exempt: false - type: handling - items: - - id: 088c7465-e5b8-4624-a220-0d9faa82e7cb - item_code: ABS - item_reference: '87654321' - name: '[Sample] Able Brewing System' - price: - amount: 450 - tax_inclusive: false - quantity: 2 - tax_class: - code: '' - class_id: '0' - name: Default Tax Class - tax_exempt: false - type: item - wrapping: - id: d2675662-6326-4a23-9107-ab71fa6a21a1 - item_code: '' - item_reference: '' - name: 'Wrapping: [Sample] Canvas Laundry Cart' - price: - amount: 5 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Wrapping - tax_exempt: false - type: wrapping - - id: d2675662-6326-4a23-9107-ab71fa6a21a1 - item_code: CLC - item_reference: ABC12345 - name: '[Sample] Canvas Laundry Cart' - price: - amount: 200 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '0' - name: Default Tax Class - tax_exempt: false - type: item - wrapping: - id: d2675662-6326-4a23-9107-ab71fa6a21a1 - item_code: '' - item_reference: '' - name: 'Wrapping: [Sample] Canvas Laundry Cart' - price: - amount: 5 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Wrapping - tax_exempt: false - type: wrapping responses: '200': description: Noteworthy is that the estimate response does not contain an **external ID** since there is no expectation that an estimate will result in any persisted tax documents by the tax provider. @@ -338,140 +338,135 @@ paths: application/json: schema: $ref: '#/components/schemas/request-quote' + examples: + example: + value: + id: '113' + currency_code: USD + customer: + customer_id: '0' + customer_group_id: '0' + taxability_code: '' + transaction_date: '2019-08-13T03:40:15+00:00' + documents: + - id: shipping_14 + billing_address: + line1: 402 S Vine St + line2: '' + city: Van Wert + region_name: Ohio + region_code: OH + country_name: United States + country_code: US + postal_code: '45891' + company_name: '' + type: RESIDENTIAL + destination_address: + line1: 402 S Vine St + line2: '' + city: Van Wert + region_name: Ohio + region_code: OH + country_name: United States + country_code: US + postal_code: '45891' + company_name: '' + type: RESIDENTIAL + origin_address: + line1: 2139 W ANDERSON LN + line2: '' + city: AUSTIN + region_name: Texas + region_code: TX + country_name: United States + country_code: US + postal_code: '78757' + company_name: '' + type: COMMERCIAL + shipping: + id: shipping_14 + item_code: Flat Rate + name: 'Shipping to Van Wert, United States 45891' + price: + amount: 10 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Shipping + tax_exempt: false + type: shipping + handling: + id: handling_14 + item_code: Flat Rate + name: 'Handling for Van Wert, United States 45891' + price: + amount: 0 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Handling + tax_exempt: false + type: handling + items: + - id: product_13 + item_code: ABS + name: '[Sample] Able Brewing System' + price: + amount: 450 + tax_inclusive: false + quantity: 2 + tax_class: + code: '' + class_id: '0' + name: Default Tax Class + tax_exempt: false + type: item + wrapping: + id: product_14 + item_code: '' + name: 'Wrapping: Holiday' + price: + amount: 5 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Wrapping + tax_exempt: false + type: wrapping + - id: product_14 + item_code: CLC + name: '[Sample] Canvas Laundry Cart' + price: + amount: 200 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '0' + name: Default Tax Class + tax_exempt: false + type: item + wrapping: + id: product_14 + item_code: '' + name: 'Wrapping: Holiday' + price: + amount: 5 + tax_inclusive: false + quantity: 1 + tax_class: + code: '' + class_id: '6' + name: Wrapping + tax_exempt: false + type: wrapping required: true - x-examples: - application/json: - id: '113' - currency_code: USD - customer: - customer_id: '0' - customer_group_id: '0' - taxability_code: '' - transaction_date: '2019-08-13T03:40:15+00:00' - documents: - - id: shipping_14 - billing_address: - line1: 402 S Vine St - line2: '' - city: Van Wert - region_name: Ohio - region_code: OH - country_name: United States - country_code: US - postal_code: '45891' - company_name: '' - type: RESIDENTIAL - destination_address: - line1: 402 S Vine St - line2: '' - city: Van Wert - region_name: Ohio - region_code: OH - country_name: United States - country_code: US - postal_code: '45891' - company_name: '' - type: RESIDENTIAL - origin_address: - line1: 2139 W ANDERSON LN - line2: '' - city: AUSTIN - region_name: Texas - region_code: TX - country_name: United States - country_code: US - postal_code: '78757' - company_name: '' - type: COMMERCIAL - shipping: - id: shipping_14 - item_code: Flat Rate - item_reference: '12345678' - name: 'Shipping to Van Wert, United States 45891' - price: - amount: 10 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Shipping - tax_exempt: false - type: shipping - handling: - id: handling_14 - item_code: Flat Rate - item_reference: '12345678' - name: 'Handling for Van Wert, United States 45891' - price: - amount: 0 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Handling - tax_exempt: false - type: handling - items: - - id: product_13 - item_code: ABS - item_reference: '87654321' - name: '[Sample] Able Brewing System' - price: - amount: 450 - tax_inclusive: false - quantity: 2 - tax_class: - code: '' - class_id: '0' - name: Default Tax Class - tax_exempt: false - type: item - wrapping: - id: product_14 - item_code: '' - item_reference: '' - name: 'Wrapping: Holiday' - price: - amount: 5 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Wrapping - tax_exempt: false - type: wrapping - - id: product_14 - item_code: CLC - item_reference: ABC12345 - name: '[Sample] Canvas Laundry Cart' - price: - amount: 200 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '0' - name: Default Tax Class - tax_exempt: false - type: item - wrapping: - id: product_14 - item_code: '' - item_reference: '' - name: 'Wrapping: Holiday' - price: - amount: 5 - tax_inclusive: false - quantity: 1 - tax_class: - code: '' - class_id: '6' - name: Wrapping - tax_exempt: false - type: wrapping responses: '200': description: OK @@ -987,7 +982,10 @@ components: wrapping: anyOf: - $ref: '#/components/schemas/request-item' - - type: 'null' + - type: object + nullable: true + enum: + - null required: - id - price @@ -996,7 +994,7 @@ components: x-internal: false request-item-tax-property: type: object - description: A simple key value pairing allowing merchants to provide an additional input into a tax provider's tax calculation. + description: A simple key value pairing allowing merchants to provide an additional input into a tax providerʼs tax calculation. title: TaxProperty properties: code: @@ -1005,7 +1003,7 @@ components: example: alcohol-percentage value: type: string - description: The value that will be factored into the tax provider's tax calculation rules, where supported. + description: The value that will be factored into the tax providerʼs tax calculation rules, where supported. example: '4.9' required: - code @@ -1317,6 +1315,9 @@ components: Authorization: type: http scheme: basic - description: 'The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username` and `password` using the [Update a Connection](/api-reference/store-management/tax/tax-provider-connection/provider-connection-put) request.' + description: |- + The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username` and `password` using the [Update a Connection](/docs/apps-api/tax-app-connection#update-a-connection) request. + + For more, see [developer-configured authentication](/api-docs/getting-started/authentication#developer-configured-authentication) for Provider APIs. security: - Authorization: [] diff --git a/reference/tax_rates_zones.v3.yml b/reference/tax_rates_zones.v3.yml index 640a31fd2..1064667aa 100644 --- a/reference/tax_rates_zones.v3.yml +++ b/reference/tax_rates_zones.v3.yml @@ -1,4 +1,4 @@ -openapi: '3.1.0' +openapi: '3.0.3' info: title: Tax Rates & Zones version: '1.0.0' @@ -9,15 +9,19 @@ info: url: 'https://www.bigcommerce.com' email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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 tags: - name: Tax Zones - name: Tax Rates paths: - '/stores/{store_hash}/v3/tax/zones': + '/tax/zones': parameters: - - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' get: parameters: @@ -40,7 +44,7 @@ paths: items: $ref: '#/components/schemas/Tax_Zone' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: Example 1: value: @@ -90,7 +94,7 @@ paths: items: $ref: '#/components/schemas/Tax_Zone' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: Example 1: value: @@ -121,7 +125,6 @@ paths: description: |- Create one or more tax zones. - > #### Note > You cannot create a default tax zone. operationId: create-tax-zones @@ -140,7 +143,7 @@ paths: items: $ref: '#/components/schemas/Tax_Zone' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: Example 1: value: @@ -176,16 +179,16 @@ paths: description: |- Delete one or more tax zones. Deleting a tax zone removes all associated tax rates. - + > #### Note > You must specify which zone(s) to delete using the `id:in` query parameter. operationId: delete-tax-zones responses: '204': description: No Content - '/stores/{store_hash}/v3/tax/rates': + '/tax/rates': parameters: - - $ref: '#/components/parameters/storeHash' + - $ref: '#/components/parameters/Accept' get: tags: @@ -234,7 +237,7 @@ paths: items: $ref: '#/components/schemas/Tax_Rate' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: Example 1: value: @@ -271,7 +274,7 @@ paths: items: $ref: '#/components/schemas/Tax_Rate' meta: - type: object + $ref: '#/components/schemas/MetaOpen' examples: Example 1: value: @@ -294,7 +297,7 @@ paths: description: |- Delete one or more tax rates. - + > #### Note > You must specify which rate(s) to delete using the `id:in` query parameter. operationId: delete-tax-rates @@ -412,13 +415,13 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API Accounts and OAuth Scopes](/api-docs/getting-started/authentication/rest-api-authentication). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). - For more about BigCommerce OAuth scopes, see [API Accounts and OAuth Scopes](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). schemas: @@ -486,8 +489,6 @@ components: type: integer Tax_ZonePUT: type: object - x-stoplight: - id: 3d6cd787b77b3 properties: id: type: integer @@ -655,8 +656,6 @@ components: x-examples: {} Tax_RatePUT: type: object - x-stoplight: - id: d741cb3bba64c properties: class_rates: type: array @@ -766,6 +765,12 @@ components: links: current: '?tax_zone_id%3Ain=1&page=1&limit=50' title: Meta + MetaOpen: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. parameters: storeHash: name: store_hash @@ -803,11 +808,29 @@ components: description: Filter by `id`. Use a comma-separated CSV string of IDs for multiple selections. For example, `5` or `12,34,56`. required: false zoneIdIn: - $ref: '#/components/parameters/idIn' + name: 'id:in' + in: query + schema: + type: array + items: + type: integer + minItems: 1 + style: form + explode: false description: Filter by tax zone `id`. Use a comma-separated CSV string of IDs for multiple tax zones. For example, `5` or `12,34,56`. + required: false rateIdIn: - $ref: '#/components/parameters/idIn' + name: 'id:in' + in: query + schema: + type: array + items: + type: integer + minItems: 1 + style: form + explode: false description: Filter by tax rate `id`. Use a comma-separated CSV string of IDs for multiple tax rates. For example, `5` or `12,34,56`. + required: false taxZoneIdIn: name: 'tax_zone_id:in' in: query diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index 3ac94f6e2..4f65e11ee 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -1,22 +1,32 @@ -openapi: 3.0.0 -x-stoplight: - id: 68ccfa5c69bbb +openapi: '3.0.0' info: title: Tax Settings version: '' description: Manage tax settings + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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: Tax Settings paths: - '/stores/{store_hash}/v3/tax/settings': + '/tax/settings': get: tags: - Tax Settings summary: Get Tax Settings description: Retrieves global-level tax settings. operationId: get-tax-settings - parameters: - - $ref: '#/components/parameters/storehash' responses: '200': description: OK @@ -28,7 +38,7 @@ paths: data: $ref: '#/components/schemas/Tax_Settings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' put: tags: - Tax Settings @@ -36,7 +46,7 @@ paths: description: Updates global-level tax settings. operationId: set-tax-settings parameters: - - $ref: '#/components/parameters/storehash' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -54,36 +64,55 @@ paths: data: $ref: '#/components/schemas/Tax_Settings' meta: - type: object + $ref: '#/components/schemas/MetaOpen' '422': description: The request body does not meet the specification. + parameters: + - $ref: '#/components/parameters/Accept' components: parameters: - storehash: - name: store_hash - in: path + 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' securitySchemes: - API_Key: - type: apiKey + X-Auth-Token: name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token`| Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - For more information on Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: Tax_Settings: type: object @@ -100,7 +129,7 @@ components: description: Whether to show prices as tax inclusive or tax exclusive in the BigCommerce control panel. invoice_price_display_strategy: type: string - description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopper''s tax zone for price display on invoices.' + description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopperʼs tax zone for price display on invoices.' default: ZONE enum: - ZONE @@ -129,7 +158,7 @@ components: description: Whether to show prices as tax inclusive or tax exclusive in the BigCommerce control panel. invoice_price_display_strategy: type: string - description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopper''s tax zone for price display on invoices.' + description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopperʼs tax zone for price display on invoices.' enum: - ZONE - INCLUSIVE @@ -141,7 +170,9 @@ components: - FIXED - BASIC - DISABLE -security: - - API_Key: [] -tags: - - name: Tax Settings + MetaOpen: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. diff --git a/reference/themes.v3.yml b/reference/themes.v3.yml index 45effb047..4f976d0ce 100644 --- a/reference/themes.v3.yml +++ b/reference/themes.v3.yml @@ -1,26 +1,14 @@ -openapi: 3.0.0 +openapi: '3.0.0' info: title: Themes version: '' description: |- Backup, restore, download, and activate themes; and, get the status of theme jobs and read theme configurations. - - ## Authentication - - Requests can be authenticated by sending an `access_token` via `X-Auth-Token` HTTP header. - - ```http - GET /stores/{store_hash}/v3/themes - host: api.bigcommerce.com - Accept: application/json - X-Auth-Token: {access_token} - ``` - - ### OAuth Scopes - | UI Name | Permission | Parameter | - |----------------------------------------------|------------|-----------------------------------------------| - | Themes | modify | `store_themes_manage` | - For more information on OAuth Scopes, see: [Authentication](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com license: name: '' tags: @@ -29,8 +17,19 @@ tags: - name: Theme Configurations - name: Theme Custom Templates - name: Theme Jobs +security: + - X-Auth-Token: [] +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 paths: - '/stores/{store_hash}/v3/themes': + '/themes': + parameters: + - $ref: '#/components/parameters/Accept' get: tags: - Themes @@ -103,19 +102,6 @@ paths: is_private: false is_active: false meta: {} - parameters: - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json description: Returns a list of store *Themes*. post: tags: @@ -123,18 +109,7 @@ paths: operationId: uploadTheme summary: Upload a Theme parameters: - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: multipart/form-data: @@ -186,8 +161,8 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response description: |- @@ -195,37 +170,12 @@ paths: **Required Fields** * file - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/themes/{uuid}': + '/themes/{uuid}': get: tags: - Themes operationId: getStoreTheme summary: Get a Theme - parameters: - - name: uuid - description: The theme identifier. - in: path - required: true - schema: - type: string - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -282,9 +232,9 @@ paths: properties: errors: type: object - additionalProperties: - type: string - title: DetailedErrors + properties: {} + additionalProperties: true + title: Detailed Errors title: Error Response description: Returns a store *Theme*. The theme variation is not available at this endpoint. delete: @@ -292,25 +242,6 @@ paths: - Themes operationId: deleteStoreTheme summary: Delete a Theme - parameters: - - name: uuid - description: The theme identifier. - in: path - required: true - schema: - type: string - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '204': description: '' @@ -341,56 +272,27 @@ paths: properties: errors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true title: DetailedErrors title: Error Response description: |- Deletes a store *Theme*. Theme variations can not be deleted using this endpoint. This will delete the theme and all variations. parameters: - - name: uuid - description: The theme identifier. - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/themes/{uuid}/actions/download': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ThemeIdParam' + '/themes/{uuid}/actions/download': parameters: - - name: uuid - description: The theme identifier. - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ThemeIdParam' post: tags: - Theme Actions operationId: downloadTheme summary: Download a Theme parameters: - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -438,30 +340,21 @@ paths: properties: errors: type: object - additionalProperties: - type: string - title: DetailedErrors + properties: {} + additionalProperties: true + title: Detailed Errors title: Error Response description: Downloads a stores *Theme*. - '/stores/{store_hash}/v3/themes/actions/activate': + '/themes/actions/activate': + parameters: + - $ref: '#/components/parameters/Accept' post: tags: - Theme Actions operationId: activateStoreTheme summary: Activate a Theme parameters: - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -507,45 +400,20 @@ paths: properties: errors: type: object - additionalProperties: - type: string - title: DetailedErrors + properties: {} + additionalProperties: true + title: Detailed Errors title: Error Response description: |- Actives a store *Theme*. This returns a 204 response upon success. - parameters: - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/themes/jobs/{job_id}': + '/themes/jobs/{job_id}': get: tags: - Theme Jobs operationId: getJob summary: Get a Theme Job - parameters: - - name: job_id - description: The job identifier. - in: path - required: true - schema: - type: string - - in: header - name: Accept - required: true - schema: - type: string - default: application/json - - name: Content-Type - in: header - required: true - schema: - type: string - default: application/json responses: '200': description: '' @@ -593,23 +461,15 @@ paths: properties: errors: type: object - additionalProperties: - type: string - title: DetailedErrors + properties: {} + additionalProperties: true + title: Detailed Errors title: Error Response description: 'Returns a theme *Job*. If job is completed, the result is included in the response.' parameters: - - schema: - type: string - name: store_hash - in: path - required: true - - schema: - type: string - name: job_id - in: path - required: true - '/stores/{store_hash}/v3/themes/{uuid}/configurations': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/JobIdParam' + '/themes/{uuid}/configurations': get: responses: '200': @@ -646,11 +506,7 @@ paths: name: variation_uuid description: Filter configurations by a variation_uuid. parameters: - - schema: - type: string - name: store_hash - in: path - required: true + - $ref: '#/components/parameters/Accept' - schema: type: string name: uuid @@ -694,8 +550,10 @@ paths: in: query schema: type: integer - '/stores/{store_hash}/v3/themes/{uuid}/configurations/validate': + '/themes/{uuid}/configurations/validate': post: + parameters: + - $ref: '#/components/parameters/ContentType' responses: '200': description: Theme passes validation. @@ -720,29 +578,16 @@ paths: schema: $ref: '#/components/schemas/themeConfiguration_Write' parameters: - - name: uuid - description: The theme identifier. - in: path - required: true - schema: - type: string - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/themes/custom-templates/{version_uuid}': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ThemeIdParam' + '/themes/custom-templates/{version_uuid}': parameters: + - $ref: '#/components/parameters/Accept' - schema: type: string name: version_uuid in: path required: true - - schema: - type: string - name: store_hash - in: path - required: true get: summary: Get Custom Templates tags: @@ -775,7 +620,7 @@ paths: items: type: string meta: - type: object + $ref: '#/components/schemas/OpenMeta' examples: example-1: value: @@ -791,17 +636,6 @@ paths: meta: {} operationId: get-themes-theme_uuid-custom-templates description: Enumerate available custom templates for in the theme files in a specific theme version for each supported entity type. -security: - - X-Auth-Token: [] -x-stoplight: - docs: - includeDownloadLink: true - showModels: false -servers: - - url: 'https://api.bigcommerce.com' - variables: - store_hash: - default: unknown components: parameters: JobIdParam: @@ -819,19 +653,21 @@ components: schema: type: string Accept: - in: header 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 - Content-Type: + 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 + default: 'application/json' PageParam: name: page description: | @@ -887,31 +723,29 @@ components: next: in securitySchemes: X-Auth-Token: - type: apiKey - in: header name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Themes | modify | `store_themes_manage` | - - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| + ### OAuth scopes - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Themes | modify | `store_themes_manage` | - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: CollectionMeta: type: object @@ -1093,9 +927,9 @@ components: properties: errors: type: object - additionalProperties: - type: string - title: DetailedErrors + properties: {} + additionalProperties: true + title: Detailed Errors title: Error Response x-internal: false BaseError: @@ -1119,9 +953,9 @@ components: x-internal: false DetailedErrors: type: object - additionalProperties: - type: string - title: DetailedErrors + properties: {} + additionalProperties: true + title: Detailed Errors x-internal: false NotFound: description: Error payload for the BigCommerce API. @@ -1192,11 +1026,8 @@ components: result: description: The result. type: object - additionalProperties: - type: string - properties: - theme_id: - type: string + additionalProperties: true + properties: {} status: type: string description: The status. @@ -1424,11 +1255,8 @@ components: result: description: The result. type: object - additionalProperties: - type: string - properties: - theme_id: - type: string + additionalProperties: true + properties: {} status: type: string description: The status. @@ -1454,9 +1282,7 @@ components: description: The warning. type: string meta: - type: object - description: Empty meta object; may be used later. - title: Meta + $ref: '#/components/schemas/OpenMeta' title: Job Response description: Response for /GET Jobs by Id. x-internal: false @@ -1528,3 +1354,9 @@ components: description: 'The content of the configuration, which is a JSON object which will vary in structure from theme to theme.' title: themeConfiguration_Write x-internal: false + OpenMeta: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index 313cb6732..e03c523a8 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -8,8 +8,22 @@ info: email: support@bigcommerce.com name: BigCommerce url: 'https://www.bigcommerce.com' +tags: + - name: Manage Webhooks (Single) + - name: Manage Webhooks (Bulk) + - name: Webhook Events + - name: Webhooks Admin +security: + - X-Auth-Token: [] +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 paths: - '/stores/{store_hash}/v3/hooks': + '/hooks': post: responses: '200': @@ -74,7 +88,7 @@ paths: schema: $ref: '#/components/schemas/webhook_Base' tags: - - Webhooks + - Manage Webhooks (Bulk) get: responses: '200': @@ -90,7 +104,7 @@ paths: *Note: BigCommerce determines the `client_id` from the `access_token`.* operationId: getAllWebhooks tags: - - Webhooks + - Manage Webhooks (Bulk) parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' @@ -99,9 +113,7 @@ paths: - $ref: '#/components/parameters/IsActive' - $ref: '#/components/parameters/FilterByScope' - $ref: '#/components/parameters/FilterByDestination' - parameters: - - $ref: '#/components/parameters/StoreHash' - '/stores/{store_hash}/v3/hooks/{webhook_id}': + '/hooks/{webhook_id}': get: responses: '200': @@ -116,13 +128,12 @@ paths: operationId: getWebhook summary: Get a Webhook tags: - - Webhooks + - Manage Webhooks (Single) parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' parameters: - - $ref: '#/components/parameters/WebhookId' - - $ref: '#/components/parameters/StoreHash' + - $ref: '#/components/parameters/WebhookId' put: responses: '200': @@ -147,7 +158,7 @@ paths: User-Name: Hello Password: Goodbye tags: - - Webhooks + - Manage Webhooks (Single) delete: responses: '200': @@ -156,18 +167,17 @@ paths: description: 'Deletes a webhook. Only one webhook at a time can be deleted. When a webhook is deleted, it is returned in the response as a 200 OK.' operationId: deleteAWebhook tags: - - Webhooks + - Manage Webhooks (Single) parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/Content-Type' - '/stores/{store_hash}/v3/hooks/admin': + '/hooks/admin': get: operationId: getHooksAdmin summary: Get Admin Info description: 'List all notification emails, webhooks, and denylisted domains associated with the API account.' parameters: - $ref: '#/components/parameters/IsActive' - - $ref: '#/components/parameters/StoreHash' responses: '200': description: Successful operation. @@ -298,12 +308,10 @@ paths: $ref: '#/components/responses/422_UnprocessableEntity' tags: - Webhooks Admin - parameters: - - $ref: '#/components/parameters/StoreHash' - '/stores/{store_hash}/v3/hooks/events': + '/hooks/events': get: tags: - - Webhooks + - Webhook Events summary: Get Events parameters: - $ref: '#/components/parameters/FilterPageParam' @@ -334,26 +342,8 @@ paths: $ref: '#/components/responses/401_Unauthorized' description: | Get a list of events that were sent but not successfully received. Events are stored for not less than one week. - parameters: - - $ref: '#/components/parameters/StoreHash' -tags: - - name: Webhooks - - name: Webhooks Admin - - name: Callbacks -security: - - X-Auth-Token: [] -servers: - - url: 'https://api.bigcommerce.com' components: parameters: - StoreHash: - name: store_hash - in: path - required: true - description: Permanent ID of the BigCommerce store. - schema: - type: string - example: lkjsdflo WebhookId: name: webhook_id in: path @@ -652,29 +642,27 @@ components: total_pages: 1 securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - None required. Create and manage webhooks with the default scope of an API account. + ### OAuth scopes - ### Headers - - | Header | Parameter | Description | - |:-------|:----------|:------------| - | `X-Auth-Token` | `access_token ` | Obtained by creating an API account or installing an app in a BigCommerce control panel. | - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` + None required. Create and manage webhooks with the default scope of an API account. - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: store_cart_wildcard: description: |- @@ -695,7 +683,7 @@ components: description: |- This webhook fires on new cart creation when any of the following occur: * a storefront shopper adds their first product to a cart during a new session - * thereʼs a successful `POST` request to `/carts` using either the [Storefront](/api-reference/storefront/carts/cart/createacart) API or the [Store Management](/api-reference/store-management/carts/cart/createacart) API + * thereʼs a successful `POST` request to `/carts` using either the [Storefront](/docs/rest-storefront/carts#create-a-cart) API or the [Store Management](/docs/rest-management/carts/carts-single#create-a-cart) API Cart creation also fires the `store/cart/updated` webhook. diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index 577efb498..0708de33a 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -1,48 +1,34 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Widgets version: '' - contact: {} description: |- Create and manage widget templates, widgets, regions, and placements. - ## Authentication - - [Authenticate](/api-docs/getting-started/authentication/rest-api-authentication) requests by including an OAuth `access_token` in the request header. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/{{ENDPOINT}} - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Content | modify | `store_v2_content` | - | Content | read-only | `store_v2_content_read_only` | - - For more information on OAuth scopes, see [Authenticating BigCommerce's REST APIs](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). - ## Subresources ### Widget templates - [Widget templates](/api-reference/store-management/widgets/widget-template/getwidgettemplates) are reusable Handlebars-enabled HTML templates that define the structure of the widget on a page. + [Widget templates](/rest-content/widgets/widget-template) are reusable Handlebars-enabled HTML templates that define the structure of the widget on a page. ### Widgets - [Widgets](/api-reference/store-management/widgets/widget/getwidgets) are units of content placed on specific pages in a Stencil theme. Widgets consist of a widget configuration and a widget template UUID and render as part of the storefront’s HTML. + [Widgets](/docs/rest-content/widgets/widget) are units of content placed on specific pages in a Stencil theme. Widgets consist of a widget configuration and a widget template UUID and render as part of the storefront’s HTML. ### Regions - [Regions](/api-reference/store-management/widgets/regions/getcontentregions) are specific locations in the Stencil theme template files where you can place a widget. + [Regions](/docs/rest-content/widgets/regions) are specific locations in the Stencil theme template files where you can place a widget. ### Placements - [Placements](/api-reference/store-management/widgets/placement/getplacements) determine the region where you place widgets and in what order. + [Placements](/docs/rest-content/widgets/placement) determine the region where you place widgets and in what order. ## Additional Information * [Widgets API Overview](/api-docs/store-management/widgets/overview) * [Widget UI Schema](/stencil-docs/page-builder/widget-ui-schema) * [Widget UI Input Types](/stencil-docs/page-builder/schema-settings) + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com tags: - name: Regions - name: Widget Template @@ -51,24 +37,25 @@ tags: description: BigCommerce Widgets API Definition. - name: Placement description: BigCommerce Placements API Definition. +security: + - X-Auth-Token: [] +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 paths: - '/stores/{store_hash}/v3/content/widget-templates': + '/content/widget-templates': post: tags: - Widget Template summary: Create a Widget Template operationId: createWidgetTemplate parameters: - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -160,16 +147,8 @@ paths: required: false schema: type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ContentType' - in: query name: 'channel_id:in' description: Filter items by channel_id. @@ -182,13 +161,7 @@ paths: $ref: '#/components/responses/Error422_Resp' description: Returns a list of **Widget Templates**. summary: Get All Widget Templates - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/content/widget-templates/{uuid}/preview': + '/content/widget-templates/{uuid}/preview': post: tags: - Widget Template @@ -221,40 +194,18 @@ paths: in: path required: true description: The identifier for a specific widget. - - schema: - type: string - name: store_hash - in: path - required: true - '/stores/{store_hash}/v3/content/widget-templates/{uuid}': + '/content/widget-templates/{uuid}': get: tags: - Widget Template summary: Get a Widget Template operationId: getWidgetTemplate parameters: - - name: uuid - description: The identifier for a specific template. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json - schema: type: string in: query name: version_uuid - description: This is an optional query parmeter used to attempt to fetch a specific Widget Template version. + description: This is an optional query parameter used to attempt to fetch a specific Widget Template version. responses: '200': $ref: '#/components/responses/WidgetTemplate_Resp' @@ -269,23 +220,7 @@ paths: summary: Update a Widget Template operationId: updateWidgetTemplate parameters: - - name: uuid - description: The identifier for a specific template. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -310,24 +245,6 @@ paths: - Widget Template summary: Delete A Widget Template operationId: deleteWidgetTemplate - parameters: - - name: uuid - description: The identifier for a specific template. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json responses: '204': description: An empty response. @@ -337,33 +254,16 @@ paths: $ref: '#/components/responses/Error422_Resp' description: Deletes a **Widget Template**. parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: uuid - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/content/widgets': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/TemplateUUID' + '/content/widgets': post: tags: - Widget summary: Create a Widget operationId: createWidget parameters: - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -422,16 +322,6 @@ paths: schema: type: string format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json - in: query name: name description: The URL encoded name of the widget. @@ -460,35 +350,13 @@ paths: $ref: '#/components/responses/Error422_Resp' description: Returns a list of **Widgets**. Optional parameters can be passed in. parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/content/widgets/{uuid}': + - $ref: '#/components/parameters/Accept' + '/content/widgets/{uuid}': get: tags: - Widget summary: Get a Widget operationId: getWidget - parameters: - - name: uuid - description: The identifier for a specific widget. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json responses: '200': $ref: '#/components/responses/Widget_Resp' @@ -503,23 +371,7 @@ paths: summary: Update a Widget operationId: updateWidget parameters: - - name: uuid - description: The identifier for a specific widget. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -548,24 +400,6 @@ paths: - Widget summary: Delete a Widget operationId: deleteWidget - parameters: - - name: uuid - description: The identifier for a specific widget. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json responses: '204': description: An empty response. @@ -575,34 +409,16 @@ paths: $ref: '#/components/responses/Error422_Resp' description: Deletes a **Widget**. parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: uuid - in: path - required: true - schema: - type: string - description: The identifier for a specific widget. - '/stores/{store_hash}/v3/content/placements': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/WidgetUUID' + '/content/placements': post: tags: - Placement summary: Create a Placement operationId: createPlacement parameters: - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -674,16 +490,6 @@ paths: schema: type: string format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json - $ref: '#/components/parameters/ChannelIDInParam' - $ref: '#/components/parameters/SiteIDInParam' responses: @@ -693,35 +499,13 @@ paths: $ref: '#/components/responses/Error422_Resp' description: Returns a list of **Placements**. parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/content/placements/{uuid}': + - $ref: '#/components/parameters/Accept' + '/content/placements/{uuid}': get: tags: - Placement summary: Get a Placement operationId: getPlacement - parameters: - - name: uuid - description: The identifier for a specific placement. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json responses: '200': $ref: '#/components/responses/Placement_Resp' @@ -736,23 +520,7 @@ paths: summary: Update a Placement operationId: updatePlacement parameters: - - name: uuid - description: The identifier for a specific placement. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -778,24 +546,6 @@ paths: - Placement summary: Delete a Placement operationId: deletePlacement - parameters: - - name: uuid - description: The identifier for a specific placement. - required: true - in: path - schema: - type: string - format: uuid - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json responses: '204': description: An empty response. @@ -805,17 +555,9 @@ paths: $ref: '#/components/responses/Error422_Resp' description: Deletes a **Placement**. parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: uuid - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/content/regions': + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/PlacementUUID' + '/content/regions': get: responses: '200': @@ -830,32 +572,13 @@ paths: tags: - Regions parameters: - - name: Accept - in: header - schema: - type: string - default: application/json - - in: header - name: Content-Type - schema: - type: string - default: application/json + - $ref: '#/components/parameters/Accept' - in: query name: template_file description: 'The template file, for example: `templateFile=pages/home`.' required: true schema: type: string - parameters: - - name: store_hash - in: path - required: true - schema: - type: string -security: - - X-Auth-Token: [] -servers: - - url: 'https://api.bigcommerce.com' components: parameters: TemplateUUID: @@ -953,15 +676,19 @@ components: 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 - Content-Type: - in: header + 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 + default: 'application/json' ChannelIDInParam: name: 'channel_id:in' in: query @@ -989,8 +716,7 @@ components: items: $ref: '#/components/schemas/themeRegion' meta: - type: object - description: Empty meta object; may be used later. + $ref: '#/components/schemas/Meta' examples: response: value: @@ -1208,7 +934,7 @@ components: data: $ref: '#/components/schemas/placement_Full' meta: - type: object + $ref: '#/components/schemas/Meta' examples: response: value: @@ -1265,7 +991,7 @@ components: items: $ref: '#/components/schemas/widgetTemplate_Full' meta: - $ref: '#/components/schemas/pagination' + $ref: '#/components/schemas/metaCollection' examples: response: value: @@ -1377,13 +1103,13 @@ components: application/json: schema: allOf: - - properties: + - type: object + properties: data: $ref: '#/components/schemas/widgetTemplate_Full' - properties: meta: - type: object - type: object + $ref: '#/components/schemas/Meta' examples: response: value: @@ -1497,7 +1223,7 @@ components: data: $ref: '#/components/schemas/widget_Full' meta: - type: object + $ref: '#/components/schemas/Meta' examples: response: value: @@ -1555,32 +1281,30 @@ components: errors: {} securitySchemes: X-Auth-Token: - type: apiKey name: X-Auth-Token - in: header description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Content | modify | `store_v2_content` | | Content | read-only | `store_v2_content_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see: [Authentication](/api-docs/getting-started/authentication). + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header schemas: WidgetTemplatePreview: properties: @@ -1908,8 +1632,9 @@ components: - Models DetailedErrors: type: object - additionalProperties: - type: string + properties: {} + additionalProperties: true + title: Detailed Errors x-tags: - Models themeRegion: @@ -1920,9 +1645,11 @@ components: title: themeRegion x-internal: false Meta: + title: Response meta type: object - description: Empty meta object; may be used later. - x-internal: false + properties: {} + additionalProperties: true + description: Response metadata. placement_Base: type: object title: placement_Base diff --git a/reference/wishlists.v3.yml b/reference/wishlists.v3.yml index e668e1f03..3faa8c029 100644 --- a/reference/wishlists.v3.yml +++ b/reference/wishlists.v3.yml @@ -1,33 +1,24 @@ -openapi: 3.0.1 +openapi: '3.0.1' info: title: Wishlist description: |- Create and manage customer [wishlists](https://support.bigcommerce.com/s/article/Wishlists). - ## Authentication - - [Authenticate](/api-docs/getting-started/authentication/rest-api-authentication) requests by including an OAuth `access_token` in the request header. - - ```http - GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/{{ENDPOINT}} - Content-Type: application/json - X-Auth-Token: {{ACCESS_TOKEN}} - ``` - - ### OAuth scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | - | Customers | modify | `store_v2_customers` | - | Customers | read-only | `store_v2_customers_read_only` | - - For more information on OAuth scopes, see [Authenticating BigCommerce's REST APIs](/api-docs/getting-started/authentication/rest-api-authentication#oauth-scopes). - ## Additional Information * [Wishlists](https://support.bigcommerce.com/s/article/Wishlists) - contact: {} version: '' + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - - url: 'https://api.bigcommerce.com' + - 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: @@ -35,7 +26,7 @@ tags: description: '' - name: Wishlists Items paths: - '/stores/{store_hash}/v3/wishlists': + '/wishlists': get: tags: - Wishlists @@ -43,11 +34,6 @@ paths: description: Returns a list of wishlists. Optional filter parameters can be passed in. operationId: WishlistsGet parameters: - - name: store_hash - in: path - required: true - schema: - type: string - name: customer_id in: query description: All wishlists relating to the customer. @@ -66,16 +52,7 @@ paths: schema: type: integer format: int32 - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/Accept' responses: '200': description: '' @@ -187,21 +164,8 @@ paths: * customer_id operationId: WishlistsPost parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -221,6 +185,8 @@ paths: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. example: data: id: 30 @@ -276,7 +242,7 @@ paths: type: type: string x-codegen-request-body-name: body - '/stores/{store_hash}/v3/wishlists/{wishlist_id}/items/{item_id}': + '/wishlists/{wishlist_id}/items/{item_id}': delete: tags: - Wishlists Items @@ -284,28 +250,8 @@ paths: description: Deletes a wishlist item. operationId: WishlistsItemsByIdDelete parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: wishlist_id - in: path - description: ID of the Wishlist - required: true - schema: - type: integer - format: int32 - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' - name: item_id in: path required: true @@ -325,6 +271,8 @@ paths: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. example: data: id: 30 @@ -385,7 +333,7 @@ paths: type: string type: type: string - '/stores/{store_hash}/v3/wishlists/{wishlist_id}': + '/wishlists/{wishlist_id}': get: tags: - Wishlists @@ -393,28 +341,8 @@ paths: description: Returns a single wishlist. operationId: WishlistsByIdGet parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: wishlist_id - in: path - description: ID of the Wishlist - required: true - schema: - type: integer - format: int32 - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' responses: '200': description: '' @@ -428,6 +356,8 @@ paths: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. example: data: id: 30 @@ -495,31 +425,12 @@ paths: description: |- Updates a wishlist. - Use this endpoint to update existing wishlist items, change the wishlist's name and whether the wishlist is available publicly. To add or delete a wishlist item, see [Wishlist Items](/api-reference/store-management/wishlists/wishlists-items). + Use this endpoint to update existing wishlist items, change the wishlist's name and whether the wishlist is available publicly. To add or delete a wishlist item, see [Wishlist Items](/docs/rest-management/wishlists/wishlists-items). operationId: WishlistsByIdPut parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: wishlist_id - in: path - description: ID of the Wishlist - required: true - schema: - type: integer - format: int32 - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -539,6 +450,8 @@ paths: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. example: data: id: 30 @@ -601,28 +514,8 @@ paths: description: Deletes a wishlist. operationId: WishlistsByIdDelete parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: wishlist_id - in: path - description: ID of the Wishlist - required: true - schema: - type: integer - format: int32 - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' responses: '204': description: '' @@ -657,7 +550,7 @@ paths: type: string type: type: string - '/stores/{store_hash}/v3/wishlists/{wishlist_id}/items': + '/wishlists/{wishlist_id}/items': post: tags: - Wishlists Items @@ -665,28 +558,9 @@ paths: description: Adds a wishlist item. More than one item can be added at a time. operationId: WishlistsItemsByIdPost parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: wishlist_id - in: path - description: ID of the Wishlist - required: true - schema: - type: integer - format: int32 - - name: Accept - in: header - schema: - type: string - default: application/json - - name: Content-Type - in: header - schema: - type: string - default: application/json + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: @@ -706,6 +580,8 @@ paths: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. example: data: id: 30 @@ -977,6 +853,8 @@ components: meta: type: object properties: {} + additionalProperties: true + description: Response metadata. example: data: id: 30 @@ -1094,52 +972,51 @@ components: WishlistID: name: wishlist_id in: path - description: ID of the Wishlist + description: ID of the Wishlist. required: true schema: type: integer format: int32 - Content-Type: - name: Content-Type + 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 - Accept: - name: Accept + 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 + default: 'application/json' securitySchemes: X-Auth-Token: - type: apiKey + name: X-Auth-Token description: |- - ### OAuth Scopes - | **UI Name** | **Permission** | **Parameter** | - | --- | --- | --- | + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| | Customers | modify | `store_v2_customers` | | Customers | read-only | `store_v2_customers_read_only` | - ### Headers - - |Header|Parameter|Description| - |-|-|-| - |`X-Auth-Token`|`access_token `|Obtained by creating an API account or installing an app in a BigCommerce control panel.| - - ### Example - - ```http - GET /stores/{store_hash}/v3/catalog/summary - host: api.bigcommerce.com - Content-Type: application/json - X-Auth-Token: {access_token} - ``` - - * For more information on Authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). - name: X-Auth-Token + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey in: header -x-stoplight: - docs: - includeDownloadLink: true - showModels: false + From b12cc3a181d7d46fbefb6618a5ccf10b76e29f6b Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Sat, 18 Mar 2023 21:56:38 -0500 Subject: [PATCH 106/360] (no ticket): [meta] GitHub, update codeowners + consolidate PR templates (#1220) update codeowners, consolidate pull request templates --- .github/CODEOWNERS | 6 +----- .../publication_pr_template.md | 9 +++++++++ .../pull_request_template.md | 7 +++++++ external_pr_template.md | 15 -------------- internal_pr_template.md | 20 ------------------- pull_request_template.md | 7 ------- pull_request_template_CODEOWNER.md | 16 --------------- 7 files changed, 17 insertions(+), 63 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE/publication_pr_template.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template.md delete mode 100644 external_pr_template.md delete mode 100644 internal_pr_template.md delete mode 100644 pull_request_template.md delete mode 100644 pull_request_template_CODEOWNER.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ace6d61ab..7fa3637f7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,12 +1,8 @@ # These owners will be the default owners for everything in the repo. Unless a later match takes precedence, @global-owner1 and @global-owner2 will be requested for review when someone opens a pull request. -@markcmurphy @slsriehl +@slsriehl @bigcommerce/devdocs-codeowners @markcmurphy # Teams can be specified as code owners as well. Teams should # be identified in the format @org/team-name. Teams must have # explicit write access to the repository. In this example, # the octocats team in the octo-org organization owns all .md files. -*.yml @bigcommerce/devdocs-codeowners -*.yaml @bigcommerce/devdocs-codeowners -*.md @bigcommerce/devdocs-codeowners -*.json @bigcommerce/devdocs-codeowners diff --git a/.github/PULL_REQUEST_TEMPLATE/publication_pr_template.md b/.github/PULL_REQUEST_TEMPLATE/publication_pr_template.md new file mode 100644 index 000000000..0e3d44b2e --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/publication_pr_template.md @@ -0,0 +1,9 @@ +# Publish with Rebase Merge + +## Included tickets / PRs +* [DEVDOCS-] - # +* [DEVDOCS-] - # +* [DEVDOCS-] - # + +## Additional information +Related Developer Center PRs, other related PRs, salient notes, etc. diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 000000000..597b0b3d5 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,7 @@ +# [DEVDOCS-] + +## What changed? +* present tense description of what changed + +## Anything else? +Related PRs, salient notes, etc. diff --git a/external_pr_template.md b/external_pr_template.md deleted file mode 100644 index 4cfa1e142..000000000 --- a/external_pr_template.md +++ /dev/null @@ -1,15 +0,0 @@ -# External Pull Request -Open a PR to the `staging` branch. - -**PRs that contain force-pushes will be rejected.** Update your fork's master branch and reconcile with your feature branch before pushing. Repeat the process for mid-review edits. - -Thank you for contributing. Please tell us a little about this change and about yourself. - -## Describe this change -_______ - - -## Are you a BigCommerce Partner? If so, through what entity? - - - diff --git a/internal_pr_template.md b/internal_pr_template.md deleted file mode 100644 index 5979d4255..000000000 --- a/internal_pr_template.md +++ /dev/null @@ -1,20 +0,0 @@ -# DevDocs ticket: [DEVDOCS-{number}](https://bigcommercecloud.atlassian.net/browse/DEVDOCS-{number}) -## Other ticket: [{project}-{number}](https://bigcommercecloud.atlassian.net/browse/{project}-{number}) - -We need a DevDocs ticket to process your request. **Open your PR to a feature branch named for the corresponding DEVDOCS ticket**. - -If a DevDocs ticket does not exist, ping your [Operational Readiness SME](https://bigcommercecloud.atlassian.net/l/c/kT4FoiNA) to have one created for you. When a DevDocs ticket exists, ping your [DevDocs SME](https://bigcommercecloud.atlassian.net/l/c/fjz6jyH4) to have them create a ticket branch. We plan to automate this action soon. - -**PRs that contain force-pushes will be rejected.** Update your fork's master branch and reconcile with your feature branch before pushing. Repeat the process for mid-review edits. - -## Delete one: What's the deal with this PR? -* New spec: GTM / new feature -* Old spec: correct / clarify - -## Briefly describe change -_____________ - -## Tag your SMEs: DevDocs, Operational Readiness, other -* [DevDocs SMEs](https://bigcommercecloud.atlassian.net/l/c/fjz6jyH4) -- @ -* If GTM / new feature: [Operational Readiness SMEs](https://bigcommercecloud.atlassian.net/l/c/kT4FoiNA) -- @ -* Others: [Durable Teams with GTM Contacts](https://bigcommercecloud.atlassian.net/l/c/Ex3uBFYX) -- @ diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index dcbe7c556..000000000 --- a/pull_request_template.md +++ /dev/null @@ -1,7 +0,0 @@ -# [DEVDOCS-] - -## What changed? -* thing_that_changed - -## Anything else? -Related PRs, salient notes, etc diff --git a/pull_request_template_CODEOWNER.md b/pull_request_template_CODEOWNER.md deleted file mode 100644 index 7ba0d11cf..000000000 --- a/pull_request_template_CODEOWNER.md +++ /dev/null @@ -1,16 +0,0 @@ -# Publication rebase merge with link check - -## Included tickets / PRs -* [DEVDOCS-] - # -* [DEVDOCS-] - # -* [DEVDOCS-] - # - -## Links -Indicate work. Options include the following: - -* Add redirects if needed - * See [Dev Center link PR xx](https://github.com/bigcommerce-labs/next-dev-center-prototype/pull/xx) - -Link check techniques; please indicate which you used, if any. -* Check links with tool -* Check ToC From 1e2fd9ff73ec5466e82c9129a9f76affef718d55 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Sat, 18 Mar 2023 19:44:39 -0500 Subject: [PATCH 107/360] DEVDOCS-4651: [new] SF Checkout, Checkout V3, & Orders V2 endpoints, incorporate BOPIS (#1209) * links for abandoned carts * changed Abandoned Cart Emails * changed carts V3 and catalog V3 * changed Channels * changed checkouts * changed currencies * changed custom template associations * changed customers * changed customers V3 * changed email templates * changed geography * changed marketing * changed orders v2 * changed orders v3 * changed pages v3 * changed payment methods * changed payment processing * changed price lists * changed redirects * changed scripts * changed settings and shipping * changed shipping V3 * changed sites * changed store content * changed store information * changed store logs * changed subscribers * changed tax classes * changed tax properties * changed tax settings * changes tax connection * changed themes * edited themes * changed webhooks * changed widgets * changed wishlists * changed carts SF * changed checkouts SF * changed consent SF * changed customers SF * changed form fields SF * changed orders SF * changed pricing * changed subscriptions SF * changed Tax Provider API * changed Shipping Provider API, fixed Tax Provider API * changed Current Customer * changed Customer Login * DEVDOCS-4568: [update] Remove negative numbers (#1043) Co-authored-by: Sarah Riehl * DEVDOCS-4568: [revise open PR] Align dst_offset (#1054) * scripts, verify name of checkout content scope, ancillary * debug store_content * debug currencies * checkouts, remove duplicate key * put openapi versions in quotes * wishlists add to info field * tax settings, update name of api key * all, add description of API gateway * tax provider, remove quotes * update tax_properties API Key name * DEVDOCS-4605: [update] Payments, add bigpay_token 2 (#1066) * reorder security section * ace, param sh-a-ct * ac, param sh-a-ct * ac rearrange * ac typos * carts v3 tos, contact * cv3, param sh-a-ct * catalog tos, contact * chv3, rearrange * DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101) Co-authored-by: Tina Gomez Co-authored-by: Sarah Riehl * style * add path variables * terms of service, file order * terms of service * remove request runner * remove duplicate auth section * storefront tokens move auth section * remove request runner * add v2 and v3 to rates * add paths * remove store_hash path parameter from all endpoints. * cleaned up some store_hash and x-stoplight artifacts * empty parameters type error after store_hash deletes * remove ''s and ''t syntax errors * add description to store hash * add description to storefront url store domain * add description to app api app_domain * move orders file front matter to front * price lists -- add header parameters, fix typos * wishlists & widgets, parameter cleanup * tax settings, reorganize, add header parameters * themes parameters * tax properties spacing and schemas * tax classes, quote endpoints, parameters * subscribers, parameters, spaces * storefront tokens, add header parameters * sites, add header parameters * store content, add header parameters * tax provider connection, add header parameters * shipping v2, add header parameters * scripts, add header parameters * redirects, add header parameters * payment methods, add header parameters * orders v3, add info, header parameters * marketing, add info, header parameters * customers, add info, header parameters * channels, add header parameters * payment processing, add header parameters, revise security schemes * orders v2. SHE LINTS. * catalog, add header parameters, debug * (no ticket): [tools] MDX linter, create + add github action (#1150) Co-authored-by: Matthew Volk * tax provider, change oas 3.1 --> 3.0.3, lint null object * tax rates & zone, oas 3.1 --> 3.0.3, remove oas 3.1 feature * convert .md to .mdx * channels, update image paths * DEVDOCS-4719: [migrate] Settings, Customer Login, revise linter * DEVDOCS-4719: [migrate] Stoplight links (#1156) * DEVDOCS-4719: [migrate] remove x-stoplight (#1157) * correct current customer path * update current_customer per Slack * shipping version quotes * updated meta object in Carts V3 * meta updates in carts.v3 file * DEVDOCS-4719: [migrate] Shipping V3, remove truly redundant examples (#1162) Co-authored-by: Sarah Riehl * DEVDOCS-4719: [migrate] Many, give meta objects properties (#1158) Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl * DEVDOCS-4719: [migrate] Handle callouts (#1164) Co-authored-by: Sarah Riehl * DEVDOCS-4719: [migrate] Many, add array items (#1160) * DEVDOCS-4719: [migrate] Many, add object properties (#1161) * DEVDOCS-4719: [migrate] response bodies (#1165) * (no ticket): [migrate] Many, resolve errors * (no ticket): [migrate] Carts SF, re-lint * (no ticket): [revise] Customers SF, Standardize create a customer summary (#1176) Co-authored-by: Sarah Riehl * DEVDOCS-4719: [migrate] Catalog V3, fix request body not rendering (#1163) * DEVDOCS-4719: [migrate] Catalog V3, rendering issues (#1166) * DEVDOCS-4719: [migrate] Many, update additionalProperties (#1174) * (no ticket): [remove] Catalog V3, generic catalog tag (#1180) Main author: Co-authored-by: Nate Stewart See also PR #1175 * apostrophes * DEVDOCS-4719: [migrate] Email Templates and Custom Template Associations, migrate syntax (#1181) * DEVDOCS-4719: [migrate] Email templates, unify (#1188) * remove ambiguous hyphen * DEVDOCS-4719: [migrate] Webhook schemas (#1189) * Change 'description' to 'properties' within store_cart_created.yml (#1191) * DEVDOCS-4719: [migrate] Price Lists V3 API, remove content type header from GET (#1187) * DEVDOCS-4719 [migrate] Orders, summary/table cleanup (#1185) * DEVDOCS-4719: [migrate] Tax V3 API, rendering (#1183) * DEVDOCS-4719: [migrate] Tax Provider API, request example rendering (#1195) Co-authored-by: Sarah Riehl * DEVDOCS-4719: [migrate] Shipping provider API, move example (#1194) * move response example for Request Rates * change example names --------- Co-authored-by: Sarah Riehl * DEVDOCS-4719: [migrate] Tax APIs (#1196) * DEVDOCS-4719: [migrate] Shipping APIs, move example (#1197) Co-authored-by: Sarah Riehl * DEVDOCS-4719: [migrate] Carts SF & V3, rendering-based changes (#1199) Co-authored-by: Sarah Riehl * change auth docs links (#1202) * Migrate links #1 (#1204) * available-apis, storefront-graphql * storefront carts * carts v3 * catalog * channels * sf checkouts * sf carts, change links to sf from v3 * checkouts v3 * sf consent * currencies * wishlists * widgets * webhooks * tax provider * customers v2 * shipping v2 * customers v3 * orders v2 * payment processing * add tags to email templates and custom template associations (#1206) * Migrate links #2 (#1207) * incorporate BOPIS changes, SF checkouts * incorporate BOPIS changes, checkouts V3 * incorporate BOPIS changes, orders V2 * incorporate BOPIS changes * manual resolution commits * fix incorrect casing for pickup method id field * copyedit description --------- Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl Co-authored-by: Mark Murphy Co-authored-by: Tina Gomez Co-authored-by: Mark Co-authored-by: Matthew Volk Co-authored-by: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Co-authored-by: Nate Stewart Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/checkouts.sf.yml | 79 ++- reference/checkouts.v3.yml | 20 + reference/orders.v2.oas2.yml | 907 ++++++++++++++++++++++++++++++++++- 3 files changed, 965 insertions(+), 41 deletions(-) diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 7a03a6956..d5bfbcfcc 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -1191,18 +1191,25 @@ paths: description: | Adds a new *Consignment* to *Checkout*. - There are two steps to add a new shipping address and shipping options with line items. - 1. Add a new Consignment to Checkout. - * Send a POST to Consignments with each shipping address and line items IDs. Each address can have its own line item IDs. - * As part of the request URL make sure to add `include=consignments.availableShippingOptions` to return the available shipping options based on line items and shipping locations. This will return `availableShippingOptions` in the response. - 2. [Update the Consignment](/docs/rest-storefront/checkouts/checkout-consignments#update-a-consignment) with Shipping Options. + Perform the following two steps to define the fulfillment of the items in the cart. + ### For **shipping** consignments: + 1. Add a new Consignment to Checkout. + * Send a `POST` request to `/consignments` with each shipping address, line item IDs, and quantities. Each address can have its own line item IDs. + * Provide a full valid customer address before placing the order. If provided, the order placement will succeed. + * As part of the request URL make sure to add `include=consignments.availableShippingOptions` to return the available shipping options based on the items, the address, and the shipping location. This will return `availableShippingOptions` in the response. - **Required Query** - * `consignments.availableShippingOptions` - - **Required Fields** - * `shipping_address` (deprecated) or `address` - * `line_items` + * Required Fields: + * `shipping_address` (deprecated) or `address` + * `lineItems` + 2. [Update the Consignment](/api-reference/storefront/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidandconsignmentidput) with Shipping Options. + + ### For **pickup** consignments: + 1. Create a new consignment object. + - Send a `POST` request to `/consignments` with line item IDs and quantities. + - Provide a `pickupMethodId`. This is the `id` of the Pickup Method provided in the response body of the Storefront Pickup Options API. + - Required Fields: + * `pickupOption` + * `lineItems` To learn more about creating a Checkout Consignment, see the [Carts and Checkouts Tutorial](/api-docs/storefront/tutorials/carts). @@ -1352,15 +1359,25 @@ paths: - Checkout Consignments summary: Update a Consignment description: |- - Updates an existing consignment. Either the shipping address, one or more line item IDs, or the shipping option ID can be updated in a single call to this endpoint. + Updates an existing consignment. An update is either one of the following: - There are two steps to add a new shipping address and shipping options with line items. - 1. Add a new Consignment to Checkout. - 2. Update the Consignment with Shipping Options. - * Update each *Consignment* `shippingOptionId` (shipping address and line items) with the `availableShippingOption > id` from Step One. + 1. Updates the consignment address and/or line items. + 2. Selects a specific fulfillment option. - **Required Fields** - * `shippingOptionId` + ### Update the consignment address and line items + For this type of update, the payload is the same as when creating a new consignment. Update each *Consignment* `shippingOptionId` (shipping address and line items) with the `availableShippingOption > id` from the POST `/consignment` response. + + **Note:** + Updating a consignment could invalidate the value for `selectedShippingOption` and `selectedPickupOption`. + + ### Select a specific fulfillment option + Before placing an order, each consignment must have a `selectedShippingOption` or a `selectedPickupOption`. + + If the consignment already has a pick-up option selected and a shipping option is provided, the pick-up option will be deselected and the shipping option will be selected instead (and vice versa). The `PUT` request will fail if it contains a shipping option ID and a pickup option ID. + + Required Fields: + * `shippingOptionId` or `pickupOptionId` + * `lineItems` To learn more about creating a Checkout Consignment see [Checkout Consignment API](/api-docs/checkouts/checkout-consignment). @@ -1384,7 +1401,7 @@ paths: in: query schema: type: string - default: consignments.availableShippingOptions + default: consignments.availableShippingOptions, consignments.availablePickupOptions requestBody: content: application/json: @@ -2548,6 +2565,8 @@ components: x-deprecated: true address: $ref: '#/components/schemas/address_Full' + selectedPickupOption: + $ref: '#/components/schemas/PickupOption' availableShippingOptions: type: array description: 'This is available only when "include=consignments.availableShippingOptions" is present in the URL.' @@ -3510,6 +3529,14 @@ components: type: integer description: '' format: int32 + shippingOptionId: + type: string + description: '' + pickupOption: + type: object + properties: + pickupMethodId: + type: integer x-internal: false GiftCertificateRequest: title: Gift Certificate Request @@ -3611,7 +3638,12 @@ components: shippingOptionId: type: string description: '' - description: One or more of these three fields are mandatory. Shipping address and line items can be updated in one request. Shipping option ID has to be updated in a separate request, since changing the address or line items can invalidate the previously available shipping options. + pickupOption: + type: object + properties: + pickupMethodId: + type: integer + description: One or more of these three fields is mandatory. You can update address and line items in one request. You have to update shipping option ID or pickup option ID in a separate request since changing the address or line items can invalidate the previously available shipping options. x-internal: false checkoutCart: title: checkoutCart @@ -4037,6 +4069,13 @@ components: type: string description: An estimate of the arrival time. x-internal: false + PickupOption: + type: object + title: Pickup Option + description: An option that represents a location where customers can pick up items. + properties: + pickupMethodId: + type: integer responses: Checkout: description: '' diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 7c0133e61..1288eaaf4 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -8425,6 +8425,8 @@ components: description: Array lists only one line item. To display multiple `line_item_ids`, perform a `POST` request to add consignments to the checkout using the same address. items: type: string + selected_pickup_option: + $ref: '#/components/schemas/PickupOption' taxes: type: array description: '' @@ -8685,6 +8687,12 @@ components: type: integer description: '' format: int32 + pickup_option: + type: object + properties: + pickup_method_id: + type: integer + example: 1 x-internal: false UpdateConsignmentRequest: title: Update Consignment Request @@ -8769,6 +8777,12 @@ components: shipping_option_id: type: string description: '' + pickup_option: + type: object + properties: + pickup_method_id: + type: integer + example: 1 description: One or more of these three fields are mandatory. `address` and `line_items` can be updated in one request. `shipping_option_id` has to be updated in a separate request because changing the address or line items can invalidate the previously available shipping options. x-internal: false CouponCodeRequest: @@ -8817,6 +8831,12 @@ components: type: boolean description: Boolean value that specifies whether this checkout supports Optimized One-Page Checkout settings. description: '' + PickupOption: + type: object + title: Pickup Option + properties: + pickup_method_id: + type: integer MetaOpen: title: Response meta type: object diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 73b7f1560..b09823d6e 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -65,6 +65,7 @@ tags: - name: Order Shipping Addresses - name: Order Messages - name: Order Shipping Addresses Quotes + - name: Order Consignments paths: '/orders/{order_id}': parameters: @@ -241,12 +242,26 @@ paths: description: |- Creates an *Order*. To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview). - An order can be created with an existing catalog product or a custom product. + Create an order with an existing catalog product or a custom product. **Required Fields** - * products - * billing_address + * `products` or `consignments` + * `billing_address` + + When you create an order, the `consignment(s)` array allows you to create pickup consignments. + - An order can have either a pickup or a shipping fulfillment method, but not both. + - An order can have only one pickup consignment. + + Choose from one of the following: + 1. Create order with a shipping fulfillment method using `shipping_addresses` and `products`, i.e. legacy mode + 2. Create order with a pickup fulfillment method using `consignments`, i.e. Consignment mode + + You can fulfill an order with shipping or pickup, but not both. + + This means that if the `consignments` array is present in the request, then _none_ of the following may be present and vice-versa: + - `shipping_addresses` + - `products` summary: Create an Order tags: - Orders @@ -853,6 +868,123 @@ paths: tags: - Order Shipping Addresses Quotes operationId: getShippingQuotes + '/stores/{store_hash}/v2/orders/{order_id}/consignments': + parameters: + - schema: + type: string + name: order_id + in: path + required: true + - schema: + type: string + name: store_hash + in: path + required: true + get: + summary: Get Consignments + tags: + - Order Consignments + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/orderConsignment_Get' + examples: + Pickup Consignments: + value: + pickups: + - id: 99 + pickup_method_id: 1 + pickup_method_display_name: Pick Up + collection_instructions: Bring your ID + collection_time_description: 9am - 6pm + location: + id: 1 + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + line_items: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + '404': + $ref: '#/components/responses/404_Resp' + operationId: get-orders-orderId-consignments + description: 'Get all consignments for an order. ' + parameters: + - $ref: '#/components/parameters/store_hash' + - $ref: '#/components/parameters/order_id_path' + '/stores/{store_hash}/v2/orders/{order_id}/consignments/shipping/{shipping_consignment_id}/shipping_quotes': + get: + summary: Get Consignment Shipping Quotes + tags: + - Order Consignments + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/shippingQuotes_Base' + examples: + Fixed Shipping: + value: + id: '42' + uuid: 7c65e0a0-cf46-4438-934e-c7b4edb31e18 + timestamp: 'Fri, 24 Jun 2022 01:45:27 +0000' + shipping_provider_id: bcstatic + shipping_provider_quote: [] + provider_code: peritem + carrier_code: '' + rate_code: '' + rate_id: '' + method_id: 2 + Fedex: + value: + id: '43' + uuid: 551404b9-beeb-4e49-922b-3b8d85002863 + timestamp: 'Fri, 24 Jun 2022 03:52:03 +0000' + shipping_provider_id: bcrealtime + shipping_provider_quote: + rate: + value: '107.32' + unit: USD + transitTime: '1' + name: Priority Overnight + signatureConfirmationFee: {} + carrierName: '' + carrierCode: {} + code: {} + deliveryMessage: '' + labelSizes: [] + insuredMailFee: {} + dates: [] + rateId: {} + description: '' + additionalInfo: {} + provider_code: fedex + carrier_code: '' + rate_code: '' + rate_id: '' + method_id: 5 + '404': + $ref: '#/components/responses/404_Resp' + operationId: get-orders-orderId-consignments-shipping-shippingId-shippingQuotes + description: |- + Get all shipping quotes persisted on an order for a shipping consignment. + This is a read-only endpoint whose response depends on the shipping quote. You can only generate a shipping quote using the storefront at this time. Orders that are created in the control panel, or using the API, return a 204 status response since you can't generate a shipping quote during that process. + parameters: + - $ref: '#/components/parameters/store_hash' + - $ref: '#/components/parameters/order_id_path' + - $ref: '#/components/parameters/shipping_consignment_id' components: parameters: Accept: @@ -911,13 +1043,13 @@ components: status_id: name: status_id in: query - description: The staus ID of the order. You can get the status id from the `/orders` endpoints. + description: The status ID of the order. You can get the status id from the `/orders` endpoints. schema: type: integer status_id_path: name: status_id in: path - description: The staus ID of the order. You can get the status id from the `/orders` endpoints. + description: The status ID of the order. You can get the status id from the `/orders` endpoints. required: true schema: type: integer @@ -1065,6 +1197,19 @@ components: description: The Channel ID of the Order. schema: type: integer + store_hash: + name: store_hash + schema: + type: string + in: path + required: true + shipping_consignment_id: + name: shipping_consignment_id + in: path + required: true + description: Shipping consignment ID. + schema: + type: integer responses: orderStatusCollection_Resp: description: Get All Order Status Collection Response. @@ -1284,7 +1429,7 @@ components: customer_locale: en external_order_id: external-order-id ordersCount_Resp: - description: Order Countr response collection. + description: Order Country response collection. content: application/json: schema: @@ -2830,18 +2975,24 @@ components: AvaTaxProvider - Tax is set to automatic and order is created in the store. Used for Avalara. "" (empty string) - The order is created with the API, or the tax provider is unknown. - enum: - - BasicTaxProvider - - AvaTaxProvider - - '' - customer_locale: - type: string - example: en - description: The customer’s locale. - external_order_id: - type: string - example: external-order-id - description: The external id of the order. + 404_Resp: + description: Not Found + content: + application/json: + schema: + type: array + items: + type: object + properties: + status: + type: integer + message: + type: string + examples: + response: + value: + - status: 404 + message: The requested resource was not found. securitySchemes: X-Auth-Token: name: X-Auth-Token @@ -2960,8 +3111,12 @@ components: description: Numeric ID of the product. example: 20 type: integer + order_pickup_method_id: + type: integer + example: 0 + description: ID of the pickup fulfillment method for this item. Default value is 0 when the item is not fulfilled by pickup method. order_address_id: - description: Numeric ID of the associated order address. + description: Numeric ID of the associated order address. Value is `0` for items that are not fulfilled by a pickup method. example: 20 type: integer name: @@ -3396,6 +3551,21 @@ components: type: number example: 2 x-internal: false + orderConsignments_Resource: + title: orderConsignments_Resource + type: object + readOnly: true + properties: + url: + description: URL where you can use a GET request to get the order consignments. + readOnly: true + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/101/consignments' + type: string + resource: + description: Path where you can use a GET request to get the order consignments. + readOnly: true + example: /orders/101/consignments + type: string products_Resource: title: products_Resource type: object @@ -4192,6 +4362,8 @@ components: description: Orders submitted from the store’s website will include a `www` value. Orders submitted with the API will be set to `external`. This value is read-only. Do not pass in a POST or PUT. example: www type: string + consignments: + $ref: '#/components/schemas/orderConsignments_Resource' products: $ref: '#/components/schemas/products_Resource' shipping_addresses: @@ -4201,7 +4373,7 @@ components: status_id: type: integer example: 7 - description: The staus ID of the order. + description: The status ID of the order. billing_address: type: object properties: @@ -4329,7 +4501,7 @@ components: - The API does not currently support the following option types: - File upload - Pick list - - For date modifiers use either the `YYYY-MM-DDThh:mm:ss±hh:mm` or the `YYYY-MM-DD` ISO-8601 formats. The date field modifier values are saved and retuned as timestamps. For values entered using the YYYY-MM-DD format, the store timezone is used when creating the timestamp. + - For date modifiers use either the `YYYY-MM-DDThh:mm:ss±hh:mm` or the `YYYY-MM-DD` ISO-8601 formats. The date field modifier values are saved and returned as timestamps. For values entered using the YYYY-MM-DD format, the store timezone is used when creating the timestamp. - For multi-line text field modifiers, use the `\n` characters for separating the lines. display_name: type: string @@ -4437,6 +4609,8 @@ components: - $ref: '#/components/schemas/order_Shared' - type: object properties: + consignments: + $ref: '#/components/schemas/orderConsignment_Put' products: type: array items: @@ -4462,5 +4636,696 @@ components: type: array items: $ref: '#/components/schemas/shippingAddress_Base' + consignments: + $ref: '#/components/schemas/orderConsignment_Post' - $ref: '#/components/schemas/order_Shared' x-internal: false + orderConsignment_Put: + title: '' + type: object + properties: + pickups: + type: array + items: + $ref: '#/components/schemas/pickupConsignment_Put' + x-examples: + example-1: + pickups: + - id: 99 + pickup_method_id: 1 + pickup_method_display_name: Pick Up + collection_instructions: Bring your ID + collection_time_description: 9am - 6pm + location: + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + line_items: + - name: Fog Linen Chambray Towel - Beige Stripe + name_customer: Fog Linen Chambray Towel - Beige Stripe + name_merchant: Towel Type 1 + quantity: 3 + price_ex_tax: 0 + price_inc_tax: 0 + sku: string + upc: string + id: 12 + pickupConsignment_Put: + allOf: + - type: object + properties: + id: + type: integer + example: 99 + description: ID of the pickup consignment to update. + pickup_method_id: + type: integer + example: 1 + description: ID of the pickup method. + required: + - id + - $ref: '#/components/schemas/pickupConsignment_Base' + - type: object + properties: + location: + $ref: '#/components/schemas/pickupConsignmentLocation_Put' + line_items: + type: array + items: + $ref: '#/components/schemas/orderProduct_Put' + x-examples: + example-1: + id: 99 + pickup_method_id: 1 + pickup_method_display_name: Pick Up + collection_instructions: Bring your ID + collection_time_description: 9am - 6pm + location: + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + line_items: + - name: Fog Linen Chambray Towel - Beige Stripe + name_customer: Fog Linen Chambray Towel - Beige Stripe + name_merchant: Towel Type 1 + quantity: 0 + price_ex_tax: 0 + price_inc_tax: 0 + sku: string + upc: string + id: 12 + pickupConsignment_Base: + title: '' + type: object + description: '' + properties: + pickup_method_display_name: + type: string + description: A name for the pickup method that can be displayed to shoppers. + maxLength: 250 + example: Pick Up + collection_instructions: + type: string + description: A message for shoppers explaining how to collect their pickup order. + example: Bring your ID. + collection_time_description: + type: string + description: A message for shoppers indicating the estimated time their pickup order will be ready for collection. + maxLength: 250 + example: 9am - 6pm + pickupConsignmentLocation_Put: + title: '' + description: '' + x-examples: + example-1: + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + allOf: + - $ref: '#/components/schemas/pickupConsignmentLocation_Base' + pickupConsignmentLocation_Base: + title: '' + type: object + description: '' + properties: + name: + type: string + description: The name of the pickup location. + example: Location 1 + maxLength: 255 + code: + type: string + description: The code of the pickup location. + example: LOCATION-1 + maxLength: 50 + address_line_1: + type: string + description: Street address (first line). + example: 123 Main Street + maxLength: 255 + address_line_2: + type: string + description: Street address (second line). + maxLength: 255 + example: Suite 101 + city: + type: string + maxLength: 255 + example: Austin + state: + type: string + example: Texas + maxLength: 255 + postal_code: + type: string + example: '78726' + maxLength: 50 + country_alpha2: + type: string + minLength: 2 + maxLength: 2 + example: US + description: 2-letter ISO Alpha-2 code for the country. + email: + type: string + description: Pickup location's email address. + maxLength: 255 + example: location1@example.com + phone: + type: string + description: Pickup location's phone number. + maxLength: 125 + example: +1 111-111-1111 + x-examples: {} + orderProduct_Put: + title: orderProduct_Put + anyOf: + - $ref: '#/components/schemas/orderCustomProduct_Put' + - $ref: '#/components/schemas/orderCatalogProduct_Put' + orderConsignment_Post: + title: '' + type: object + x-examples: + example-1: + pickups: + - pickup_method_id: 1 + pickup_method_display_name: Pick Up + collection_instructions: Bring your ID + collection_time_description: 9am - 6pm + location: + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + line_items: + - name: Fog Linen Chambray Towel - Beige Stripe + name_customer: Fog Linen Chambray Towel - Beige Stripe + name_merchant: Towel Type 1 + quantity: 0 + price_inc_tax: 0 + price_ex_tax: 0 + upc: string + sku: string + properties: + pickups: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/pickupConsignment_Post' + required: + - pickups + pickupConsignment_Post: + allOf: + - type: object + properties: + pickup_method_id: + type: integer + example: 1 + description: ID of the pickup method. + required: + - pickup_method_id + - $ref: '#/components/schemas/pickupConsignment_Base' + - type: object + properties: + location: + $ref: '#/components/schemas/pickupConsignmentLocation_Post' + line_items: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/orderProduct_Post' + required: + - line_items + x-examples: + example-1: + pickup_method_id: 1 + pickup_method_display_name: Pick Up + collection_instructions: Bring your ID + collection_time_description: 9am - 6pm + location: + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + line_items: + - name: Fog Linen Chambray Towel - Beige Stripe + name_customer: Fog Linen Chambray Towel - Beige Stripe + name_merchant: Towel Type 1 + quantity: 0 + price_inc_tax: 0 + price_ex_tax: 0 + upc: string + sku: string + pickupConsignmentLocation_Post: + title: '' + description: '' + x-examples: + example-1: + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + allOf: + - $ref: '#/components/schemas/pickupConsignmentLocation_Base' + orderProduct_Post: + title: orderProduct_Post + anyOf: + - $ref: '#/components/schemas/orderCustomProduct_Post' + - $ref: '#/components/schemas/orderCatalogProduct_Post' + orderConsignment_Get: + title: '' + type: object + x-examples: + order with pickup consignments: + pickups: + - id: 99 + pickup_method_id: 1 + pickup_method_display_name: Pick Up + collection_instructions: Bring your ID + collection_time_description: 9am - 6pm + location: + id: 1 + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + line_items: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + shipping: [] + downloads: [] + email: + gift_certificates: [] + order with shipping consignments: + pickups: [] + shipping: + - id: 99 + first_name: Jane + last_name: Doe + company: Laser Ltd + street_1: 123 Main Street + street_2: string + city: Austin + state: Texas + zip: '12345' + country: United States + country_iso2: US + phone: '0410999888' + email: janedoe@example.com + form_fields: + - name: License Id + value: 123BAF + shipping_method: Free Shipping + line_items: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + items_total: 1 + items_shipped: 0 + base_cost: 5.1 + cost_ex_tax: 5.1 + cost_inc_tax: 6.2 + cost_tax: 1.1 + cost_tax_class_id: 2 + base_handling_cost: 4.1 + handling_cost_ex_tax: 4.1 + handling_cost_inc_tax: 5.3 + handling_cost_tax: 1.2 + handling_cost_tax_class_id: 2 + shipping_zone_id: 1 + shipping_zone_name: United States + shipping_quotes: + url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/163/consignments/shipping/64/shipping_quotes' + resource: /orders/163/consignments/shipping/64/shipping_quotes + downloads: [] + email: + gift_certificates: [] + order with digital consignments: + pickups: [] + shipping: [] + downloads: + - recipient_email: recipient@email.com + line_items: + url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + email: + gift_certificates: [] + order with gift certificate consignments: + pickups: [] + shipping: [] + downloads: [] + email: + gift_certificates: + - recipient_email: recipient@email.com + line_items: + url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + properties: + pickups: + type: array + description: Pickup consignments. + items: + $ref: '#/components/schemas/pickupConsignment_Get' + shipping: + type: array + description: Shipping consignments. + items: + $ref: '#/components/schemas/shippingConsignment_Get' + downloads: + type: array + maxItems: 1 + description: Digital consignments for products that are downloaded. + items: + $ref: '#/components/schemas/digitalConsignment_Get' + email: + type: object + description: Email consignments for gift certificates. + properties: + gift_certificates: + type: array + items: + $ref: '#/components/schemas/giftCertificateConsignment_Get' + giftCertificateConsignment_Get: + type: object + x-examples: + example-1: + recipient_email: recipient@email.com + line_items: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + properties: + recipient_email: + type: string + example: recipient@email.com + description: The recipient email of the gift certificate. + line_items: + type: array + items: + $ref: '#/components/schemas/products_Resource' + pickupConsignment_Get: + allOf: + - type: object + properties: + id: + type: integer + example: 99 + description: The ID of the pickup consignment to update. + pickup_method_id: + type: integer + example: 1 + description: ID of the pickup method. + - $ref: '#/components/schemas/pickupConsignment_Base' + - type: object + properties: + location: + $ref: '#/components/schemas/pickupConsignmentLocation_Get' + line_items: + type: array + items: + $ref: '#/components/schemas/products_Resource' + x-examples: + example-1: + id: 99 + pickup_method_id: 1 + pickup_method_display_name: Pick Up + collection_instructions: Bring your ID + collection_time_description: 9am - 6pm + location: + id: 1 + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + line_items: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + pickupConsignmentLocation_Get: + title: '' + description: '' + x-examples: + example-1: + id: 1 + name: Location 1 + code: LOCATION-1 + address_line_1: 123 Main Street + address_line_2: Suite 101 + city: Austin + state: Texas + postal_code: '78726' + country_alpha2: US + email: location1@example.com + phone: +1 111-111-1111 + allOf: + - type: object + properties: + id: + type: integer + example: 1 + description: ID of the location. + - $ref: '#/components/schemas/pickupConsignmentLocation_Base' + shippingConsignment_Get: + allOf: + - type: object + properties: + id: + type: integer + example: 99 + description: ID of the shipping consignment. + - $ref: '#/components/schemas/shippingConsignment_Base' + - type: object + properties: + line_items: + type: array + items: + $ref: '#/components/schemas/products_Resource' + items_total: + type: number + example: 1 + description: The total number of items in the order. + items_shipped: + type: number + description: The number of items that have been shipped. + example: 0 + shipping_method: + type: string + description: Text identifying the BigCommerce shipping module selected by the customer. + example: Free Shipping + base_cost: + type: number + description: The base shipping cost value. + example: 5.1 + cost_ex_tax: + type: number + example: 5.1 + description: The shipping cost value excluding tax. + cost_inc_tax: + type: number + description: The shipping cost value including tax. + example: 6.2 + cost_tax: + type: number + description: The tax amount on the shipping cost. + example: 1.1 + cost_tax_class_id: + type: integer + description: The ID of the tax class applied to the shipping cost. Ignored if automatic tax is enabled. + example: 2 + base_handling_cost: + type: number + description: The base handling charge. + example: 4.1 + handling_cost_ex_tax: + type: number + description: 'The handling charge, excluding tax.' + example: 4.1 + handling_cost_inc_tax: + type: number + description: 'The handling charge, including tax.' + example: 5.3 + handling_cost_tax: + type: number + example: 1.2 + handling_cost_tax_class_id: + type: integer + description: The ID of the tax class applied to the handling charge. Ignored if automatic tax is enabled. + example: 2 + shipping_zone_id: + type: number + description: The numeric ID of the shipping zone. + example: 1 + shipping_zone_name: + type: string + description: The name of the shipping zone. + example: United States + shipping_quotes: + $ref: '#/components/schemas/shippingQuotesConsignment_Resource' + x-examples: + example-1: + id: 99 + first_name: Jane + last_name: Doe + company: Laser Ltd + street_1: 123 Main Street + street_2: string + city: Austin + state: Texas + zip: '12345' + country: United States + country_iso2: US + phone: '0410999888' + email: janedoe@example.com + form_fields: + - name: License Id + value: 123BAF + shipping_method: Free Shipping + line_items: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 + items_total: 1 + items_shipped: 0 + base_cost: 5.1 + cost_ex_tax: 5.1 + cost_inc_tax: 6.2 + cost_tax: 1.1 + cost_tax_class_id: 2 + base_handling_cost: 4.1 + handling_cost_ex_tax: 4.1 + handling_cost_inc_tax: 5.3 + handling_cost_tax: 1.2 + handling_cost_tax_class_id: 2 + shipping_zone_id: 1 + shipping_zone_name: United States + shipping_quotes: + url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/163/consignments/shipping/64/shipping_quotes' + resource: /orders/163/consignments/shipping/64/shipping_quotes + shippingConsignment_Base: + title: shippingConsignment_Base + type: object + properties: + first_name: + type: string + example: Jane + last_name: + type: string + example: Doe + company: + type: string + example: Laser Ltd + street_1: + type: string + example: 123 Main Street + description: Street address (first line). + street_2: + type: string + description: Street address (second line). + city: + type: string + example: Austin + zip: + type: string + example: '12345' + description: 'Zip or postal code, as a string.' + country: + type: string + example: United States + country_iso2: + type: string + example: US + description: 2-letter ISO Alpha-2 code for the country. + state: + type: string + example: Texas + email: + type: string + example: janedoe@example.com + description: Recipient’s email address. + phone: + type: string + description: Recipient’s telephone number. + example: '0410999888' + form_fields: + type: array + items: + $ref: '#/components/schemas/formFields' + shippingQuotesConsignment_Resource: + type: object + title: '' + properties: + url: + type: string + description: URL where you can use a GET request to get the shipping quotes for the order consignment. + example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/163/consignments/shipping/64/shipping_quotes' + readOnly: true + resource: + type: string + description: Path where you can use a GET request to get the shipping quotes for the order consignment. + example: /orders/163/consignments/shipping/64/shipping_quotes + readOnly: true + readOnly: true + digitalConsignment_Get: + type: object + properties: + recipient_email: + type: string + example: recipient@email.com + description: The recipient email of the digital consignment. + line_items: + type: array + items: + $ref: '#/components/schemas/products_Resource' + x-examples: + example-1: + recipient_email: recipient@email.com + line_items: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/products/12' + resource: /orders/129/products/12 From d1d27ded56b8c549803e60d8cfcf479676adf449 Mon Sep 17 00:00:00 2001 From: Valentin Dellangela <43359039+valentindellangela@users.noreply.github.com> Date: Tue, 21 Mar 2023 06:04:19 +1100 Subject: [PATCH 108/360] fix(checkout): CHECKOUT-7328 Update discounted_amount description (#1186) Co-authored-by: Traci Porter Co-authored-by: Mark Murphy --- reference/carts.sf.yml | 2 +- reference/carts.v3.yml | 2 +- reference/checkouts.sf.yml | 2 +- reference/checkouts.v3.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index 5ddb7bcea..e646ac5cb 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -396,7 +396,7 @@ components: description: 'Cost of cart’s contents, before applying discounts.' discountAmount: type: number - description: Discounted amount. + description: Order based discounted amount only - Coupon discounts and product based discounts are excluded. format: float cartAmount: type: number diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 27152a0ae..4b611a6ef 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -1324,7 +1324,7 @@ components: description: 'Sum of cart line-item amounts before cart-level discounts, coupons, or taxes.' discount_amount: type: number - description: Discounted amount. + description: Order-based discounted amount only - Excludes coupon discounts and product-based discounts. cart_amount: type: number description: Sum of cart line-item amounts minus cart-level discounts and coupons. This amount includes taxes (where applicable). diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index d5bfbcfcc..e10feecc3 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -2725,7 +2725,7 @@ components: format: double discountAmount: type: number - description: Discounted amount. + description: Order-based discounted amount only - Excludes coupon discounts and product-based discounts. format: double cartAmount: type: number diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 1288eaaf4..9b9abd3f7 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -7846,7 +7846,7 @@ components: description: ID of channel discount_amount: type: number - description: Discounted amount. + description: Order-based discounted amount only - Excludes coupon discounts and product-based discounts. format: double example: 0.5 cart_amount_inc_tax: From cbb7b828caee3352f2a71064f901083160bb0fdf Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 21 Mar 2023 15:08:13 -0500 Subject: [PATCH 109/360] DEVDOCS-4633: [revise] Storefront Customers, update schema (#1125) * DEVDOCS-4633 * DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101) Co-authored-by: Tina Gomez Co-authored-by: Sarah Riehl --------- Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Tina Gomez Co-authored-by: Sarah Riehl --- reference/catalog.v3.yml | 19 +++++++++++++++++-- reference/customers.sf.yml | 13 +++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 35541a8a5..db67cc99f 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -10270,7 +10270,6 @@ paths: meta: title: Meta type: object - properties: {} description: Empty meta object; may be used later. example: data: @@ -14527,7 +14526,23 @@ paths: data: $ref: '#/components/schemas/metafield_Full' meta: - $ref: '#/components/schemas/metaEmpty_Full' + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} examples: example-1: value: diff --git a/reference/customers.sf.yml b/reference/customers.sf.yml index 120f095d1..f27d2ec65 100644 --- a/reference/customers.sf.yml +++ b/reference/customers.sf.yml @@ -86,9 +86,18 @@ components: CustomFields: title: CustomFields type: object + x-internal: false properties: fieldId: type: string fieldValue: - type: string - x-internal: false + oneOf: + - type: string + - type: number + - type: array + items: + type: string +x-stoplight: + docs: + includeDownloadLink: false + showModels: false From d0ec896054a41e56f22c73425d8f11d8be11ed83 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 21 Mar 2023 15:51:26 -0500 Subject: [PATCH 110/360] DEVDOCS-4800: [update] OrdersV2, update custom form fields for billing and shipping (#1215) * docs(orders): DEVDOCS-4800 allow updating billing address & shipping address custom form fields in Orders v2 API (#1177) * Change example names and moved reference out of GET * Update reference/orders.v2.oas2.yml Incorporate peer review feedback * Fix merge conflicts * Remove orderShippingAddress_Resp examples * Fix problems with grammar in doc * Update form fields schema example * Rebase with BOPIS, Checkout, and OrdersV2 * DEVDOCS-4651: [new] SF Checkout, Checkout V3, & Orders V2 endpoints, incorporate BOPIS (#1209) * links for abandoned carts * changed Abandoned Cart Emails * changed carts V3 and catalog V3 * changed Channels * changed checkouts * changed currencies * changed custom template associations * changed customers * changed customers V3 * changed email templates * changed geography * changed marketing * changed orders v2 * changed orders v3 * changed pages v3 * changed payment methods * changed payment processing * changed price lists * changed redirects * changed scripts * changed settings and shipping * changed shipping V3 * changed sites * changed store content * changed store information * changed store logs * changed subscribers * changed tax classes * changed tax properties * changed tax settings * changes tax connection * changed themes * edited themes * changed webhooks * changed widgets * changed wishlists * changed carts SF * changed checkouts SF * changed consent SF * changed customers SF * changed form fields SF * changed orders SF * changed pricing * changed subscriptions SF * changed Tax Provider API * changed Shipping Provider API, fixed Tax Provider API * changed Current Customer * changed Customer Login * DEVDOCS-4568: [update] Remove negative numbers (#1043) * DEVDOCS-4568: [revise open PR] Align dst_offset (#1054) * scripts, verify name of checkout content scope, ancillary * debug store_content * debug currencies * checkouts, remove duplicate key * put openapi versions in quotes * wishlists add to info field * tax settings, update name of api key * all, add description of API gateway * tax provider, remove quotes * update tax_properties API Key name * DEVDOCS-4605: [update] Payments, add bigpay_token 2 (#1066) * reorder security section * ace, param sh-a-ct * ac, param sh-a-ct * ac rearrange * ac typos * carts v3 tos, contact * cv3, param sh-a-ct * catalog tos, contact * chv3, rearrange * DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101) * style * add path variables * terms of service, file order * terms of service * remove request runner * remove duplicate auth section * storefront tokens move auth section * remove request runner * add v2 and v3 to rates * add paths * remove store_hash path parameter from all endpoints. * cleaned up some store_hash and x-stoplight artifacts * empty parameters type error after store_hash deletes * remove ''s and ''t syntax errors * add description to store hash * add description to storefront url store domain * add description to app api app_domain * move orders file front matter to front * price lists -- add header parameters, fix typos * wishlists & widgets, parameter cleanup * tax settings, reorganize, add header parameters * themes parameters * tax properties spacing and schemas * tax classes, quote endpoints, parameters * subscribers, parameters, spaces * storefront tokens, add header parameters * sites, add header parameters * store content, add header parameters * tax provider connection, add header parameters * shipping v2, add header parameters * scripts, add header parameters * redirects, add header parameters * payment methods, add header parameters * orders v3, add info, header parameters * marketing, add info, header parameters * customers, add info, header parameters * channels, add header parameters * payment processing, add header parameters, revise security schemes * orders v2. SHE LINTS. * catalog, add header parameters, debug * (no ticket): [tools] MDX linter, create + add github action (#1150) * tax provider, change oas 3.1 --> 3.0.3, lint null object * tax rates & zone, oas 3.1 --> 3.0.3, remove oas 3.1 feature * convert .md to .mdx * channels, update image paths * DEVDOCS-4719: [migrate] Settings, Customer Login, revise linter * DEVDOCS-4719: [migrate] Stoplight links (#1156) * DEVDOCS-4719: [migrate] remove x-stoplight (#1157) * correct current customer path * update current_customer per Slack * shipping version quotes * updated meta object in Carts V3 * meta updates in carts.v3 file * DEVDOCS-4719: [migrate] Shipping V3, remove truly redundant examples (#1162) * DEVDOCS-4719: [migrate] Many, give meta objects properties (#1158) * DEVDOCS-4719: [migrate] Handle callouts (#1164) * DEVDOCS-4719: [migrate] Many, add array items (#1160) * DEVDOCS-4719: [migrate] Many, add object properties (#1161) * DEVDOCS-4719: [migrate] response bodies (#1165) * (no ticket): [migrate] Many, resolve errors * (no ticket): [migrate] Carts SF, re-lint * (no ticket): [revise] Customers SF, Standardize create a customer summary (#1176) * DEVDOCS-4719: [migrate] Catalog V3, fix request body not rendering (#1163) * DEVDOCS-4719: [migrate] Catalog V3, rendering issues (#1166) * DEVDOCS-4719: [migrate] Many, update additionalProperties (#1174) * (no ticket): [remove] Catalog V3, generic catalog tag (#1180) See also PR #1175 * apostrophes * DEVDOCS-4719: [migrate] Email Templates and Custom Template Associations, migrate syntax (#1181) * DEVDOCS-4719: [migrate] Email templates, unify (#1188) * remove ambiguous hyphen * DEVDOCS-4719: [migrate] Webhook schemas (#1189) * Change 'description' to 'properties' within store_cart_created.yml (#1191) * DEVDOCS-4719: [migrate] Price Lists V3 API, remove content type header from GET (#1187) * DEVDOCS-4719 [migrate] Orders, summary/table cleanup (#1185) * DEVDOCS-4719: [migrate] Tax V3 API, rendering (#1183) * DEVDOCS-4719: [migrate] Tax Provider API, request example rendering (#1195) * DEVDOCS-4719: [migrate] Shipping provider API, move example (#1194) * move response example for Request Rates * change example names * DEVDOCS-4719: [migrate] Tax APIs (#1196) * DEVDOCS-4719: [migrate] Shipping APIs, move example (#1197) * DEVDOCS-4719: [migrate] Carts SF & V3, rendering-based changes (#1199) * change auth docs links (#1202) * Migrate links #1 (#1204) * available-apis, storefront-graphql * storefront carts * carts v3 * catalog * channels * sf checkouts * sf carts, change links to sf from v3 * checkouts v3 * sf consent * currencies * wishlists * widgets * webhooks * tax provider * customers v2 * shipping v2 * customers v3 * orders v2 * payment processing * add tags to email templates and custom template associations (#1206) * Migrate links #2 (#1207) * incorporate BOPIS changes, SF checkouts * incorporate BOPIS changes, checkouts V3 * incorporate BOPIS changes, orders V2 * incorporate BOPIS changes * manual resolution commits * fix incorrect casing for pickup method id field * copyedit description * fix(checkout): CHECKOUT-7328 Update discounted_amount description (#1186) * docs(orders): DEVDOCS-4800 allow updating billing address & shipping address custom form fields in Orders v2 API Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl Co-authored-by: Tina Gomez Co-authored-by: Matthew Volk Co-authored-by: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Co-authored-by: Nate Stewart Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Valentin Dellangela <43359039+valentindellangela@users.noreply.github.com> Co-authored-by: Donald Nguyen * Remove duplicate consignment from Order_Put --- reference/orders.v2.oas2.yml | 212 +++++++++++++++++++++++------------ 1 file changed, 142 insertions(+), 70 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index b09823d6e..99b6a1515 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -4,30 +4,30 @@ info: title: Orders V2 description: |- Manage order coupons, messages, products, shipping addresses, statuses, taxes, shipments, and shipping address quotes. - + ## Order - + The Order object contains a record of the purchase agreement between a shopper and a merchant. To learn more about creating orders, see [Orders API Guide](/api-docs/orders/orders-api-overview). - + ### Currency Fields - + The **default** currency refers to the transactional currency which is the currency the shopper pays in. - + The **display** currency refers to the presentational currency used to present prices to the shopper on the storefront. - + * `currency_id` - the display currency ID. Depending on the currency selected, the value may be different from the transactional currency. * `currency_code` - the currency code of the display currency used to present prices to the shopper on the storefront. Depending on the currency selected, the value may be different from the transactional currency. * `currency_exchange_rate` - the exchange rate between the store’s default currency and the display currency. For orders created using the V2 endpoints, this value is always 1 (only in the storefront this value can be different to 1). * `default_currency_id` - the transactional currency ID. * `default_currency_code` - the currency code of the transactional currency the shopper pays in. - + The following additional fields are returned on orders when Multi-Currency is enabled on the store: - + * `store_default_currency_code` - the currency code of the store’s default currency. * `store_default_to_transactional_exchange_rate` - the exchange rate between the store’s default currency and the transactional currency used in the order. - + **Example:** - + ```json { ... @@ -88,13 +88,13 @@ paths: put: description: |- Updates an *Order*. - + To add a product to an existing order, don't include `id` in the body. Include `product_options` if adding a product with variants. - + To update a product in an order, include `id` in the body. The body should only contain the fields that need to be updated. Those fields that are omitted will not be changed. - + To remove a product from an order, set that product’s `quantity` to `0`. - + To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview). summary: Update an Order tags: @@ -208,9 +208,9 @@ paths: get: description: |- Gets a list of orders using the filter query. - + **Notes** - + The default sort is by order id, from lowest to highest. tags: - Orders @@ -417,7 +417,7 @@ paths: get: description: |- Lists all order coupons. Optional parameters can be passed in. - + |Type `int`|Type Name| |-|-| |`0`|`per_item_discount`| @@ -459,7 +459,7 @@ paths: get: description: |- Get all shipping addresses on an order using the `order_id`. - + Returned in the response is shipping_quotes object. Please use the Get Shipping Quotes Endpoint. Using the response will return a 204 for the shipping quote. summary: Get Order Shipping Addresses parameters: @@ -477,7 +477,7 @@ paths: get: description: |- Returns a Collection of All Order Statuses. - + **Order Status Descriptions:** |Status ID | Name | Description | |--|--|--| @@ -510,7 +510,7 @@ paths: get: description: |- Returns a single order status. - + **Order Status Descriptions** |Status ID | Name | Description | |:--|:--|:--| @@ -546,7 +546,7 @@ paths: Each tax applied to an order. This information can be useful for reporting purposes. Pass in the query parameter `?details=true` to return extra details about order taxes. `order_product_id` and `line_item_type` are also returned. - + All values are read-only. summary: Get All Order Taxes parameters: @@ -583,17 +583,17 @@ paths: post: description: | Creates an *Order Shipment*. For more details, see [Shipping an Order](/api-docs/orders/orders-api-overview#creating-order-shipments). - + **Required Fields** * order_address_id * items - + **Usage notes** - - Presuming that a valid carrier code is used, a tracking link is generated if either `shipping_provider` or `tracking_carrier` is supplied alongside a tracking number. Providing only the tracking number will result in an unclickable text in the customer facing email. - + + Presuming that a valid carrier code is used, a tracking link is generated if either `shipping_provider` or `tracking_carrier` is supplied alongside a tracking number. Providing only the tracking number will result in non-clickable text in the customer facing email. + Acceptable values for `shipping_provider` include an empty string (`""`), auspost, canadapost, endicia, usps, fedex, royalmail, ups, upsready, upsonline, or shipperhq. - + Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). summary: Create Order Shipment parameters: @@ -736,7 +736,7 @@ paths: summary: Get a Shipping Address description: |- Gets a shipping address associated with an order. - + Returned in the response is shipping_quotes object. Please use the Get Shipping Quotes Endpoint. Using the response will return a 204 for the shipping quote. tags: - Order Shipping Addresses @@ -829,7 +829,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/shippingAddress_Base' + $ref: '#/components/schemas/shippingAddress_Put' examples: application/json: value: @@ -847,7 +847,7 @@ paths: phone: '468444123' description: |- Update a shipping address associated with an order. - + **Note**: Updating a shipping address will NOT trigger the recalculation of shipping cost and tax tags: - Order Shipping Addresses @@ -863,7 +863,7 @@ paths: summary: Get Order Shipping Quotes description: |- Gets all shipping quotes persisted on an order. - + This is a read-only endpoint and the output can vary based on the shipping quote. A shipping quote can only be generated using the storefront at this time. Orders that are created in the control panel or using the API return a 204 for this endpoint since a shipping quote is not generated during that process. tags: - Order Shipping Addresses Quotes @@ -1083,9 +1083,9 @@ components: in: query description: |- Minimum date the order was created in RFC-2822 or ISO-8601. - + RFC-2822: `Thu, 20 Apr 2017 11:32:00 -0400` - + ISO-8601: `2017-04-20T11:32:00.000-04:00` schema: type: string @@ -1094,9 +1094,9 @@ components: in: query description: |- Maximum date the order was created in RFC-2822 or ISO-8601. - + RFC-2822: `Thu, 20 Apr 2017 11:32:00 -0400` - + ISO-8601: `2017-04-20T11:32:00.000-04:00` schema: type: string @@ -1105,9 +1105,9 @@ components: in: query description: |- Minimum date the order was modified in RFC-2822 or ISO-8601. - + RFC-2822: `Thu, 20 Apr 2017 11:32:00 -0400` - + ISO-8601: `2017-04-20T11:32:00.000-04:00` schema: type: string @@ -1116,9 +1116,9 @@ components: in: query description: |- Maximum date the order was modified in RFC-2822 or ISO-8601. - + RFC-2822: `Thu, 20 Apr 2017 11:32:00 -0400` - + ISO-8601: `2017-04-20T11:32:00.000-04:00` schema: type: string @@ -1429,7 +1429,7 @@ components: customer_locale: en external_order_id: external-order-id ordersCount_Resp: - description: Order Country response collection. + description: Order Counter response collection. content: application/json: schema: @@ -2849,11 +2849,11 @@ components: type: number description: The number of shipping addresses associated with this transaction. A read-only value. Do not pass in a POST or PUT request. is_deleted: - description: Boolean value that indicates whether the order was deleted (archived). Set to to true, to archive an order.' + description: 'Boolean value indicates whether the order was deleted (archived). Set to to true to archive an order.' example: false type: boolean is_email_opt_in: - description: Boolean value that indicates whether the shopper has selected an opt-in check box (on the checkout page) to receive emails. A read-only value. Do not pass in a POST or PUT request. + description: Boolean value indicates whether the shopper has selected an opt-in check box (on the checkout page) to receive emails. A read-only value. Do not pass in a POST or PUT request. example: false type: boolean credit_card_type: @@ -2971,9 +2971,9 @@ components: type: string description: | BasicTaxProvider - Tax is set to manual and order is created in the store. - + AvaTaxProvider - Tax is set to automatic and order is created in the store. Used for Avalara. - + "" (empty string) - The order is created with the API, or the tax provider is unknown. 404_Resp: description: Not Found @@ -3003,7 +3003,7 @@ components: |:--------|:-----------|:----------| | Orders | modify | `store_v2_orders` | | Orders | read-only | `store_v2_orders_read_only` | - + ### Authentication header | Header | Argument | Description | @@ -3150,10 +3150,10 @@ components: price_tax: description: |- Amount of tax applied to a single product. - + Price tax is calculated as: `price_tax = price_inc_tax - price_ex_tax` - + (Float, Float-As-String, Integer) example: '0.0000' type: string @@ -3173,8 +3173,8 @@ components: description: |- Total tax applied to products. For example, if quantity if 2, base price is 5 and tax rate is 10%. price_tax will be $.50 and total_tax will be $1.00. - - If there is a manual discount applied total_tax is calcuted as the following: + + If there is a manual discount applied total_tax is calculated as the following: `(price_ex_tax - discount)*tax_rate=total_tax`. (Float, Float-As-String, Integer) example: '0.5200' @@ -3722,20 +3722,66 @@ components: formFields: title: formFields type: object - readOnly: true - description: Read-Only. + x-internal: false properties: name: - description: Read-Only. - readOnly: true type: string example: License ID + description: The form field name. value: - description: Read-Only. - readOnly: true - type: string + description: The form field value. + type: + - number + - string + - array example: 123BAF - x-internal: false + items: + type: string + x-examples: + Example 1: + name: License ID + value: 123BAF + Example 2: + name: Borrowing Amount + value: 12.2 + Example 3: + name: Acceptable Sizes + value: + - Small + - Medium + Capture Custom Billing Address Form Fields: + data: + billing_address: + form_fields: + - name: picklist1 + value: picklist-value-2 + - name: textfield1 + value: text2 + - name: radiobutton1 + value: radio-value-2 + - name: checkbox1 + value: checkbox-value-2 + - name: multilinetextfield + value: line1\line2 + - name: numberonlyfield + value: 123.2 + - name: passwordfield1 + value: password2 + Capture Custom Shipping Address Form Fields: + data: + shipping_address: + id: 23 + form_fields: + - name: picklist1 + value: picklist-value-3 + Capture Custom Consignment Shipping Form Fields: + data: + consignments: + Shipping: + id: 23 + form_fields: + - name: picklist1 + value: picklist-value-2 orderMessages: type: array items: @@ -4049,7 +4095,7 @@ components: type: string description: |- IPv4 Address of the customer, if known. - + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address` value will reset the `ip_address_v6` value and vice versa. example: 12.345.678.910 maxLength: 30 @@ -4057,7 +4103,7 @@ components: type: string description: |- IPv6 Address of the customer, if known. - + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address_v6` value will reset the `ip_address` value and vice versa. example: '2001:db8:3333:4444:5555:6666:7777:8888' maxLength: 39 @@ -4122,9 +4168,9 @@ components: tax_provider_id: description: | BasicTaxProvider - Tax is set to manual and order is created in the store. - + AvaTaxProvider - Tax is set to automatic and order is created in the store. Used for Avalara. - + "" (empty string) - The order is created with the API, or the tax provider is unknown. enum: - BasicTaxProvider @@ -4386,10 +4432,10 @@ components: title: orderCustomProduct_Put description: | **Usage notes:** - + To `add` a custom product to an existing order, don't include `id` in the payload. You must provide a non-empty value for at least one of these fields: `name`, `name_customer`, or `name_merchant`. To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. You cannot change omitted fields. - + Note the following constraints and default field values: - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. - `name` and `name_customer` always hold the same value; updating either `name` or `name_customer` will change the value for both of those fields. @@ -4435,10 +4481,10 @@ components: title: orderCatalogProduct_Put description: | **Usage notes** - + To `add` a product to an existing order, don't include `id` in the payload. When adding a product with variants, `product_options` are required. To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. The fields that you omit will not be changed. - + Note the following constraints and default field values: - `xxx` and `xxx_customer` always hold the same value. Updating either `xxx` or `xxx_customer` will change the value of both fields. - If both fields `xxx` and `xxx_customer` are present, they must have same value. @@ -4496,7 +4542,7 @@ components: Depending on the option type, value can be one of the following: - The variant option value id or the modifier value id for modifier types with a list of defined values, such as drop down or checkbox modifiers. - The modifier value for modifier types without a list of defined values, such as text field or date field modifiers. - + Notes: - The API does not currently support the following option types: - File upload @@ -4568,7 +4614,7 @@ components: - `name` - `name_customer` - `name_merchant` - + Note the following constraints and default field values: - Null and `''` empty strings are invalid for `name`, `name_customer`, and `name_merchant`. - `name` and `name_customer` always share the same value; updating one updates the other. @@ -4604,13 +4650,17 @@ components: - price_ex_tax x-internal: false order_Put: - title: order_Put allOf: - $ref: '#/components/schemas/order_Shared' - type: object properties: + billing_address: + $ref: '#/components/schemas/billingAddress_Put' consignments: $ref: '#/components/schemas/orderConsignment_Put' + payment_method: + type: string + description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `Cash`,`Test Payment Gateway`, etc.' products: type: array items: @@ -4618,8 +4668,12 @@ components: - $ref: '#/components/schemas/orderCatalogProduct_Put' - $ref: '#/components/schemas/orderCustomProduct_Put' shipping_addresses: - $ref: '#/components/schemas/shippingAddress_Base' - x-internal: false + allOf: + - type: object + properties: + id: + type: integer + - $ref: '#/components/schemas/shippingAddress_Put' order_Post: title: order_Post description: Products and Billing address only required for POST operation. @@ -4640,6 +4694,24 @@ components: $ref: '#/components/schemas/orderConsignment_Post' - $ref: '#/components/schemas/order_Shared' x-internal: false + shippingAddress_Put: + allOf: + - $ref: '#/components/schemas/shippingAddress_Base' + - type: object + properties: + form_fields: + type: array + items: + $ref: '#/components/schemas/formFields' + billingAddress_Put: + allOf: + - $ref: '#/components/schemas/billingAddress_Base' + - type: object + properties: + form_fields: + type: array + items: + $ref: '#/components/schemas/formFields' orderConsignment_Put: title: '' type: object From a8c26df29019c71ad0c8ecde7f19a666cadc8d1e Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 21 Mar 2023 16:00:29 -0500 Subject: [PATCH 111/360] DEVDOCS-4702: [remove] OrdersV3, Remove batch endpoints for Refund Quotes and Refunds (#1216) Remove Batch endpoints for Refund Quotes and Refunds --- reference/orders.v3.yml | 262 ---------------------------------------- 1 file changed, 262 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 75db03448..d790e4fb9 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -370,121 +370,6 @@ paths: $ref: '#/components/responses/RefundID_Response' tags: - Payment Actions - '/orders/payment_actions/refund_quotes': - parameters: - - $ref: '#/components/parameters/Accept' - post: - summary: Create Refund Quotes - BATCH - description: |- - Calculate the tax amount, total refund amount and get availble payment options for an order refund by providing items and costs or quantities to refund. - - This endpoint will accept a batch of one or more. - - Requires at least one of the following scopes: - * `store_v2_orders` - * `store_v2_transactions` - operationId: postrefundquotes - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PostRefundQuotesRequest' - required: true - x-examples: - application/json: - - items: - - item_id: 76 - item_type: PRODUCT - quantity: 1 - tax_adjustment_amount: 0 - responses: - '201': - $ref: '#/components/responses/RefundQuotesBATCH_Resp' - '422': - description: Partial success/failure response. Status to roll up to the most severe individual failure to the whole request. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/RefundQuote_Full' - errors: - type: array - items: - $ref: '#/components/schemas/FailedQuoteError' - meta: - $ref: '#/components/schemas/Meta' - Example 1: - examples: - response: - value: |- - { - "data": [ - { - "order_id": 1, - "total_refund_amount": 1.99, - "total_refund_tax_amount": 1.95, - "rounding": 1, - "adjustment": 0.05, - "tax_inclusive": true, - "refund_methods": [ - "" - ] - } - ], - "errors": [ - { - "order_id": 1, - "status": 422, - "error": "Refund amount is greater than remaining amount" - } - ], - "meta": { - "failure": 1, - "success": 1, - "total": 2 - } - } - '503': - description: Every request in the batch failed. The error object describes the failure for each component request. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/RefundQuote_Full' - errors: - type: array - items: - $ref: '#/components/schemas/FailedQuoteError' - meta: - $ref: '#/components/schemas/Meta' - examples: - response: - value: - data: [] - errors: - - order_id: 1 - status: 503 - error: Tax service could not be contacted - - order_id: 100 - status: 422 - error: Refund amount exceeds remaining amount - meta: - failure: 2 - success: 0 - total: 2 - tags: - - Payment Actions - x-private: true '/orders/payment_actions/refunds': parameters: - $ref: '#/components/parameters/Accept' @@ -557,153 +442,6 @@ paths: $ref: '#/components/responses/RefundCollection_Resp' tags: - Payment Actions - post: - summary: Create Refunds - BATCH - description: |- - Creates a refund. - - This endpoint will accept a batch of one or more. - - Requires at least one of the following scopes: - * `store_v2_orders` - * `store_v2_transactions` - operationId: postrefunds - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PostRefundsRequest' - examples: {} - required: true - x-examples: - application/json: - - items: - - item_id: 76 - item_type: PRODUCT - quantity: 1 - tax_adjustment_amount: 0 - payments: - - provider_id: testgateway - amount: 220.5 - offline: false - - provider_id: storecredit - amount: 2.25 - offline: true - responses: - '201': - $ref: '#/components/responses/refundsBATCH_Resp' - '422': - description: Partial success/failure response. HTTP status for the entire response to roll up to the most severe individual failure to the whole request. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Refund' - errors: - type: array - items: - $ref: '#/components/schemas/FailedQuoteError' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - Example 1: - examples: - response: - value: |- - { - "data": [ - { - "id": 1, - "order_id": 100, - "user_id": 1, - "created": "", - "reason": "", - "total_amount": 0.05, - "total_tax": 1, - "items": [ - { - "item_type": "ORDER", - "item_id": 1, - "reason": "", - "quantity": 1, - "requested_amount": 0.05 - } - ], - "payments": [ - { - "id": 1, - "provider_id": "checkout_paypalexpress", - "amount": 0.05, - "offline": true, - "is_declined": true, - "declined_message": "" - } - ] - } - ], - errors: [ - { - "order_id": 1, - "status": 422, - "error": "Refund amount was negative" - } - ], - "meta": { - "failure": 1, - "success": 1, - "total": 2 - } - } - '503': - description: Every request in the batch failed. The error object describes the failure for each component request. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Refund' - errors: - type: array - items: - $ref: '#/components/schemas/FailedQuoteError' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - Example 1: - examples: - response: - value: |- - { - "data": [ - ], - "errors": [ - { - "order_id": 1, - "status": 422, - "error": "Refund amount was negative" - }, - { - "order_id": 100, - "status": 503, - "error": "Tax service could not be contacted" - } - ], - "meta": { - "failure": 2, - "success": 0, - "total": 2 - } - } - tags: - - Payment Actions - x-private: true '/orders/{order_id}/metafields': parameters: - $ref: '#/components/parameters/Accept' From 2914685ed22ab6c43d87975e904fe6bbeaab6aea Mon Sep 17 00:00:00 2001 From: Valentin Dellangela <43359039+valentindellangela@users.noreply.github.com> Date: Thu, 23 Mar 2023 00:40:07 +1100 Subject: [PATCH 112/360] feat(checkout): CHECKOUT-7264 Update our Dev Docs with the new Line Items Overrides (#1140) * feat(checkout): CHECKOUT-7264 Update our Dev Docs with the new Line Items Overrides * Update reference/carts.v3.yml Co-authored-by: Traci Porter * Update reference/carts.v3.yml Co-authored-by: Traci Porter * Update reference/carts.v3.yml Co-authored-by: Traci Porter * Update reference/carts.v3.yml Co-authored-by: Traci Porter * fix(checkout): CHECKOUT-7328 Update discounted_amount description (#1186) Co-authored-by: Traci Porter Co-authored-by: Mark Murphy * DEVDOCS-4633: [revise] Storefront Customers, update schema (#1125) * DEVDOCS-4633 * DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101) Co-authored-by: Tina Gomez Co-authored-by: Sarah Riehl --------- Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Tina Gomez Co-authored-by: Sarah Riehl * DEVDOCS-4800: [update] OrdersV2, update custom form fields for billing and shipping (#1215) * docs(orders): DEVDOCS-4800 allow updating billing address & shipping address custom form fields in Orders v2 API (#1177) * Change example names and moved reference out of GET * Update reference/orders.v2.oas2.yml Incorporate peer review feedback * Fix merge conflicts * Remove orderShippingAddress_Resp examples * Fix problems with grammar in doc * Update form fields schema example * Rebase with BOPIS, Checkout, and OrdersV2 * DEVDOCS-4651: [new] SF Checkout, Checkout V3, & Orders V2 endpoints, incorporate BOPIS (#1209) * links for abandoned carts * changed Abandoned Cart Emails * changed carts V3 and catalog V3 * changed Channels * changed checkouts * changed currencies * changed custom template associations * changed customers * changed customers V3 * changed email templates * changed geography * changed marketing * changed orders v2 * changed orders v3 * changed pages v3 * changed payment methods * changed payment processing * changed price lists * changed redirects * changed scripts * changed settings and shipping * changed shipping V3 * changed sites * changed store content * changed store information * changed store logs * changed subscribers * changed tax classes * changed tax properties * changed tax settings * changes tax connection * changed themes * edited themes * changed webhooks * changed widgets * changed wishlists * changed carts SF * changed checkouts SF * changed consent SF * changed customers SF * changed form fields SF * changed orders SF * changed pricing * changed subscriptions SF * changed Tax Provider API * changed Shipping Provider API, fixed Tax Provider API * changed Current Customer * changed Customer Login * DEVDOCS-4568: [update] Remove negative numbers (#1043) * DEVDOCS-4568: [revise open PR] Align dst_offset (#1054) * scripts, verify name of checkout content scope, ancillary * debug store_content * debug currencies * checkouts, remove duplicate key * put openapi versions in quotes * wishlists add to info field * tax settings, update name of api key * all, add description of API gateway * tax provider, remove quotes * update tax_properties API Key name * DEVDOCS-4605: [update] Payments, add bigpay_token 2 (#1066) * reorder security section * ace, param sh-a-ct * ac, param sh-a-ct * ac rearrange * ac typos * carts v3 tos, contact * cv3, param sh-a-ct * catalog tos, contact * chv3, rearrange * DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101) * style * add path variables * terms of service, file order * terms of service * remove request runner * remove duplicate auth section * storefront tokens move auth section * remove request runner * add v2 and v3 to rates * add paths * remove store_hash path parameter from all endpoints. * cleaned up some store_hash and x-stoplight artifacts * empty parameters type error after store_hash deletes * remove ''s and ''t syntax errors * add description to store hash * add description to storefront url store domain * add description to app api app_domain * move orders file front matter to front * price lists -- add header parameters, fix typos * wishlists & widgets, parameter cleanup * tax settings, reorganize, add header parameters * themes parameters * tax properties spacing and schemas * tax classes, quote endpoints, parameters * subscribers, parameters, spaces * storefront tokens, add header parameters * sites, add header parameters * store content, add header parameters * tax provider connection, add header parameters * shipping v2, add header parameters * scripts, add header parameters * redirects, add header parameters * payment methods, add header parameters * orders v3, add info, header parameters * marketing, add info, header parameters * customers, add info, header parameters * channels, add header parameters * payment processing, add header parameters, revise security schemes * orders v2. SHE LINTS. * catalog, add header parameters, debug * (no ticket): [tools] MDX linter, create + add github action (#1150) * tax provider, change oas 3.1 --> 3.0.3, lint null object * tax rates & zone, oas 3.1 --> 3.0.3, remove oas 3.1 feature * convert .md to .mdx * channels, update image paths * DEVDOCS-4719: [migrate] Settings, Customer Login, revise linter * DEVDOCS-4719: [migrate] Stoplight links (#1156) * DEVDOCS-4719: [migrate] remove x-stoplight (#1157) * correct current customer path * update current_customer per Slack * shipping version quotes * updated meta object in Carts V3 * meta updates in carts.v3 file * DEVDOCS-4719: [migrate] Shipping V3, remove truly redundant examples (#1162) * DEVDOCS-4719: [migrate] Many, give meta objects properties (#1158) * DEVDOCS-4719: [migrate] Handle callouts (#1164) * DEVDOCS-4719: [migrate] Many, add array items (#1160) * DEVDOCS-4719: [migrate] Many, add object properties (#1161) * DEVDOCS-4719: [migrate] response bodies (#1165) * (no ticket): [migrate] Many, resolve errors * (no ticket): [migrate] Carts SF, re-lint * (no ticket): [revise] Customers SF, Standardize create a customer summary (#1176) * DEVDOCS-4719: [migrate] Catalog V3, fix request body not rendering (#1163) * DEVDOCS-4719: [migrate] Catalog V3, rendering issues (#1166) * DEVDOCS-4719: [migrate] Many, update additionalProperties (#1174) * (no ticket): [remove] Catalog V3, generic catalog tag (#1180) See also PR #1175 * apostrophes * DEVDOCS-4719: [migrate] Email Templates and Custom Template Associations, migrate syntax (#1181) * DEVDOCS-4719: [migrate] Email templates, unify (#1188) * remove ambiguous hyphen * DEVDOCS-4719: [migrate] Webhook schemas (#1189) * Change 'description' to 'properties' within store_cart_created.yml (#1191) * DEVDOCS-4719: [migrate] Price Lists V3 API, remove content type header from GET (#1187) * DEVDOCS-4719 [migrate] Orders, summary/table cleanup (#1185) * DEVDOCS-4719: [migrate] Tax V3 API, rendering (#1183) * DEVDOCS-4719: [migrate] Tax Provider API, request example rendering (#1195) * DEVDOCS-4719: [migrate] Shipping provider API, move example (#1194) * move response example for Request Rates * change example names * DEVDOCS-4719: [migrate] Tax APIs (#1196) * DEVDOCS-4719: [migrate] Shipping APIs, move example (#1197) * DEVDOCS-4719: [migrate] Carts SF & V3, rendering-based changes (#1199) * change auth docs links (#1202) * Migrate links #1 (#1204) * available-apis, storefront-graphql * storefront carts * carts v3 * catalog * channels * sf checkouts * sf carts, change links to sf from v3 * checkouts v3 * sf consent * currencies * wishlists * widgets * webhooks * tax provider * customers v2 * shipping v2 * customers v3 * orders v2 * payment processing * add tags to email templates and custom template associations (#1206) * Migrate links #2 (#1207) * incorporate BOPIS changes, SF checkouts * incorporate BOPIS changes, checkouts V3 * incorporate BOPIS changes, orders V2 * incorporate BOPIS changes * manual resolution commits * fix incorrect casing for pickup method id field * copyedit description * fix(checkout): CHECKOUT-7328 Update discounted_amount description (#1186) * docs(orders): DEVDOCS-4800 allow updating billing address & shipping address custom form fields in Orders v2 API Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl Co-authored-by: Tina Gomez Co-authored-by: Matthew Volk Co-authored-by: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Co-authored-by: Nate Stewart Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Valentin Dellangela <43359039+valentindellangela@users.noreply.github.com> Co-authored-by: Donald Nguyen * Remove duplicate consignment from Order_Put * DEVDOCS-4702: [remove] OrdersV3, Remove batch endpoints for Refund Quotes and Refunds (#1216) Remove Batch endpoints for Refund Quotes and Refunds --------- Co-authored-by: Traci Porter Co-authored-by: Mark Murphy Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Tina Gomez Co-authored-by: Sarah Riehl Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/carts.v3.yml | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 4b611a6ef..19a629ca1 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -2420,6 +2420,22 @@ components: name: type: string description: Optionally, provide a value to override the product name. + weight: + type: number + description: Optionally, provide a value to override the product weight. + dimensions: + type: object + description: Optionally, provide a value to override the product dimensions. + properties: + height: + type: number + description: The custom height of the product. + width: + type: number + description: The custom width of the product. + depth: + type: number + description: The custom depth of the product. gift_wrapping: type: object properties: @@ -2471,6 +2487,22 @@ components: name: type: string description: Optionally, provide a value to override the product name. + weight: + type: number + description: Optionally, provide a value to override the product weight. + dimensions: + type: object + description: Optionally, provide a value to override the product dimensions. + properties: + height: + type: number + description: The custom height of the product. + width: + type: number + description: The custom width of the product. + depth: + type: number + description: The custom depth of the product. option_selections: type: array description: Needed for Catalog V2. @@ -2773,6 +2805,25 @@ components: type: string description: The item’s product name. example: T-Shirt + weight: + type: number + description: The weight is displayed here if the item has a custom dimension. + example: 1.2 + dimensions: + type: object + properties: + height: + type: number + description: The height is displayed here if the item has a custom dimension. + example: 2.0 + width: + type: number + description: The width is displayed here if the item has a custom dimension. + example: 2.1 + depth: + type: number + description: The depth is displayed here if the item has a custom dimension. + example: 2.2 url: description: The product URL. type: string From ea0c5270072da83a888f925301e4ad7f2473fb49 Mon Sep 17 00:00:00 2001 From: Andrew Chan Date: Thu, 23 Mar 2023 03:13:11 +1100 Subject: [PATCH 113/360] refactor(shipping): SHIPPING-700 Update code rule in carrier response (#1205) --- reference/shipping_provider.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index a8967fb5a..db293a106 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -805,6 +805,7 @@ components: code: description: A code describing the service. type: string + minLength: 1 maxLength: 50 example: GND display_name: From 989374532e136b0757510cd288aef6ab27240add Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 22 Mar 2023 11:41:59 -0500 Subject: [PATCH 114/360] DEVDOCS-4806 : [update] Catalog, update minLength for Tree name (#1221) --- reference/catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index db67cc99f..67d6c6e4d 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -21757,7 +21757,7 @@ components: type: integer name: type: string - minLength: 6 + minLength: 1 maxLength: 255 channels: type: array From 67f341874e075b93109125ad7f1262877ad5d71c Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 22 Mar 2023 14:11:40 -0500 Subject: [PATCH 115/360] DEVDOCS-4693: [update] Get all states, add query parameters (#1126) * DEVDOCS-4693 * DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101) * Added /stores/{store_hash}/v2 to the paths * resolving errors * resolving error --------- Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Tina Gomez Co-authored-by: Sarah Riehl --- reference/geography.v2.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index 32f222e0e..1368d091e 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -243,7 +243,7 @@ paths: tags: - States description: Returns a count of all states. - '/countries/states': + '/stores/{store_hash}/v2/countries/states': get: responses: '200': @@ -252,6 +252,23 @@ paths: tags: - States description: Returns a list of all states. + parameters: + - schema: + type: integer + in: query + name: limit + description: The number of results to return per request. + - schema: + type: integer + in: query + name: page + description: The ordered grouping of results to return. + parameters: + - schema: + type: string + name: store_hash + in: path + required: true '/countries/{country_id}/states/count': get: responses: From d2cfbc548d865565255f2b646cb13afff18fb455 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 24 Mar 2023 14:28:08 -0500 Subject: [PATCH 116/360] DEVDOCS-4766:[update] Pages v3, add url in the response (#1139) * DEVDOCS-4766 * updated X-Auth-Token to resolve error --------- Authored by: @bc-traciporter --- reference/pages.v3.yml | 98 +++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/reference/pages.v3.yml b/reference/pages.v3.yml index 6cc89db9f..4b7f3b367 100644 --- a/reference/pages.v3.yml +++ b/reference/pages.v3.yml @@ -1,4 +1,4 @@ -openapi: '3.0.3' +openapi: 3.0.3 info: title: Pages V3 version: '' @@ -11,7 +11,7 @@ info: ## Overview A **page** appears on a **site** that is associated with a **channel**. - + Some pages, such as blog pages, contact forms, and plain-text or HTML pages, are web pages in the traditional sense. They contain markup (a `body`) and load at a relative page location on the site itself (the `url`). Other pages, such as link and feed pages, make external or non-visual content available from the menu of a parent page or by direct link. ### Bulk operations @@ -521,14 +521,21 @@ components: required: true schema: type: string - default: 'application/json' + default: application/json ContentType: name: Content-Type in: header required: true schema: type: string - default: 'application/json' + default: application/json + storeHashPath: + schema: + type: string + name: store_hash + in: path + required: true + description: The permanent ID of the BigCommerce store. pageIdPath: schema: type: string @@ -539,11 +546,11 @@ components: includeQuery: schema: type: string - enum: + enum: - body in: query name: include - description: Include the requested property in the response. The `body` property returns the page’s markup, text, or raw content. + description: 'Include the requested property in the response. The `body` property returns the page’s markup, text, or raw content.' channelIdQuery: schema: type: integer @@ -588,41 +595,43 @@ components: name: page description: The ordered grouping of results to return. See `meta.pagination.current_page` in the response body. headers: - Content-Type: + Content-Type: 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' - Accept: + default: application/json + Accept: 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' + default: application/json X-Auth-Token: description: Your API account's access token. schema: type: string - # $ref: '' securitySchemes: X-Auth-Token: + type: apiKey + name: X-Auth-Token + in: header description: |- ## API account You can use this API with a [store API account or an app API account](https://developer.bigcommerce.com/api-docs/getting-started/rest-api-authentication). ## OAuth scopes - + | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Content | modify |`store_v2_content`| | Content | read-only |`store_v2_content_read_only`| For a [full list of OAuth scopes](https://developer.bigcommerce.com/api-docs/getting-started/rest-api-authentication#oauth-scopes), see our narrative documentation. - + ## Security header - + Include a header parameter called `X-Auth-Token` and pass it the `access_token` provided with your store API account or generated with your app's `/auth` callback. - + ```http title="Security header example" X-Auth-Token: example_access_token ``` @@ -630,24 +639,10 @@ components: ## Example requests For detailed examples, consult our [X-Auth-Token example requests](https://developer.bigcommerce.com/api-docs/getting-started/authentication#x-auth-token-header-example-requests). - + ## Additional information - + [BigCommerce Terms of Service](http://www.bigcommerce.com/terms) - type: oauth2 - flows: - implicit: - authorizationUrl: 'https://store-store_hash.mybigcommerce.com/manage/settings/api-accounts/create' - scopes: - store_v2_content: Modify store content - store_v2_content_read_only: Read store content - authorizationCode: - authorizationUrl: 'https://your_app.example.com/api/auth' - tokenUrl: 'https://devtools.bigcommerce.com' - refreshUrl: 'https://your_app.example.com/api/auth' - scopes: - store_v2_content: Modify store content - store_v2_content_read_only: Read store content schemas: ResponseErrorBrief: type: object @@ -1210,11 +1205,10 @@ components: type: boolean example: true default: true - description: |- - A boolean value that controls whether the page is available to users or visible in any navigation menus. + description: A boolean value that controls whether the page is available to users or visible in any navigation menus. parent_id: type: integer - description: ID of the parent page, if any. + description: 'ID of the parent page, if any.' example: 0 default: 0 sort_order: @@ -1241,6 +1235,11 @@ components: type: boolean description: 'When `true`, this page is not visible to merchant users who are signed in to the store control panel.' default: false + url: + type: string + description: | + Relative URL on the storefront for this page. + example: /my-store-page required: - name - type @@ -1262,7 +1261,7 @@ components: type: string description: | Relative URL on the storefront for this page. - example: '/blog/' + example: /blog/ typeContactForm: description: '' allOf: @@ -1310,13 +1309,12 @@ components: type: string description: | HTML or variable that populates the element of this page, in default/desktop view. Required in a `POST` request if the page type is `raw`. - example: '
Hello World!
' + example:
Hello World!
nullable: true content_type: type: string - description: - The MIME type of the page body. - example: 'text/html' + description: The MIME type of the page body. + example: text/html required: - body typeLink: @@ -1373,7 +1371,7 @@ components: description: Indicates whether the page is available to users and visible in any menus. parent_id: type: integer - description: ID of the parent page, if any. + description: 'ID of the parent page, if any.' example: 0 default: 0 sort_order: @@ -1420,17 +1418,17 @@ components: When you make bulk requests, an invalid input in any one entry will return 422. The entries that are valid will still be created. content: application/json: - schema: + schema: type: object properties: data: anyOf: - - $ref: '#/components/schemas/typePage' - - $ref: '#/components/schemas/typeBlog' - - $ref: '#/components/schemas/typeContactForm' - - $ref: '#/components/schemas/typeFeed' - - $ref: '#/components/schemas/typeRaw' - - $ref: '#/components/schemas/typeLink' + - $ref: '#/components/schemas/typePage' + - $ref: '#/components/schemas/typeBlog' + - $ref: '#/components/schemas/typeContactForm' + - $ref: '#/components/schemas/typeFeed' + - $ref: '#/components/schemas/typeRaw' + - $ref: '#/components/schemas/typeLink' meta: $ref: '#/components/schemas/ResponseMeta' HTTP204: @@ -1439,17 +1437,17 @@ components: description: '' content: application/problem+json: - schema: + schema: $ref: '#/components/schemas/ResponseErrorBrief' HTTP404: description: '' content: application/problem+json: - schema: + schema: $ref: '#/components/schemas/ResponseErrorDetailed' HTTP422: description: '' content: application/problem+json: - schema: + schema: $ref: '#/components/schemas/ResponseErrorDetailed' From f33f473b5bc4bced07c062ee02318cde6d26af26 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 24 Mar 2023 14:39:38 -0500 Subject: [PATCH 117/360] DEVDOCS-4638: [value add] Checkouts V3, add detail about checkout tokens (#1107) DEVDOCS-4638: [value add] Checkouts V3, add detail about checkout tokens #1107 --------- Authored by: @bc-traciporter --- reference/checkouts.v3.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 9b9abd3f7..9db89a20d 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -7794,11 +7794,16 @@ paths: examples: example-1: value: - '0': null - '592': null maxUses: 1 ttl: 2 description: Use the checkout token to display a confirmation page for a guest shopper. + + **Usage Notes** + * The response from performing this POST request is a checkout token. + * The checkout token is a single-use token that is not order-dependent. You cannot create this token after finalizing an order. + * After completing the order, you can redirect the shopper to /order-confirmation/{orderId}?t={checkoutToken}. + * After token validation, the /order-confirmation/{orderId} page displays. + * The `ORDER_TOKEN` should match the order or the logged-in customer can access the order. components: schemas: Checkout: From 81035f34b4dba7b74570d60204559f1ca6368fc3 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 24 Mar 2023 14:45:36 -0500 Subject: [PATCH 118/360] DEVDOCS-4684: [update] Catalog, revise bulk pricing rule amount definition (#1108) DEVDOCS-4684 * resolve conflicts --------- Authored by: @bc-traciporter --- reference/catalog.v3.yml | 65 ++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 12 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 67d6c6e4d..606111a3e 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -19613,18 +19613,15 @@ components: x-internal: false bulkPricingRule_Full: title: bulkPricingRule_Full - required: - - amount - - quantity_max - - quantity_min - - type type: object + description: Common Bulk Pricing Rule properties + x-internal: false properties: quantity_min: minimum: 0 type: integer description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. Required in /POST. example: 10 x-required: @@ -19651,13 +19648,57 @@ components: x-required: - post amount: - type: integer + oneOf: + - type: number + example: 10 + - type: string + example: '.10' description: |- - The discount can be a fixed dollar amount or a percentage. For a fixed dollar amount enter it as an integer and the response will return as an integer. For percentage enter the amount as the percentage divided by 100 using string format. For example 10% percent would be “.10”. The response will return as an integer. + You can express the adjustment type as either a fixed dollar amount or a percentage. Send a number; the response will return a number for `price` and `fixed` adjustments. + Divide the adjustment percentage by 100 and send the result in string format. For example, represent 10% as “.10”. The response will return a float value for both `price` and `percentage` adjustments. Required in /POST. - example: 10 - description: Common Bulk Pricing Rule properties + required: + - quantity_min + - quantity_max + - type + - amount + bulkPricingRuleFull_Response: + title: Bulk Pricing Rule + type: object x-internal: false + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. + example: 10 + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + example: 50 + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + example: price + enum: + - price + - percent + - fixed + amount: + type: number + description: |- + The adjustment amount. Depending on the rule `type`, may represent a fixed dollar amount or a percentage. + example: 10 + x-stoplight: + id: 386de544af45e productOptionConfig_Full: title: productOptionConfig_Full type: object @@ -22365,7 +22406,7 @@ components: data: type: array items: - $ref: '#/components/schemas/bulkPricingRule_Full' + $ref: '#/components/schemas/bulkPricingRuleFull_Response' meta: $ref: '#/components/schemas/metaCollection_Full' BulkPricingRuleResponse: @@ -22376,7 +22417,7 @@ components: type: object properties: data: - $ref: '#/components/schemas/bulkPricingRule_Full' + $ref: '#/components/schemas/bulkPricingRuleFull_Response' meta: $ref: '#/components/schemas/metaEmpty_Full' example: From d986e81e5d4b15b6abbf29c0e8b7bfed9759acd0 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 29 Mar 2023 10:37:03 -0500 Subject: [PATCH 119/360] DEVDOCS-3987: [update] Orders V3; Get refund quote, update items array (#1124) * Update items array * Added item_id tax exemption, corrected Example request body * Remove order_id from return request example * Spelling check and grammar edits * Apply suggestions from code review * Update item id description for tax exempt refunds * Resolve conflicts in file --- reference/orders.v3.yml | 188 ++++++++++++++++++++++++++++++++++------ 1 file changed, 162 insertions(+), 26 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index d790e4fb9..f86fcc02a 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -27,7 +27,7 @@ tags: paths: '/orders/{order_id}/payment_actions/capture': post: - summary: Capture + summary: Capture order payment description: |- Capture the payment for an order. When there are no payment method validation issues, the capture process is successful, the `payment_status` updates to `capture pending`, and the payment request is scheduled. The payment request itself occurs asynchronously. Requires at least one of the following scopes: @@ -169,6 +169,14 @@ paths: application/json: schema: $ref: '#/components/schemas/RefundQuote_Post' + application/xml: + schema: + type: object + properties: {} + multipart/form-data: + schema: + type: object + properties: {} required: true x-examples: Quantity: @@ -186,7 +194,7 @@ paths: - item_type: ORDER item_id: 1234 amount: 1 - reason: Overchaged $1.00 + reason: Overcharged $1.00 Multiple Items: items: - item_id: 75 @@ -195,6 +203,7 @@ paths: - item_id: 79 item_type: SHIPPING amount: 10 + description: '' responses: '201': $ref: '#/components/responses/RefundQuote_Resp' @@ -373,6 +382,126 @@ paths: '/orders/payment_actions/refunds': parameters: - $ref: '#/components/parameters/Accept' + '/stores/{store_hash}/v3/orders/payment_actions/refund_quotes': + post: + summary: Create Refund Quotes - BATCH + description: |- + Calculate the tax amount, total refund amount and get available payment options for an order refund by providing items and costs or quantities to refund. + + This endpoint will accept a batch of one or more. + + Requires at least one of the following scopes: + * `store_v2_orders` + * `store_v2_transactions` + operationId: postrefundquotes + parameters: + - $ref: '#/components/parameters/Accept' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PostRefundQuotesRequest' + required: true + x-examples: + application/json: + - items: + - item_id: 76 + item_type: PRODUCT + quantity: 1 + tax_adjustment_amount: 0 + responses: + '201': + $ref: '#/components/responses/RefundQuotesBATCH_Resp' + '422': + description: Partial success/failure response. Status to roll up to the most severe individual failure to the whole request. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RefundQuote_Full' + errors: + type: array + items: + $ref: '#/components/schemas/FailedQuoteError' + meta: + $ref: '#/components/schemas/Meta' + Example 1: + examples: + response: + value: |- + { + "data": [ + { + "order_id": 1, + "total_refund_amount": 1.99, + "total_refund_tax_amount": 1.95, + "rounding": 1, + "adjustment": 0.05, + "tax_inclusive": true, + "refund_methods": [ + "" + ] + } + ], + "errors": [ + { + "order_id": 1, + "status": 422, + "error": "Refund amount is greater than remaining amount" + } + ], + "meta": { + "failure": 1, + "success": 1, + "total": 2 + } + } + '503': + description: Every request in the batch failed. The error object describes the failure for each component request. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RefundQuote_Full' + errors: + type: array + items: + $ref: '#/components/schemas/FailedQuoteError' + meta: + $ref: '#/components/schemas/Meta' + examples: + response: + value: + data: [] + errors: + - order_id: 1 + status: 503 + error: Tax service could not be contacted + - order_id: 100 + status: 422 + error: Refund amount exceeds remaining amount + meta: + failure: 2 + success: 0 + total: 2 + tags: + - Payment Actions + x-private: true + parameters: + - name: store_hash + in: path + required: true + schema: + type: string + '/stores/v3/orders/payment_actions/refunds': get: summary: Get All Refunds description: |- @@ -453,7 +582,7 @@ paths: description: | Gets a `Metafield` object list, by `order_id`. - The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. + The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. operationId: getOrderMetafieldsByOrderId parameters: - $ref: '#/components/parameters/PageParam' @@ -704,7 +833,7 @@ paths: description: |- Updates order settings for a specific channel. - **Note:** You must override both notifications `email_addresses` or neither, i.e. either both notification `email_addresses` are an array of valid email addresses, or both `email_addresses` must be null. You may not have one set to an array of addesses and the other set to `null`. + **Note:** You must override both notifications `email_addresses` or neither, i.e. either both notification `email_addresses` are an array of valid email addresses, or both `email_addresses` must be null. You may not have one set to an array of addresses and the other set to `null`. operationId: UpdateChannelOrderSettings parameters: - $ref: '#/components/parameters/ContentType' @@ -1980,24 +2109,17 @@ components: x-internal: false x-examples: {} properties: - order_id: - type: integer - description: Order ID against which this refund will be created. This is optional for creating a single refund request. The order ID is included in the request path. - example: 1 items: type: array items: $ref: '#/components/schemas/ItemsRefund' required: - - order_id - items RefundQuote_Full: type: object title: RefundQuote_Full + x-internal: false properties: - order_id: - type: integer - description: ID of the order to be refunded total_refund_amount: $ref: '#/components/schemas/Amount' total_refund_tax_amount: @@ -2005,12 +2127,12 @@ components: example: 1.95 rounding: type: number - description: Indicates rounding value to bring refund_total to an amount refundable via payment providers (in this case to 2 decimal places) + description: Indicates rounding value to bring `refund_total` to an amount refundable via payment providers (in this case to 2 decimal places). adjustment: $ref: '#/components/schemas/AdjustmentAmount' tax_inclusive: type: boolean - description: Indicate if total_refund_amount includes tax amount + description: Indicate if `total_refund_amount` includes tax amount. refund_methods: type: array description: | @@ -2068,11 +2190,8 @@ components: 1. Refund up to the entire order amount to store credit. 2. Mark an amount up to the full order amount as refunded externally, through a provider or means not represented directly in BC ("custom"). 3. Refund the amount paid by store credit to store credit, and the amount paid by bank deposit via a manual refund, which will be recorded as being refunded against the bank deposit. - - items: $ref: '#/components/schemas/RefundMethod' - x-internal: false RefundRequest_Post: type: object description: Request body for refund requests. @@ -2289,19 +2408,23 @@ components: Quantity Bound Item Type of refund item that capture refunding of items in the order that are of type quantity. + * `ORDER` * `PRODUCT` - * `GIFT_WRAPPING` + * `SHIPPING` + * `HANDLING` properties: item_type: type: string enum: + - ORDER - PRODUCT - - GIFT_WRAPPING + - SHIPPING + - HANDLING description: Type of refund. item_id: type: integer example: 1 - description: 'Order Product ID. ' + description: Order Product ID. quantity: type: integer example: 3 @@ -2315,6 +2438,7 @@ components: type: object title: Tax Exempt (Order Level) description: 'Use this to refund a custom value at the order level. When `item_type` is set to `ORDER`, tax is not re-calculated.' + x-internal: false properties: item_type: type: string @@ -2322,6 +2446,10 @@ components: example: ORDER enum: - ORDER + item_id: + type: number + description: Numeric ID of the product in the order. + example: 1 amount: $ref: '#/components/schemas/Amount' reason: @@ -2329,7 +2457,6 @@ components: description: Reason for the refund. minLength: 0 maxLength: 1000 - x-internal: false AmountBoundItem: type: object title: Amount Bound Item @@ -2337,12 +2464,17 @@ components: Amount Bound Item Type of refund item that capture refunding of items in the order that are of type amount. + * `PRODUCT` + * `ORDER` * `SHIPPING` * `HANDLING` + x-internal: false properties: item_type: type: string enum: + - PRODUCT + - ORDER - SHIPPING - HANDLING example: SHIPPING @@ -2353,11 +2485,16 @@ components: description: Order address ID. amount: $ref: '#/components/schemas/Amount' + quantity: + type: integer + example: 3 + description: Number of items in refund. reason: type: string + description: Explanation of refund. minLength: 0 maxLength: 1000 - x-internal: false + example: Customer requested refund MerchantOverride: type: object title: Merchant Calculated Override @@ -2485,15 +2622,15 @@ components: properties: provider_id: type: string - description: Name of the payment method + description: Name of the payment method. example: checkout_paypalexpress provider_description: type: string - description: Description for payment provider + description: Description for payment provider. example: Paypal Express amount: type: number - description: amount to be refunded via this payment provider + description: Amount to be refunded via this payment provider. example: 9.99 offline: type: boolean @@ -3043,7 +3180,6 @@ components: application/json: schema: type: object - properties: {} RefundCollection_Resp: description: '' content: From 2425bd2a52b5a17742fe650de547f9f2bc7361de Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 29 Mar 2023 11:01:22 -0500 Subject: [PATCH 120/360] DEVDOCS-3879: [update] Orders v2, correct documentation for products with customer file uploads (#1116) * Update with examples * Update example response for Get an Order Product, add custom field info * Update example response for Get an Order Product * Update Order product options description and example. * Remove extra spacing in schema * Update value description * Add correct value file example * Add correct value file example * Correct problems * string type --- reference/orders.v2.oas2.yml | 151 ++++++++++++++++++++++++++++++----- 1 file changed, 132 insertions(+), 19 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 99b6a1515..bbb77debf 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -1950,9 +1950,9 @@ components: content: application/json: schema: - $ref: '#/components/schemas/orderProducts' + $ref: '#/components/schemas/orderProducts' examples: - response: + Product: value: id: 116 order_id: 181 @@ -2002,21 +2002,76 @@ components: fulfillment_source: '' brand: BigCommerce applied_discounts: [] + product_options: [] + Product with file upload: + value: + - id: 35 + order_id: 125 + product_id: 127 + variant_id: 99 + order_address_id: 18 + name: Journal + name_customer: Journal + name_merchant: Journal + sku: Jour-BLK + upc: '' + type: physical + base_price: '45.0000' + price_ex_tax: '41.5700' + price_inc_tax: '45.0000' + price_tax: '3.4300' + base_total: '45.0000' + total_ex_tax: '41.5700' + total_inc_tax: '45.0000' + total_tax: '3.4300' + weight: '0.0000' + width: '0.0000' + height: '0.0000' + depth: '0.0000' + quantity: 1 + base_cost_price: '0.0000' + cost_price_inc_tax: '0.0000' + cost_price_ex_tax: '0.0000' + cost_price_tax: '0.0000' + is_refunded: false + quantity_refunded: 0 + refund_amount: '0.0000' + return_id: 0 + wrapping_name: '' + base_wrapping_cost: '0.0000' + wrapping_cost_ex_tax: '0.0000' + wrapping_cost_inc_tax: '0.0000' + wrapping_cost_tax: '0.0000' + wrapping_message: '' + quantity_shipped: 0 + event_name: null + event_date: '' + fixed_shipping_cost: '0.0000' + ebay_item_id: '' + ebay_transaction_id: '' + option_set_id: null + parent_order_product_id: null + is_bundled_product: false + bin_picking_number: '' + external_id: null + fulfillment_source: '' + brand: BigCommerce + applied_discounts: [] product_options: - - id: 89 - option_id: 90 - order_product_id: 116 - product_option_id: 227 - display_name: Product Pick List - display_name_customer: Product Pick List - display_name_merchant: Product Pick List - display_value: 1L Le Parfait Jar - display_value_customer: 1L Le Parfait Jar - display_value_merchant: 1L Le Parfait Jar - value: '197' - type: Product Pick List - name: ProductPickList - display_style: Pick list + - id: 18 + option id: 38 + order_product_id: 35 + product_option_id: 121 + display_name: Custom Logo Engraving + display_name_customer: Custom Logo Engraving + display_name_merchant: Custom Logo Engraving + display_value: BigCommerceLogo.jpeg + display_value_customer: BigCommerceLogo.jpeg + display_value_merchant: BigCommerceLogo.jpeg + value: {\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"} + type: File upload field + name: Custom Logo Engraving + display_style: "" configurable_fields: [] gift_certificate_id: null Custom Product: @@ -2130,6 +2185,65 @@ components: fulfillment_source: '' brand: BigCommerce applied_discounts: [] + Product with custom message: + value: + - id: 143 + option_id: 96 + order_product_id: 240 + product_option_id: 242 + display_name: Color + display_name_customer: Color + display_name_merchant: Color + display_value: Red + display_value_customer: Red + display_value_merchant: Red + value: '211' + type: Swatch + name: Color1549572910-201 + display_style: '' + - id: 144 + option_id: 114 + order_product_id: 240 + product_option_id: 263 + display_name: PickList PriceList + display_name_customer: PickList PriceList + display_name_merchant: PickList PriceList + display_value: Able Brewing System + display_value_customer: Able Brewing System + display_value_merchant: Able Brewing System + value: '237' + type: Product Pick List + name: PickList-PriceList1549572910-201 + display_style: Pick list with photos + - id: 145 + option_id: 97 + order_product_id: 240 + product_option_id: 243 + display_name: T-Shirt Size + display_name_customer: T-Shirt Size + display_name_merchant: T-Shirt Size + display_value: Small T-Shirt + display_value_customer: Small T-Shirt + display_value_merchant: Small T-Shirt + value: '214' + type: Multiple choice + name: T-Shirt-Size1545071633-201 + display_style: Rectangle + - id: 146 + option_id: 105 + order_product_id: 240 + product_option_id: 254 + display_name: Custom Message + display_name_customer: Custom Message + display_name_merchant: Custom Message + display_value: BigCommerce + display_value_customer: BigCommerce + display_value_merchant: BigCommerce + value: BigCommerce + type: Text field + name: Custom-Message1549572912-201 + display_style: '' + configurable_fields: [ product_options: value: - id: 143 @@ -3678,11 +3792,10 @@ components: example: S type: string value: - description: This value is used to access the Customer File Upload. - example: '70' + description: For file-upload type, it's a unique string describing the properties of the file upload. For other types, it's the value of the property. + example: "{\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"}" type: string type: - type: string enum: - Checkbox - Date field From 80cd8633a1ccbc9d5ad600568b3b925d737361f1 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 29 Mar 2023 13:41:47 -0500 Subject: [PATCH 121/360] DEVDOCS-4700 [revise] Orders v2, Update/Create an Order Remove order_source read only attribute (#1136) * Revert "DEVDOCS-4575: [update] Catalog V3 API, update request response schemas (#1101)" * Check out lint errors * Attempt to fix linter issues --- reference/orders.v2.oas2.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index bbb77debf..dcb6d7367 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -2243,7 +2243,7 @@ components: type: Text field name: Custom-Message1549572912-201 display_style: '' - configurable_fields: [ + configurable_fields: product_options: value: - id: 143 @@ -3049,8 +3049,8 @@ components: readOnly: true readOnly: true order_source: - description: Orders submitted from the store’s website will include a `www` value. Orders submitted with the API will be set to `external`. A read-only value. Do not pass in a POST or PUT request. - example: www + description: Orders submitted from the store's website will include a `www` value. Orders submitted with the Checkout API will be set to `checkout_api`. + example: www, iPhone, Android, mobile, manual type: string external_source: description: |- @@ -4518,8 +4518,8 @@ components: example: false type: boolean order_source: - description: Orders submitted from the store’s website will include a `www` value. Orders submitted with the API will be set to `external`. This value is read-only. Do not pass in a POST or PUT. - example: www + description: Orders submitted from the store's website will include a `www` value. Orders submitted with the Checkout API will be set to `checkout_api`. + example: www, iPhone, Android, mobile, manual type: string consignments: $ref: '#/components/schemas/orderConsignments_Resource' From 6754cbc8197a6859f9960261e99ed019b24b7b81 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 29 Mar 2023 13:49:55 -0500 Subject: [PATCH 122/360] DEVDOCS-4429: [value add] Carts, add locale examples (#1060) Merging to staging. --- reference/carts.v3.yml | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 19a629ca1..27a72bc90 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -96,11 +96,16 @@ paths: product_id: 118 list_price: 25 variant_id: 140 - name: shirt + name: قميص + option_selections: + - option_id: 125 + option_value: 127 + name: بحجم + value: صغير channel_id: 1 currency: - code: USD - locale: en-US + code: JOD + locale: ar-JO Cart with date option: value: line_items: @@ -109,7 +114,12 @@ paths: variant_id: 144 option_selections: - option_id: 147 - option_value: '{“day”:”01”, “month”:”02”, “year”:”2020”}' + option_value: '{“día”:”01”, “mes”:”02”, “año”:”2020”}' + name: calendario + value: 2023 + currency: + code: MXN + locale: es-MX 'Cart with variant, a checkbox, and a pick list modifier': value: customer_id: 0 @@ -130,8 +140,8 @@ paths: valueId: 129 channel_id: 1 currency: - code: usd - locale: en + code: AUD + locale: en-AU Custom item: value: customer_id: 0 @@ -161,7 +171,7 @@ paths: channel_id: 1 currency: code: usd - locale: en + locale: en-US description: |- **Examples:** @@ -512,7 +522,7 @@ paths: message: Happy Birthday Jane! created_time: '2018-09-17T14:27:39.000Z' updated_time: '2018-09-17T14:53:40.000Z' - meta: {} + meta: {} '204': description: 'If the action’s result is an empty cart, the cart is automatically deleted.' summary: Delete Cart Line Item @@ -1100,8 +1110,10 @@ components: example: usd locale: type: string - description: Accepts string of format `xx` or `xx-YY`. + description: 'The locale of the cart. Accepts strings of format `xx` or `xx-YY`. Uses the [ISO-639 standard](https://www.iso.org/iso-639-language-codes.html) format.' + format: ISO-639 example: en-US + description: '' CartRequestData: type: object title: Cart Request Data @@ -1375,7 +1387,8 @@ components: description: 'The channel ID. If no channel is specified, defaults to 1.' locale: type: string - description: Locale of the cart. + description: 'Locale of the cart. Accepts strings of format `xx` or `xx-YY`. Uses the [ISO-639 standard](https://www.iso.org/iso-639-language-codes.html) format.' + format: ISO-639 promotions: type: object description: This is available only when "include=promotions.banners" is presented in the URL. @@ -3252,6 +3265,7 @@ components: application/json: schema: $ref: '#/components/schemas/Cart_Full' + examples: {} CartRedirectResponse: description: '' content: From f48168e926e0f48a8fa31b986a0d23034f269d19 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 29 Mar 2023 15:07:26 -0500 Subject: [PATCH 123/360] DEVDOCS-4693: [update] Geography, Get all states, fix url (#1232) --- reference/geography.v2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index 1368d091e..137f33ede 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -243,7 +243,7 @@ paths: tags: - States description: Returns a count of all states. - '/stores/{store_hash}/v2/countries/states': + '/{store_hash}/v2/countries/states': get: responses: '200': From dcbb2e9554e02c8243019f9b9a752756e72570cf Mon Sep 17 00:00:00 2001 From: Tina Gomez Date: Wed, 29 Mar 2023 17:03:04 -0500 Subject: [PATCH 124/360] (no ticket): Orders V3, fix schema issue for PUT (refunds) --- reference/orders.v3.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index f86fcc02a..e9375f7b6 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -501,7 +501,7 @@ paths: required: true schema: type: string - '/stores/v3/orders/payment_actions/refunds': + '/stores/{store_hash}/v3/orders/payment_actions/refunds': get: summary: Get All Refunds description: |- @@ -514,6 +514,11 @@ paths: * `store_v2_orders` operationId: getrefunds parameters: + - name: store_hash + in: path + required: true + schema: + type: string - name: 'order_id:in' in: query description: Filter by `order_id`. Accepts multiple as comma-separated values. From 990cbb63fd5c57edbddc5b2bd7f441978bbf8096 Mon Sep 17 00:00:00 2001 From: Mark Murphy Date: Fri, 31 Mar 2023 11:53:49 -0500 Subject: [PATCH 125/360] DEVDOCS-4693: [update] Geography, Get all states, remove store_hash from path (#1238) --- reference/geography.v2.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index 137f33ede..cb1555689 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -243,7 +243,7 @@ paths: tags: - States description: Returns a count of all states. - '/{store_hash}/v2/countries/states': + '/countries/states': get: responses: '200': @@ -263,12 +263,6 @@ paths: in: query name: page description: The ordered grouping of results to return. - parameters: - - schema: - type: string - name: store_hash - in: path - required: true '/countries/{country_id}/states/count': get: responses: From 35c7d326fd3d45c05c3da9057ac3abd76eede31d Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 31 Mar 2023 16:04:06 -0500 Subject: [PATCH 126/360] DEVDOCS-4641: [new] Tax Connection and Provider API, added profile option (#1128) Merging to Staging. --- reference/tax.v3.yml | 12 +++++++++++- reference/tax_provider.yml | 28 +++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/reference/tax.v3.yml b/reference/tax.v3.yml index 359cd0dd4..8d2ef1bfc 100644 --- a/reference/tax.v3.yml +++ b/reference/tax.v3.yml @@ -91,7 +91,12 @@ paths: '422': description: 'Unprocessable Entity, will include a specific error message referencing the issue.' description: |- - Set the HTTP Basic Authentication credentials for the specified provider. The configured `username` and `password` will be used to authenticate each API request to the Tax Provider from the associated store. + Set authentication information associated with a merchant's account on the tax provider's infrastructure: + - [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials + - (optional) Tax provider profile used in customized endpoint urls for tax provider calls. This is only available for tax providers that support this feature. + + The configured `username`, `password`, and `profile` (if available) is used to authenticate each API request to the Tax Provider from the associated store. + The tax provider's `profile` will be included in the url for [Tax Provider API](/docs/apps-api/tax) endpoints. > #### Note > * This operation will be logged in [Store Logs](https://support.bigcommerce.com/s/article/Using-Store-Logs) under **Staff Actions**. @@ -115,11 +120,16 @@ paths: password: type: string example: h6eSgKLN72q7jYTW + profile: + type: string + example: your_app_name + description: Optional field that allows merchants to customize Tax Provider API endpoint URLs. Only available for supporting providers. examples: Example: value: username: MyTaxProviderAccount password: h6eSgKLN72q7jYTW + profile: test-profile description: Basic authentication information, associated with a merchant account on the third-party tax providerʼs infrastructure. parameters: - $ref: '#/components/parameters/Accept' diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 9380c816d..5e603a2ed 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -25,6 +25,10 @@ paths: description: |- Submit the quote request to retrieve an estimate from the enabled third-party tax provider. Estimates are not expected to be persisted by the tax provider. + > Server URL + > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - The Try it feature is not currently supported for this endpoint. + The following actions can trigger tax estimate requests multiple times during a standard checkout on a BigCommerce storefront, depending on the BigCommerce merchant’s settings. - After selecting a Shipping Method during the “Estimate Shipping & Tax” facility on the Cart page. @@ -305,7 +309,13 @@ paths: /void: post: summary: Void Tax Quote - description: Invalidate the persisted tax quote as identified by the given unique ID. Relevant to order cancellations or when moving an order from a paid status to an unpaid status. + description: |- + Invalidate the persisted tax quote as identified by the given unique ID. Relevant to order cancellations or when moving an order from a paid status to an unpaid status. + + > Server URL + > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - The Try it feature is not currently supported for this endpoint. + operationId: void parameters: - name: id @@ -329,7 +339,13 @@ paths: /commit: post: summary: Commit Tax Quote - description: 'Submit the quote request to be persisted by the enabled third-party tax provider. A commit operation is intended to be submitted once only, when the Order has been confirmed and paid.' + description: |- + Submit the quote request to be persisted by the enabled third-party tax provider. A commit operation is intended to be submitted once only, when the Order has been confirmed and paid. + + > Server URL + > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - The Try it feature is not currently supported for this endpoint. + operationId: commit parameters: - $ref: '#/components/parameters/header-storehash' @@ -830,6 +846,11 @@ paths: Relevant for partial refunds, full refunds, returns, and other Order modifications where there have been changes to the tax liabilities. The returned **Tax Quote** response is expected to be the same to a response returned by an equivalent response to **estimate** or **commit** methods. + + > Server URL + > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - The Try it feature is not currently supported for this endpoint. + operationId: adjust tags: - Tax Provider @@ -1316,8 +1337,9 @@ components: type: http scheme: basic description: |- - The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username` and `password` using the [Update a Connection](/docs/apps-api/tax-app-connection#update-a-connection) request. + The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username`, `password`, and optionally `profile`, using the [Update a Connection](/api-reference/store-management/tax/tax-provider-connection/provider-connection-put) request. `profile` is an optional field and will be used with supporting providers only. For more, see [developer-configured authentication](/api-docs/getting-started/authentication#developer-configured-authentication) for Provider APIs. + security: - Authorization: [] From 6f85a6a36798d24f193ea09f3ebc60911a58c7af Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 31 Mar 2023 16:47:41 -0500 Subject: [PATCH 127/360] DEVDOCS-4630: [update] Carts, update coupons datatype (#1068) Merging to staging. --- reference/carts.v3.yml | 313 +- reference/catalog.v3.yml | 55278 +++++++++++++++++++------------------ 2 files changed, 27765 insertions(+), 27826 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 27a72bc90..a43cc8076 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -1543,8 +1543,7 @@ components: x-internal: false ItemDigital: allOf: - - type: object - title: Base Item + - title: Base Item properties: id: type: string @@ -1606,8 +1605,6 @@ components: ``` properties: id: - description: ID of the applied discount. - example: coupon oneOf: - type: string - type: number @@ -1697,6 +1694,7 @@ components: type: array items: type: object + title: Product Option properties: name: type: string @@ -1711,13 +1709,11 @@ components: type: number description: The product option value identifier in number format. example: 128 - title: Product Option required: - variant_id - product_id - quantity - - type: object - properties: + - properties: download_file_urls: description: URLs to download all product files. type: array @@ -1731,8 +1727,8 @@ components: download_size: description: 'Specifies the combined download size of all files in human-readable style; for example, `30MB`.' type: string - title: Item Digital - x-internal: false + type: object + title: '' ItemDigitalGet: allOf: - title: Base Item @@ -1797,8 +1793,6 @@ components: ``` properties: id: - description: ID of the applied discount. - example: coupon oneOf: - type: string - type: number @@ -1806,59 +1800,55 @@ components: type: number description: The discounted amount. coupons: - type: array - items: - type: object - title: Applied Coupon - properties: - coupons: + oneOf: + - type: number + - type: array + items: type: object - description: Required in a /POST request. + title: Applied Coupon properties: - coupon_code: - type: object - description: The coupon code. - properties: - id: - type: integer - example: 6 - description: ID of the coupon. - code: - type: string - example: KV56053388J - description: The coupon code. Required in a /POST request. - name: - type: string - example: Percentage off - description: Name given to the coupon in the control panel. - discountType: - type: integer - description: |- - The discount type. - - - type 0: per_item_discount - - type 1: percentage_discount - - type 2: per_total_discount - - type 3: shipping_discount - - type 4: free_shipping - enum: - - 0 - - 1 - - 2 - - 3 - - 4 - discountAmount: - type: integer - description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' - example: 3 - expiresDate: - type: integer - example: 0 - description: Returns 0 if no expiration date has been set. - totalDiscount: - type: number - example: 4.19 - description: The total amount of all discounts applied to the cart. + id: + type: integer + example: 6 + description: ID of the coupon. + code: + type: string + example: KV56053388J + description: The coupon code. Required in a /POST request. + name: + type: string + example: Percentage off + description: Name given to the coupon in the control panel. + discountType: + type: integer + description: | + The discount type. + - type 0: per_item_discount + - type 1: percentage_discount + - type 2: per_total_discount + - type 3: shipping_discount + - type 4: free_shipping + example: 3 + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + discountAmount: + type: integer + description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' + example: 3 + expiresDate: + type: integer + example: 0 + description: Returns 0 if no expiration date has been set. + totalDiscount: + type: number + example: 4.19 + description: The total amount of all discounts applied to the cart. + required: + - code discount_amount: type: number description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. @@ -1915,9 +1905,9 @@ components: download_size: description: 'Specifies the combined download size of all files in human-readable style; for example, `30MB`.' type: string - title: Item Digital - x-internal: false type: object + title: '' + description: '' ItemPhysical: allOf: - type: object @@ -1983,8 +1973,6 @@ components: ``` properties: id: - description: ID of the applied discount. - example: coupon oneOf: - type: string - type: number @@ -2093,22 +2081,8 @@ components: - variant_id - product_id - quantity - - properties: - is_require_shipping: - type: boolean - gift_wrapping: - title: Gift Wrapping - type: object - properties: - name: - type: string - message: - type: string - amount: - type: number - format: float - title: Item Physical - x-internal: false + - {} + description: '' BaseItem: type: object title: Base Item @@ -2217,7 +2191,7 @@ components: - type 2: per_total_discount - type 3: shipping_discount - type 4: free_shipping - enum: + enum: - 0 - 1 - 2 @@ -2314,6 +2288,7 @@ components: |`3`|`shipping_discount`| |`4`|`free_shipping`| |`5`|`promotion`| + x-internal: false properties: code: description: The coupon code. @@ -2333,6 +2308,13 @@ components: type 4: free_shipping type 5: promotion type: string + enum: + - '0' + - '1' + - '2' + - '3' + - '4' + - '5' readOnly: true discounted_amount: description: The discounted amount applied within a given context. @@ -2341,7 +2323,6 @@ components: readOnly: true required: - code - x-internal: false AppliedDiscount: type: object title: Applied Discount @@ -2390,7 +2371,7 @@ components: type: string list_price: type: string - description: Specifies the price of the item. This value can include or exclude tax, depending on the store setup. + description: 'Specifies the price of the item. This value can include or exclude tax, depending on the store setup.' ItemCustomGet: type: object title: Item Custom @@ -2414,7 +2395,7 @@ components: type: string list_price: type: string - description: Specifies the price of the item. This value can include or exclude tax, depending on the store setup. + description: 'Specifies the price of the item. This value can include or exclude tax, depending on the store setup.' cart_PostVariant: type: object title: Item with variant @@ -2432,23 +2413,7 @@ components: description: Variant ID. Exists only in Catalog V3. name: type: string - description: Optionally, provide a value to override the product name. - weight: - type: number - description: Optionally, provide a value to override the product weight. - dimensions: - type: object - description: Optionally, provide a value to override the product dimensions. - properties: - height: - type: number - description: The custom height of the product. - width: - type: number - description: The custom width of the product. - depth: - type: number - description: The custom depth of the product. + description: 'Optionally, provide a value to override the product name.' gift_wrapping: type: object properties: @@ -2499,23 +2464,7 @@ components: description: Optional price override. name: type: string - description: Optionally, provide a value to override the product name. - weight: - type: number - description: Optionally, provide a value to override the product weight. - dimensions: - type: object - description: Optionally, provide a value to override the product dimensions. - properties: - height: - type: number - description: The custom height of the product. - width: - type: number - description: The custom width of the product. - depth: - type: number - description: The custom depth of the product. + description: 'Optionally, provide a value to override the product name.' option_selections: type: array description: Needed for Catalog V2. @@ -2877,8 +2826,6 @@ components: ``` properties: id: - description: ID of the applied discount. - example: coupon oneOf: - type: string - type: number @@ -2886,61 +2833,55 @@ components: type: number description: The discounted amount. coupons: - type: array - items: - type: object - title: Applied Coupon - properties: - coupons: + oneOf: + - type: number + - type: array + items: type: object - description: Required in a /POST request. + title: Applied Coupon properties: - coupon_code: - type: object - description: The coupon code. - properties: - id: - type: integer - example: 6 - description: The ID of the coupon. - code: - type: string - example: KV56053388J - description: The coupon code. Required in a /POST request. - name: - type: string - example: Percentage off - description: Name given to the coupon in the control panel. - discountType: - type: integer - description: |- - The discount type. - - - type 0: per_item_discount - - type 1: percentage_discount - - type 2: per_total_discount - - type 3: shipping_discount - - type 4: free_shipping - enum: - - 0 - - 1 - - 2 - - 3 - - 4 - discountAmount: - type: integer - description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' - example: 3 - expiresDate: - type: integer - example: 0 - description: Returns 0 if no expiration date is set. - totalDiscount: - type: number - example: 4.19 - description: The total amount of all discounts applied to the cart. + id: + type: integer + example: 6 + description: ID of the coupon. + code: + type: string + example: KV56053388J + description: The coupon code. Required in a /POST request. + name: + type: string + example: Percentage off + description: Name given to the coupon in the control panel. + discountType: + type: integer + description: |- + The discount type. + - type 0: per_item_discount + - type 1: percentage_discount + - type 2: per_total_discount + - type 3: shipping_discount + - type 4: free_shipping + example: 3 + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + discountAmount: + type: integer + description: 'The amount of the discount based on the coupon. For example, 3 percent off will show a 3.' + example: 3 + expiresDate: + type: integer + example: 0 + description: Returns 0 if no expiration date has been set. + totalDiscount: + type: number + example: 4.19 + description: The total amount of all discounts applied to the cart. required: - - coupon_code + - code discount_amount: type: number description: The total value of all discounts applied to this item. This includes coupons and cart-level discounts. @@ -2987,22 +2928,9 @@ components: - variant_id - product_id - quantity - - properties: - is_require_shipping: - type: boolean - gift_wrapping: - title: Gift Wrapping - type: object - properties: - name: - type: string - message: - type: string - amount: - type: number - format: float - title: Item Physical Get - x-internal: false + - {} + title: '' + description: '' NotFound: description: Error payload for the BigCommerce API. type: object @@ -3061,7 +2989,6 @@ components: type: string description: | Determines the visibility and writeability of the field by other API consumers. - | Value | Description | | :--- | :--- | | `app_only` | Private to the app that owns the field. | @@ -3138,7 +3065,6 @@ components: type: string description: | Determines the visibility and writeability of the field by other API consumers. - | Value | Description | | :--- | :--- | | `app_only` | Private to the app that owns the field. | @@ -3312,10 +3238,9 @@ components: 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' + default: application/json cartId: name: cartId in: path diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 606111a3e..72d560928 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1,27632 +1,27646 @@ -openapi: '3.0.3' -info: - title: Catalog - description: |- - The Catalog API allows you to manage products, categories, bulk pricing rules, and more. To learn more about catalog resources see [Catalog Overview](/api-docs/store-management/catalog/catalog-overview). - - - [Authentication](#authentication) - - [Resources](#resources) - - ## Resources - - ### Webhooks - * [Category](/api-docs/store-management/webhooks/events#category) - - ### Related Endpoints - * [Catalog API](/docs/rest-management/catalog) - - Manage channel-specific categories. - - Create and manage category trees for BigCommerce stores. - - Create and manage products assignments. - termsOfService: 'https://www.bigcommerce.com/terms' - contact: - name: BigCommerce - url: 'https://www.bigcommerce.com' - email: support@bigcommerce.com - version: '' -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: Brands - - name: Brand Images - - name: Brand Metafields - - name: Category - - name: Categories - - name: Categories Batch - - name: Category Metafields - - name: Category Images - - name: Product Sort Order - - name: Products - - name: Product Bulk Pricing Rules - - name: Product Complex Rules - - name: Product Custom Fields - - name: Product Images - - name: Product Metafields - - name: Product Modifiers - - name: Product Modifier Values - - name: Product Modifier Images - - name: Product Options - - name: Product Option Values - - name: Product Reviews - - name: Product Variants - - name: Product Variants Metafields - - name: Product Variant Options - - name: Product Variant Option Values - - name: Product Videos - - name: Products Channel Assignments - - name: Products Category Assignments - - name: Summary - - name: Variants - - name: Category Trees -paths: - '/catalog/products': - get: - tags: - - Products - summary: Get All Products - description: Returns a list of **Products**. Optional filter parameters can be passed in. - operationId: getProducts - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: upc - in: query - description: | - Filter items by upc. - schema: - type: string - - name: price - in: query - description: | - Filter items by price. - schema: - type: number - - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - - name: date_modified - in: query - description: 'Filter items by `date_modified`. ' - schema: - type: string - format: date-time - - name: 'date_modified:max' - in: query - description: 'Filter items by `date_modified`. For example, `date_modified:max=2020-06-15`.' - schema: - type: string - - name: 'date_modified:min' - in: query - description: 'Filter items by `date_modified`. For example, `date_modified:min=2018-06-15`.' - schema: - type: string - - name: date_last_imported - in: query - description: Filter items by date_last_imported. - schema: - type: string - format: date-time - - name: 'date_last_imported:max' - in: query - description: 'Filter items by date_last_imported. For example, `date_last_imported:max=2020-06-15`.' - schema: - type: string - - name: 'date_last_imported:min' - in: query - description: 'Filter items by date_last_imported. For example, `date_last_imported:min=2018-06-15`.' - schema: - type: string - - name: is_visible - in: query - description: Filter items based on whether the product is currently visible on the storefront. - schema: - type: boolean - - name: is_featured - in: query - description: 'Filter items by is_featured. `1` for true, `0` for false.' - schema: - type: integer - enum: - - 1 - - 0 - - name: is_free_shipping - in: query - description: 'Filter items by is_free_shipping. `1` for true, `0` for false.' - schema: - type: integer - - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - - name: 'inventory_level:in' - in: query - schema: - type: integer - - name: 'inventory_level:not_in' - in: query - schema: - type: integer - - name: 'inventory_level:min' - in: query - schema: - type: integer - - name: 'inventory_level:max' - in: query - schema: - type: integer - - name: 'inventory_level:greater' - in: query - schema: - type: integer - - name: 'inventory_level:less' - in: query - schema: - type: integer - - name: inventory_low - in: query - description: | - Filter items by inventory_low. Values: 1, 0. - schema: - type: integer - - name: out_of_stock - in: query - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - schema: - type: integer - - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - - name: type - in: query - description: Filter items by type. - schema: - type: string - enum: - - digital - - physical - - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - - name: keyword - in: query - description: Filter items by keywords found in the `name` or `sku` fields - schema: - type: string - - name: keyword_context - in: query - description: Set context used by the search algorithm to return results targeted towards the specified group. Use `merchant` to help merchants search their own catalog. Use `shopper` to return shopper-facing search results. - schema: - type: string - enum: - - shopper - - merchant - - name: status - in: query - description: | - Filter items by status. - schema: - type: integer - - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: availability - in: query - description: | - Filter items by availability. Values are: available, disabled, preorder. - schema: - type: string - enum: - - available - - disabled - - preorder - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: direction - in: query - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - schema: - type: string - enum: - - asc - - desc - - name: sort - in: query - description: | - Field name to sort by. Note: Since `id` increments when new products are added, you can use that field to sort by product create date. - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - - name: 'categories:in' - in: query - description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' - schema: - type: integer - - name: sku - in: query - description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' - schema: - type: string - - name: 'sku:in' - in: query - description: Filter items by SKU. - style: form - explode: false - schema: - type: array - items: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - put: - tags: - - Products - summary: Update Products (Batch) - description: |- - Updates products in batches. Batches are limited to 10 products. - - **Required Fields** - * `id` - product `id` is required for batch updates to products. - - **Read-Only Fields** - - `id` - - `date_created` - - `date_modified` - - `calculated_price` - - `base_variant_id` - operationId: updateProducts - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Put_Collection' - examples: - example-1: - value: - - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - required: false - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - examples: - example-1: - value: - data: - - id: 1 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: - pagination: - total: 36 - count: 36 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: string - current: '?page=1&limit=50' - next: string - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: '`Product` was in conflict with another product. This is the result of duplicate unique values such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`.' - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse_409' - '413': - description: 413 Request Entity Too Large - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - example: - errors: {} - status: 413 - title: The request payload is too large. The maximum items allowed in the array is 50 - type: /api-docs/getting-started/api-status-codes - '422': - description: '`Product` was not valid. This is the result of missing required fields or invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse_422' - x-codegen-request-body-name: products - post: - tags: - - Products - summary: Create a Product - description: |- - Creates a *Product*. Only one product can be created at a time. - - **Required Fields:** - - `name` - - `type` - - `weight` - - `price` - - **Read-Only Fields** - - `id` - - `date_created` - - `date_modified` - - `calculated_price` - - `base_variant_id` - - **Limits** - - 250 characters product name length. - - **Usage Notes** - * `POST` requests to `/products` accept a `video` array. - * `POST` requests to `/products/{product_id}/videos` accept a `video` object. - operationId: createProduct - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - '207': - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - - '409': - description: | - `Product` was in conflict with another product. This is the result of duplicate unique values, such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: product - delete: - tags: - - Products - summary: Delete Products - description: |- - To delete *Product* objects, you must include a filter. This prevents inadvertently deleting all *Product* objects in a store. - - > #### Note - > The maximum number of products you can delete at one time is 250. - - **Example**: - To delete products with the id's of 1,2 and 3, use `DELETE /v3/catalog/products?id:in=1,2,3`. - operationId: deleteProducts - parameters: - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - - name: price - in: query - description: | - Filter items by price. - schema: - type: number - - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - - name: date_modified - in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - schema: - type: string - format: date-time - - name: date_last_imported - in: query - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - schema: - type: string - format: date-time - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: is_featured - in: query - description: | - Filter items by is_featured. - schema: - type: integer - - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - - name: type - in: query - description: 'Filter items by type: `physical` or `digital`.' - schema: - type: string - enum: - - digital - - physical - - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - - name: keyword - in: query - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - schema: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/products/{product_id}': - get: - tags: - - Products - summary: Get a Product - description: Returns a single *Product*. Optional parameters can be passed in. - operationId: getProductById - parameters: - - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 174 - name: 1L Le Parfait Jar - type: physical - sku: '' - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 1 - width: 0 - depth: 0 - height: 0 - price: 7.95 - cost_price: 0 - retail_price: 10 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: '' - calculated_price: 7.95 - categories: - - 23 - - 21 - brand_id: 36 - option_set_id: 55 - option_set_display: right - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - reviews_rating_sum: 0 - reviews_count: 0 - total_sold: 7 - fixed_cost_shipping_price: 0 - is_free_shipping: false - is_visible: true - is_featured: false - related_products: - - -1 - warranty: '' - bin_picking_number: '' - layout_file: product.html - upc: '' - mpn: '' - gtin: '' - search_keywords: 'jar, glass' - availability: available - availability_description: '' - gift_wrapping_options_type: any - gift_wrapping_options_list: [] - sort_order: 0 - condition: New - is_condition_shown: false - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: '' - meta_keywords: [] - meta_description: '' - date_created: '2018-08-15T14:48:46+00:00' - date_modified: '2018-09-05T20:42:07+00:00' - view_count: 10 - preorder_release_date: '2018-09-05T20:42:07+00:00' - preorder_message: '' - is_preorder_only: false - is_price_hidden: false - price_hidden_label: '' - custom_url: - url: /all/1l-le-parfait-jar/ - is_customized: true - base_variant_id: 345 - open_graph_type: product - open_graph_title: '' - open_graph_description: '' - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Products - summary: Update a Product - description: | - Updates a *Product*. - - **Read-Only Fields** - - id - - date_created - - date_modified - - calculated_price - - base_variant_id - operationId: updateProduct - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: 12345678905 - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - '201': - description: Created - content: - application/json: - schema: - type: object - properties: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - `Product` was in conflict with another product. This is caused by: duplicate unique values, such as name or SKU; a missing category, brand, or tax_class with which the product is being associated; or a conflicting bulk pricing rule. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: product - delete: - tags: - - Products - summary: Delete a Product - description: Deletes a *Product*. - operationId: deleteProductById - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/images': - get: - tags: - - Product Images - summary: Get All Product Images - description: Returns a list of *Product Images*. Optional parameters can be passed in. - operationId: getProductImages - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Collection Response - type: object - properties: - data: - type: array - items: - title: Product Image - type: object - allOf: - - $ref: '#/components/schemas/productImage_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - - id: 382 - product_id: 158 - is_thumbnail: true - sort_order: 0 - description: '' - image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - - id: 383 - product_id: 158 - is_thumbnail: false - sort_order: 0 - description: '' - image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '204': - description: | - There are not any images on this product. - content: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Images - summary: Create a Product Image - description: |- - Creates a *Product Image*. - - **Required Fields** - - `image_file`, or - - `image_url` - - **Usage Notes** - - `image_url` - `255` character limit - - For file uploads, use the `multipart/form-data` media type - - Only one image at a time can be created - - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. - operationId: createProductImage - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Image Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. - multipart/form-data: - schema: - title: Product Image Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. - required: true - responses: - '200': - description: Success - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: |- - Unprocessable Entity. - - May occur if the `Content-Type` header is set to `multipart/form-data` rather than `application/json` when creating a product image using `image_url`. - content: - application/json: - schema: - required: - - status - - title - - type - type: object - properties: - status: - type: number - title: - minLength: 1 - type: string - type: - minLength: 1 - type: string - description: '' - example: - status: 422 - title: image_url must be present if uploading by url - type: /api-docs/getting-started/api-status-codes - x-codegen-request-body-name: productImage - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/images/{image_id}': - get: - tags: - - Product Images - summary: Get a Product Image - description: Returns a single *Product Image*. Optional parameters can be passed in. - operationId: getProductImageById - parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - $ref: '#/components/schemas/productImage_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Images - summary: Update a Product Image - description: |- - Updates a *Product Image*. - - **Usage Notes** - - `image_url` - `255` character limit - - For file uploads, send a POST request using the `multipart/form-data` media type - operationId: updateProductImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productImage_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '201': - description: Created - content: - application/json: - schema: - type: object - properties: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productImage - delete: - tags: - - Product Images - summary: Delete a Product Image - description: Deletes a *Product Image*. - operationId: deleteProductImage - parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ImageIdParam' - '/catalog/products/{product_id}/videos': - get: - tags: - - Product Videos - summary: Get All Product Videos - description: Returns a list of *Product Videos*. Optional parameters can be passed in. - operationId: getProductVideos - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productVideo_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - type: youtube - video_id: PqBTp23RLhI - product_id: 192 - sort_order: 1 - title: Creating and Editing Banners | BigCommerce Tutorials - description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' - length: '01:54' - - id: 7 - type: youtube - video_id: EhYBjzqd-nI - product_id: 192 - sort_order: 2 - title: BigCommerce Company Values - description: |- - These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. - - Join the BigCommerce team and help us build software that changes lives! - - https://www.bigcommerce.com/careers/ - length: '03:30' - - id: 8 - type: youtube - video_id: vAUdo4kRjrU - product_id: 192 - sort_order: 3 - title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce - description: |- - We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: - - “I am given the freedom and trust to make a difference.” - - “Everyone believes in the product and growing the company.” - - “I'm appreciated for the work I do and there is room to grown within the company.” - - Work With Us! - http://www.bigcommerce.com/careers.php - length: '01:37' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Videos - summary: Create a Product Video - description: |- - Creates a *Product Video*. - - **Required Fields** - * video_id - - **Read-Only Fields** - * id - - Publicly accessible URLs are valid parameters. - Videos must be loaded through YouTube at this time. - operationId: createProductVideo - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Video Post - description: | - The model for a POST to create a video on a product. - allOf: - - title: Product Video Base - description: Common Product Video properties. - properties: - title: - maxLength: 255 - minLength: 0 - type: string - example: Writing Great Documentation - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - example: A video about documenation - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - example: 1 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - - properties: - video_id: - type: string - maxLength: 25 - minLength: 0 - description: | - The ID of the video on a host site. - x-required: - - post - example: z3fRu9pkuXE - type: object - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productVideo - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/videos/{id}': - get: - tags: - - Product Videos - summary: Get a Product Video - description: Returns a single *Product Video*. Optional parameters can be passed in. - operationId: getProductVideoById - parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - $ref: '#/components/schemas/productVideo_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Videos - summary: Update a Product Video - description: |- - Updates a *Product Video. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateProductVideo - parameters: - - $ref: '#/components/parameters/ContentType' - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Product Video Put - description: | - The model for a PUT to update a video on a product. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productVideo - delete: - tags: - - Product Videos - summary: Delete a Product Video - description: Deletes a *Product Video*. - operationId: deleteProductVideo - parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VideoIdParam' - '/catalog/products/{product_id}/variants': - get: - tags: - - Product Variants - summary: Get All Product Variants - description: Returns a list of product *Variants*. Optional parameters can be passed in. - operationId: getVariantsByProductId - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 382 - product_id: 192 - sku: SMIT - sku_id: 348 - price: 10 - calculated_price: 10 - sale_price: 8 - retail_price: 10 - map_price: {} - weight: 4 - calculated_weight: 2 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 0 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 174 - label: Beige - option_id: 220 - option_display_name: Color - - id: 383 - product_id: 192 - sku: SMIT-1 - sku_id: 349 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 175 - label: Grey - option_id: 220 - option_display_name: Color - - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variants - summary: Create a Product Variant - description: |- - Creates a *Product Variant*. - - **Required Fields** - * sku - * option_values - - **Read-Only Fields** - * id - - **Limits** - * 600 SKUs per product limit. - * 255 characters SKU length limit. - - Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. - operationId: createVariant - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productVariant_Post' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - examples: - example-1: - value: - data: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - example-2: - value: - data: - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Variant - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/variants/{variant_id}': - get: - tags: - - Product Variants - summary: Get a Product Variant - description: Returns a single product *Variant*. Optional parameters can be passed in. - operationId: getVariantById - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variants - summary: Update a Product Variant - description: Updates a product *Variant*. - operationId: updateVariant - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productVariant_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - bin_picking_number: '0' - calculated_price: 85 - calculated_weight: 1 - cost_price: 0 - depth: 22 - fixed_cost_shipping_price: 0 - gtin: '' - height: 14.6 - id: 65 - inventory_level: 0 - inventory_warning_level: 0 - is_free_shipping: false - map_price: 0 - mpn: TR-SML02 - option_values: [] - price: 89 - product_id: 81 - purchasing_disabled: true - purchasing_disabled_message: This item is not available. - retail_price: 89 - sale_price: 85 - sku: OTS - sku_id: 10 - upc: '' - weight: 1 - width: 2 - meta: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Variant - delete: - tags: - - Product Variants - summary: Delete a Product Variant - description: Deletes a product *Variant*. - operationId: deleteVariantById - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/metafields': - get: - tags: - - Product Variants Metafields - summary: Get All Product Variant Metafields - description: Returns a list of product variant *Metafields*. Optional parameters can be passed in. - operationId: getVariantMetafieldsByProductIdAndVariantId - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/categoriesTree_Resp' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variants Metafields - summary: Create a Product Variant Metafield - description: |- - Creates a product variant *Metafield*. - - **Required Fields:** - * permission_set - * namespace - * key - * value - - **Read-Only Fields** - * id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createVariantMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: variant - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique-key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': - get: - tags: - - Product Variants Metafields - summary: Get a Product Variant Metafields - description: Returns a single product variant *Metafield*. Optional parameters can be passed in. - operationId: getVariantMetafieldByProductIdAndVariantId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: variant - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variants Metafields - summary: Update Product Variant Metafields - description: "Updates a product variant *Metafield*.\n\n**Required Fields:**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " - operationId: updateVariantMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: variant - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Product Variants Metafields - summary: Delete a Variant Metafield - description: Deletes a product variant *Metafield*. - operationId: deleteVariantMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/image': - post: - tags: - - Product Variants - summary: Create a Variant Image - description: |- - Creates a *Variant Image*. - - The image will show on the storefront when the value is selected. - - **Required Fields** - - image_file: Form posts. Files larger than 1 MB are not accepted - - image_url: Any publicly available URL - operationId: createVariantImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - multipart/form-data: - schema: - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - required: false - responses: - '200': - description: '`image_url` is returned for both `image_file` and `image_url`.' - content: - application/json: - schema: - title: Image Response - type: object - properties: - data: - title: Resource Image - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - example: - data: - image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Image was not valid. This is the result of a missing `image_file` field or of an incorrect file type. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '500': - description: Returns for an `image_file` larger than 1 MB. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/options': - get: - tags: - - Product Variant Options - summary: Get All Product Variant Options - description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. ' - operationId: getOptions - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productOption_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get all product options - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variant Options - summary: Create a Product Variant Option - description: |- - Creates a *Variant Option*. - - **Required Fields** - * display_name - * type - * option_values - - **Read-Only Fields** - * id - - **Limits** - * 255 characters option name length. - - **Notes** - - * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. - * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. - * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. - * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. - operationId: createOption - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Option Post - description: The model for a POST to create options on a product. - allOf: - - title: Option Base - description: Common Option properties. - properties: - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - description: The values for option config can vary based on the Modifier created. - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - x-required: - - post - - put - items: - title: Option Value - allOf: - - title: Option Value Base - description: Common Option Value properties. - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - required: - - label - - sort_order - - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - type: object - image_url: - type: string - description: Publicly available image url - type: object - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - description: Common Option properties. - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - description: The values for option config can vary based on the Modifier created. - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - x-required: - - post - - put - items: - title: Option Value - allOf: - - title: Option Value Base - description: Common Option Value properties. - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - required: - - label - - sort_order - - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - type: object - image_url: - type: string - description: Publicly available image url - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - examples: - example-1: - value: - data: - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: earliest - date_earliest_value: '2022-08-24T00:00:00+00:00' - date_latest_value: '2022-08-27T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: none - sort_order: 1 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - image_url: string - name: Add-a-$5-Donation1535042499-187 - meta: {} - example-2: - value: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - '409': - description: | - Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - Option was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Option - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/options/{option_id}': - get: - tags: - - Product Variant Options - summary: Get a Product Variant Option - description: Returns a single *Variant Option*. Optional parameters can be passed in. - operationId: getOptionById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - $ref: '#/components/schemas/productOption_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variant Options - summary: Update a Product Variant Option - description: |- - Updates a *Variant Option*. - - **Read-Only Fields** - * id - operationId: updateOption - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Option Put - description: The model for a PUT to update options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - '409': - description: | - The `Option` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Option` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: option - delete: - tags: - - Product Variant Options - summary: Delete a Product Variant Option - description: Deletes a *Variant Option*. - operationId: deleteOptionById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - '/catalog/products/{product_id}/options/{option_id}/values': - get: - tags: - - Product Variant Option Values - summary: Get All Product Variant Option Values - description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in. - operationId: getOptionValues - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Collection Response - type: object - properties: - data: - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get Option Values response. - example: - data: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - meta: - pagination: - total: 4 - count: 4 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Variant Option Values - summary: Create a Product Variant Option Value - description: |- - Creates a *Variant Option Value*. - - **Required Fields** - * label - * sort_order - - **Read-Only Fields** - * id - - **Limits** - * 250 option values per option limit. - operationId: createOptionValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Option Value Post - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '422': - description: | - The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: OptionValue - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - '/catalog/products/{product_id}/options/{option_id}/values/{value_id}': - get: - tags: - - Product Variant Option Values - summary: Get a Product Variant Option Value - description: Returns a single *Variant Option Value*. Optional parameters can be passed in. - operationId: getOptionValueById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variant Option Values - summary: Update a Product Variant Option Value - description: |- - Updates a *Variant Option Value*. - - **Read-Only Fields** - * id - operationId: updateOptionValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - requestBody: - description: | - A BigCommerce `OptionValue` object. - content: - application/json: - schema: - title: Option Value Put - description: The model for a PUT to update option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '404': - description: No option(s) were found with this query. - content: {} - '422': - description: | - The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: OptionValue - delete: - tags: - - Product Variant Option Values - summary: Delete a Product Variant Option Value - description: Deletes a *Variant Option Value*. - operationId: deleteOptionValueById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/modifiers': - get: - tags: - - Product Modifiers - summary: Get All Product Modifiers - description: Returns a list of all *Product Modifiers*. Optional parameters can be passed in. - operationId: getModifiers - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productModifier_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Modifier Collection Response return for /GET All Modifiers. - example: - data: - - id: 206 - product_id: 158 - name: Insurance - display_name: Insurace - type: checkbox - required: true - config: - checkbox_label: $5 for insurance - checked_by_default: false - option_values: - - id: 183 - option_id: 206 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 184 - option_id: 206 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Modifiers - summary: Create a Product Modifier - description: |- - Creates a *Product Modifier*. - - **Required Fields** - * `required` - * `display_name` - * `type` - - **Read-Only Fields** - * `id` - - **Notes** - It takes two separate requests to create a new checkbox modifier with option values. Perform a request to create a modifier, then perform a second request to update option values. - operationId: createModifier - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Modifier Post - description: The model for a POST to create a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - required: - - display_name - type: object - properties: - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - x-required: - - post - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `Modifier` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Modifier - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}': - get: - tags: - - Product Modifiers - summary: Get a Modifier - description: Returns a single *Product Modifier*. Optional parameters can be passed in. - operationId: getModifierById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - $ref: '#/components/schemas/productModifier_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Modifiers - summary: Update a Modifier - description: Updates a *Product Modifier*. - operationId: updateModifier - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Put - description: The model for a PUT to update a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: 'Part of Modifier Value Response ' - description: Common Modifier properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `Modifier` was in conflict with another modifier or option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Modifier - delete: - tags: - - Product Modifiers - summary: Delete a Modifier - description: Deletes a *Product Modifier*. - operationId: deleteModifierById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values': - get: - tags: - - Product Modifier Values - summary: Get All Modifier Values - description: Returns a list of all product *Modifier Values*. Optional parameters can be passed in. - operationId: getModifierValues - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productModifierOptionValue_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Returns for GET All Modifier Values on a Product - example: - data: - - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 191 - option_id: 222 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Modifier Values - summary: Create Modifier Value - description: |- - Creates a *Modifier Value*. - - **Required Fields** - * label - * sort_order - - **Read-Only Fields** - * id - operationId: createModifierValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Value Post - description: The model for a POST to create a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '422': - description: | - The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ModifierValue - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': - get: - tags: - - Product Modifier Values - summary: Get a Modifier Value - description: Returns a single *Modifier Value*. Optional parameters can be passed in. - operationId: getModifierValueById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - $ref: '#/components/schemas/productModifierOptionValue_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - security: - - X-Auth-Token: [] - put: - tags: - - Product Modifier Values - summary: Update a Modifier Value - description: |- - Updates a *Modifier Value*. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateModifierValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Value Put - description: The model for a PUT to update a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '422': - description: | - The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ModifierValue - delete: - tags: - - Product Modifier Values - summary: Delete Modifier Value - description: Deletes a *Modifier Value*. - operationId: deleteModifierValueById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': - post: - tags: - - Product Modifier Images - summary: Create Modifier Image - description: |- - Creates a *Modifier Image*. - - The image will show on the storefront when the value is selected. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - operationId: createModifierImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - title: Image Response - type: object - properties: - data: - title: Resource Image - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - example: - data: - image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Modifier image was not valid. This is the result of missing `image_file` fields, or of a non-URL value for the `image_file` field. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/complex-rules': - get: - tags: - - Product Complex Rules - summary: Get Complex Rules - description: Returns a list of all product *Complex Rules*. Optional parameters may be passed in. - operationId: getComplexRules - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Complex Rule Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/complexRule_Base' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Complex Rule Response - example: - data: - - id: 82 - product_id: 195 - sort_order: 0 - enabled: true - stop: false - price_adjuster: - adjuster: relative - adjuster_value: 8 - weight_adjuster: {} - purchasing_disabled: false - purchasing_disabled_message: '' - purchasing_hidden: false - image_url: '' - conditions: - - rule_id: 82 - modifier_id: 221 - modifier_value_id: 175 - variant_id: 1 - combination_id: 0 - - id: 83 - product_id: 195 - sort_order: 1 - enabled: true - stop: false - price_adjuster: {} - weight_adjuster: - adjuster: relative - adjuster_value: 3 - purchasing_disabled: false - purchasing_disabled_message: '' - purchasing_hidden: false - image_url: '' - conditions: - - rule_id: 83 - modifier_id: 221 - modifier_value_id: 174 - variant_id: 1 - combination_id: 0 - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Complex Rules - summary: Create a Complex Rule - description: |- - Creates a product *Complex Rule*. - - **Required Fields** - - modifier_id - - modifier_value_id - - modifier_value_id - - variant_id - - **Read-Only Fields** - - complex_rule_id - - conditions_id - - rule_id - - combination_id - - id - operationId: createComplexRule - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Complex Rule - type: object - properties: - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ComplexRule - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/complex-rules/{complex_rule_id}': - get: - tags: - - Product Complex Rules - summary: Get a Complex Rule - description: Returns a single *Complex Rule*. Optional parameters can be passed in. - operationId: getComplexRuleById - parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Complex Rules - summary: Update a Complex Rule - description: |- - Updates a *Complex Rule*. - - **Required Fields**: - - none - - **Read-Only Fields**: - - complex_rule_id - - conditions_id - - rule_id - - combination_id - - id - operationId: updateComplexRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - requestBody: - content: - application/json: - schema: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ComplexRule - delete: - tags: - - Product Complex Rules - summary: Delete a Complex Rule - description: Deletes a product *Complex Rule*. - operationId: deleteComplexRuleById - parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ComplexRuleIdParam' - '/catalog/products/{product_id}/custom-fields': - get: - tags: - - Product Custom Fields - summary: Get Custom Fields - description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. - operationId: getCustomFields - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - name: Release year - value: '1987' - id: 1 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: '?page=1&limit=50' - current: '?page=1&limit=50' - next: '?page=1&limit=50' - post: - tags: - - Product Custom Fields - summary: Create a Custom Fields - description: |- - Creates a *Custom Field*. - - **Required Fields:** - - name - - value - - **Read-Only:** - - id - - **Limits** - - 200 custom fields per product limit. - - 255 characters per custom field limit. - operationId: createCustomField - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Custom Field - required: - - name - - value - type: object - properties: - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: CustomField - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/custom-fields/{custom_field_id}': - get: - tags: - - Product Custom Fields - summary: Get a Custom Field - description: Returns a single *Custom Field*. Optional parameters can be passed in. - operationId: getCustomFieldById - parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productCustomField_Base' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Custom Fields - summary: Update a Custom Field - description: |- - Updates a *Custom Field*. - - **Required Fields** - - none - - **Read-Only** - - id - operationId: updateCustomField - parameters: - - $ref: '#/components/parameters/ContentType' - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: CustomField - delete: - tags: - - Product Custom Fields - summary: Delete a Custom Field - description: Deletes a product *Custom Field*. - operationId: deleteCustomFieldById - parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - responses: - '204': - description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' - content: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/CustomFieldIdParam' - '/catalog/products/{product_id}/bulk-pricing-rules': - get: - tags: - - Product Bulk Pricing Rules - summary: Get All Bulk Pricing Rules - description: Returns a list of *Bulk Pricing Rules*. Optional parameters can be passed in. - operationId: getBulkPricingRules - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - - id: 84 - quantity_min: 4 - quantity_max: 0 - type: price - amount: 1 - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Bulk Pricing Rules - summary: Create a Bulk Pricing Rule - description: |- - Creates a *Bulk Pricing Rule*. - - **Required Fields** - - quantity_min - - quantity_max - - type - - amount - - **Read-Only Fields** - - id - - **Limits** - - 50 bulk pricing rule per product limit. - operationId: createBulkPricingRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/bulkPricingRule_Full' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - title: Meta - type: object - description: Empty meta object; may be used later. - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: BulkPricingRule - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': - get: - tags: - - Product Bulk Pricing Rules - summary: Get a Bulk Pricing Rule - description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. - operationId: getBulkPricingRuleById - parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Bulk Pricing Rules - summary: Update a Bulk Pricing Rule - description: |- - Updates a *Bulk Pricing Rule*. - - **Required Fields** - * none - - **Read-Only Fields** - - id - operationId: updateBulkPricingRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Bulk Pricing Rule - required: - - amount - - quantity_max - - quantity_min - - type - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. - Required in /POST. - example: 10 - x-required: - - post - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - Required in /POST. - example: 50 - x-required: - - post - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - Required in /POST. - example: price - enum: - - price - - percent - - fixed - x-required: - - post - amount: - type: integer - description: |- - The discount can be a fixed dollar amount or a percentage. For a fixed dollar amount enter it as an integer and the response will return as an integer. For percentage enter the amount as the percentage divided by 100 using string format. For example 10% percent would be “.10”. The response will return as an integer. - Required in /POST. - description: Common BulkPricingRule properties - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: BulkPricingRule - delete: - tags: - - Product Bulk Pricing Rules - summary: Delete a Bulk Pricing Rule - description: Deletes a *Bulk Pricing Rule*. - operationId: deleteBulkPricingRuleById - parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/BulkPricingRuleIdParam' - '/catalog/products/{product_id}/metafields': - get: - tags: - - Product Metafields - summary: Get All Product Metafields - description: Returns a list of *Product Metafields*. Optional parameters can be passed in. - operationId: getProductMetafieldsByProductId - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: product - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Sublocation - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: product - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Metafields - summary: Create a Product Metafield - description: |- - Creates a *Product Metafield*. - - **Required Fields:** - * permission_set - * namespace - * key - * value - - **Read-Only Fields** - * id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createProductMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: product - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: |- - The HTTP status code. - title: - type: string - description: |- - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/metafields/{metafield_id}': - get: - tags: - - Product Metafields - summary: Get a Product Metafield - description: Returns a single *Product Metafield*. Optional parameters can be passed in. - operationId: getProductMetafieldByProductId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Metafields - summary: Update a Product Metafield - description: "Updates a *Product Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified using the API account that created the metafield:\n\t* `namespace`\n\t* `key`\n\t* `permission_set`\n\t* `value`\n\n**Usage Notes**\n* Attempting to modify the `namespace`, `key`, `permission_set`, or `value` field using an API account different from the one used to create those metafields will result in a `403` error message. " - operationId: updateProductMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Product Metafields - summary: Delete a Product Metafield - description: Deletes a *Product Metafield*. - operationId: deleteProductMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/products/{product_id}/reviews': - get: - tags: - - Product Reviews - summary: Get Product Reviews - description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. - operationId: getProductReviews - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: status - in: query - description: 'Filter items by status. `1` for approved, `0` for pending.' - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Collection Response - type: object - properties: - data: - type: array - items: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaCollection_Full' - '204': - description: | - There are no reviews on this product. - content: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Reviews - summary: Create a Product Review - description: |- - Creates a *Product Review*. - - **Required Fields** - - title - - date_reviewed - - **Read-Only Fields** - * id - operationId: createProductReview - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Review Post - description: | - The model for a POST to create a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productReview - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/reviews/{review_id}': - get: - tags: - - Product Reviews - summary: Get a Product Review - description: Returns a single *Product Review*. Optional parameters maybe passed in. - operationId: getProductReviewById - parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Reviews - summary: Update a Product Review - description: |- - Updates a *Product Review*. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateProductReview - parameters: - - $ref: '#/components/parameters/ContentType' - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - requestBody: - description: | - A BigCommerce `ProductReview` object. - content: - application/json: - schema: - title: Product Review Put - description: | - The model for a PUT to update a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productReview - delete: - tags: - - Product Reviews - summary: Delete a Product Review - description: Deletes a *Product Review*. - operationId: deleteProductReview - parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ReviewIdParam' - '/catalog/categories': - get: - tags: - - Category - summary: Get All Categories - description: Returns a list of *Categories*. Optional filter parameters can be passed in. - operationId: getCategories - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: 'name:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - - name: 'parent_id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: 'page_title:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Base - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 19 - parent_id: 0 - name: Garden - description:

This is the garden description

- views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Category - summary: Create a Category - description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." - operationId: createCategory - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Category - type: object - description: Common Category object properties. - properties: - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the category should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - '409': - description: | - The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: category - delete: - tags: - - Category - summary: Delete Categories - description: |- - Deletes *Category* objects. At least one filter parameter is required to perform the `DELETE` operation. - - **Usage Notes** - - - Sending a `DELETE`request without specifying a filter parameter will result in a `422` error. - - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a category. - operationId: deleteCategories - parameters: - - name: id - in: query - description: Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: 'name:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: 'parent_id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'page_title:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/categories/{category_id}': - get: - tags: - - Category - summary: Get a Category - description: Returns a single *Category*. Optional parameters can be passed in. - operationId: getCategoryById - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Category - summary: Update a Category - description: |- - Updates a *Category*. - - **Required Fields** - * none - - **Read-Only Fields** - - id - operationId: updateCategory - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Category - type: object - description: Common Category object properties. - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - title: Category - type: object - description: Common Category object properties. - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - meta: - title: Meta - type: object - description: Empty meta object; may be used later. - '207': - $ref: '#/components/responses/General207Status' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: 'The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: 'The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: category - delete: - tags: - - Category - summary: Delete a Category - description: Deletes a *Category*. - operationId: deleteCategoryById - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/categories/{category_id}/metafields': - get: - tags: - - Category Metafields - summary: Get All Category Metafields - description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in. - operationId: getCategoryMetafieldsByCategoryId - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: category - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: category - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Category Metafields - summary: Create a Category Metafield - description: |- - Creates a *Category Metafield*. - - **Required Fields:** - - permission_set - - namespace - - key - - value - - **Read-Only Fields** - - id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createCategoryMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate, unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/categories/{category_id}/metafields/{metafield_id}': - get: - tags: - - Category Metafields - summary: Get a Category Metafield - description: Returns a single *Category Metafield*. Optional parameters can be passed in. - operationId: getCategoryMetafieldByCategoryId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Category Metafields - summary: Update a Category Metafield - description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " - operationId: updateCategoryMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Category Metafields - summary: Delete a Category Metafield - description: Deletes a *Category Metafield*. - operationId: deleteCategoryMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/categories/{category_id}/image': - post: - tags: - - Category Images - summary: Create a Category Image - description: |- - Create a *Category Image*. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - - Only one image at a time can be created. - Limit image size to 1MB. - To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. - operationId: createCategoryImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Image was not valid. This is the result of a missing `image_file` field or an incorrect file type. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - delete: - tags: - - Category Images - summary: Delete a Category Image - description: Deletes a *Cateogory Image*. - operationId: deleteCategoryImage - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/brands': - get: - tags: - - Brands - summary: Get All Brands - description: Returns a list of *Brands*. Optional filter parameters can be passed in. - operationId: getBrands - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/brand_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 35 - name: Sagaform - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: '' - search_keywords: '' - custom_url: - url: /brands/Sagaform.html - is_customized: false - - id: 36 - name: OFS - page_title: OFS - meta_keywords: - - modern - - ' clean' - - ' contemporary' - meta_description: OFS is a modern brand. - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/OFS.html - is_customized: false - - id: 37 - name: Common Good - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/k/screen%20shot%202018-05-07%20at%2012.24.24%20pm_1525785365__65102.png' - search_keywords: '' - custom_url: - url: /brands/Common-Good.html - is_customized: false - - id: 38 - name: BigCommerce - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: '' - search_keywords: '' - custom_url: - url: /bigcommerce/ - is_customized: false - - id: 39 - name: Test Brand One - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/q/apihqggzm__53766.jpg' - search_keywords: '' - custom_url: - url: /test-brand-one/ - is_customized: false - - id: 40 - name: Fog Linen Work - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /fog-linen-work/ - is_customized: false - - id: 41 - name: Barr-Co. - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /barr-co/ - is_customized: false - - id: 42 - name: Thames & Hudson - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /thames-hudson/ - is_customized: false - - id: 43 - name: Able Brewing - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /able-brewing/ - is_customized: false - - id: 44 - name: Chemex - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /chemex/ - is_customized: false - - id: 45 - name: Kinfolk - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /kinfolk/ - is_customized: false - - id: 46 - name: Iris Hantverk - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /iris-hantverk/ - is_customized: false - - id: 47 - name: Gather Journal - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /gather-journal/ - is_customized: false - - id: 48 - name: Openhouse Magazine - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /openhouse-magazine/ - is_customized: false - - id: 49 - name: Smith Journal - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /smith-journal/ - is_customized: false - meta: - pagination: - total: 15 - count: 15 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Brands - summary: Create a Brand - description: |- - Creates a *Brand*. - - **Required Fields** - - name - - **Read-Only Fields** - - id - - **Limits** - - 30,000 brands per store limit - operationId: createBrand - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Brand - type: object - description: Common brand properties. - properties: - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - description: The custom URL for the brand on the storefront. - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - required: - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '207': - $ref: '#/components/responses/General207Status' - '409': - description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: 'Brand was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Brand - delete: - tags: - - Brands - summary: Delete Brands - description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' - operationId: deleteBrands - parameters: - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/brands/{brand_id}': - get: - tags: - - Brands - summary: Get a Brand - description: Returns a single *Brand*. Optional filter parameters can be passed in. - operationId: getBrandById - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - $ref: '#/components/schemas/brand_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Brands - summary: Update a Brand - description: |- - Updates a *Brand*. - - **Required Fields** - - None - - **Read-Only Fields** - - id - - To update a *Brand Image*, send a request with an `image_url`. - operationId: updateBrand - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - example: - - 'modern, clean, contemporary' - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - example: - - 'modern, clean, contemporary' - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '207': - $ref: '#/components/responses/General207Status' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `Brand` was in conflict with another product. This is the result of duplicate unique values, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Brand` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: brand - delete: - tags: - - Brands - summary: Delete a Brand - description: Deletes a *Brand*. - operationId: deleteBrandById - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/brands/{brand_id}/metafields': - get: - tags: - - Brand Metafields - summary: Get All Brand Metafields - description: 'Returns a list of *Brand Metafields*. Optional filter parameters can be passed in. ' - operationId: getBrandMetafieldsByBrandId - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: brand - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Brand location - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: brand - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Brand Metafields - summary: Create a Brand Metafield - description: |- - Creates a *Brand Metafield*. - - **Required Fields** - - permission_set - - namespace - - key - - value - - **Read-Only Fields** - - id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createBrandMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - examples: - example-1: - value: - data: - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: category - resource_id: 111 - description: Location in the warehouse - date_created: '2018-05-07T20:14:17+00:00' - date_modified: '2018-05-07T20:14:17+00:00' - meta: {} - example-2: - value: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/brands/{brand_id}/metafields/{metafield_id}': - get: - tags: - - Brand Metafields - summary: Get a Brand Metafields - description: Returns a *Brand Metafield*. Optional filter parameters can be passed in. - operationId: getBrandMetafieldByBrandId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Brand Metafields - summary: Update a Brand Metafield - description: "Updates a *Brand Metafield*.\n\n**Required Fields** \n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message.\n* The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center." - operationId: updateBrandMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Brand Metafields - summary: Delete a Brand Metafield - description: Deletes a *Brand Metafield*. - operationId: deleteBrandMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/brands/{brand_id}/image': - post: - tags: - - Brand Images - summary: Create a Brand Image - description: |- - Creates a *Brand Image*. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - - **Read-Only Fields** - - id - - Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. - operationId: createBrandImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: 'Image was not valid. This is the result of a missing `image_file` field, or of an incorrect file type. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - delete: - tags: - - Brand Images - summary: Delete a Brand Image - description: Deletes a *Brand Image*. - operationId: deleteBrandImage - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/variants': - get: - tags: - - Variants - summary: Get All Variants - description: Returns a list of all variants in your catalog. Optional parameters can be passed in. - operationId: getVariants - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: product_id - in: query - description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Variants - summary: Update Variants (Batch) - description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' - operationId: updateVariantsBatch - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Variants Collection Put - type: array - items: - title: Variant Put - type: object - description: | - The model for a PUT to update variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Collection Meta - type: object - properties: - pagination: - title: Pagination - type: object - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - description: 'Data about the response, including pagination and collection totals.' - '413': - description: '' - content: - application/json: - example: - errors: {} - status: 413 - title: The request payload is too large. The maximum items allowed in the array is 50 - type: /api-docs/getting-started/api-status-codes - '422': - description: | - This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Variants Batch Error Response - type: object - properties: - batch_errors: - type: array - items: - title: Error Response - type: object - allOf: - - title: Base Error - type: object - properties: - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - instance: - type: string - description: | - Error payload for the BigCommerce API. - - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - description: | - Errors during batch usage for the BigCommerce API. - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/summary': - get: - tags: - - Summary - summary: Get a Catalog Summary - description: |- - Returns a lightweight inventory summary from the BigCommerce Catalog. - - The inventory summary includes: - * "inventory_count" - * "variant_count" - * "inventory_value" - * "highest_variant_price" - * "average_variant_price" - * "lowest_variant_price" - * "oldest_variant_date" - * "newest_variant_date" - * "primary_category_id" - * "primary_category_name" - operationId: getCatalogSummary - responses: - '200': - description: '' - content: - application/json: - schema: - title: Catalog Summary Response - type: object - properties: - data: - title: Catalog Summary - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/categories/{category_id}/products/sort-order': - get: - tags: - - Product Sort Order - summary: Get Product Sort Order - description: |- - Returns a list of products and their sort order for a specific category. - - **Usage Notes** - * Data pairs are displayed in ascending order based on products' `sort_order` values. - * `null` values are allowed for products without specified `sort_order` values. - * Products with `sort_order` value of `null` will be displayed after products with valid numerical values. - * The priorities for determining product sort order on a storefront are the following: - - Priority 1: Manually specified sort order on Category Level (API). - - Priority 2: Manually specified sort order on Product (Global) Level (UI/API). - - Priority 3: Default sorting by Product ID (newly added products go first) (UI/API). - operationId: getsortorders - parameters: - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: {} - '404': - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - put: - tags: - - Product Sort Order - summary: Update Product Sort Order - description: Updates sort order of products within a specific category. - operationId: updatesortorder - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/productSortOrder' - required: false - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/productSortOrder' - '404': - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - '422': - description: |- - Unprocessable entity. - - Please verify if all requested products are assigned to the category. - - Please verify if all required fields are present in the request body and are filled with values correctly. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/trees/categories': - get: - summary: Get All Categories - description: |- - Returns a list of categories. - - To get a specific category in a tree, provide a category id. - tags: - - Categories Batch - parameters: - - name: 'category_uuid:in' - in: query - schema: - type: string - - name: 'category_uuid:not_in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - - name: 'category_id:not_in' - in: query - schema: - type: string - - name: 'tree_id:in' - in: query - schema: - type: string - - name: 'tree_id:not_in' - in: query - schema: - type: string - - name: 'parent_id:in' - in: query - schema: - type: string - - name: 'parent_id:not_in' - in: query - schema: - type: string - - name: name - in: query - schema: - type: string - - name: 'name:like' - in: query - schema: - type: string - - name: page_title - in: query - schema: - type: string - - name: 'page_title:like' - in: query - schema: - type: string - - name: keyword - in: query - schema: - type: string - - name: is_visible - in: query - schema: - type: boolean - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: include_fields - in: query - schema: - type: string - - name: exclude_fields - in: query - schema: - type: string - responses: - '200': - description: List of categories. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/MetaPagination' - examples: - example-1: - value: - data: - - id: 0 - parent_id: 2 - name: Bath - description:

We offer a wide variety of products perfect for relaxing

- views: 1050 - sort_order: 3 - page_title: Bath - meta_keywords: - - string - meta_description: string - layout_file: category.html - image_url: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - is_visible: true - search_keywords: string - default_product_sort: use_store_settings - url: - path: string - is_customized: true - meta: - pagination: - total: 246 - count: 5 - per_page: 5 - current_page: 1 - total_pages: 50 - links: - previous: '?limit=5&page=1' - current: '?limit=5&page=2' - next: '?limit=5&page=3' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: getAllCategories - post: - summary: Create Categories - description: |- - Creates new categories. - - Creating a category requires: - - `name` - - `url` - - `tree_id` or `parent_id` - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Categories Batch - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateCategories' - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessResponse' - '207': - description: Multi-Status - content: - application/json: - schema: - $ref: '#/components/schemas/PartialSuccessResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '422': - description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: createCategories - put: - summary: Update Categories - description: |- - Updates existing categories. - - To update a specific category in a tree, provide a category id. - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Categories Batch - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateCategories' - responses: - '200': - description: OK - '204': - description: No Content - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessNoContentResponse' - '207': - description: Partial success - content: - application/json: - schema: - $ref: '#/components/schemas/PartialSuccessNoContentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '422': - description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: updateCategories - delete: - summary: Delete Categories - description: |- - Deletes categories. - - To delete a specific category in a tree, provide a category id. - tags: - - Categories Batch - parameters: - - name: 'category_uuid:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - - name: 'tree_id:in' - in: query - schema: - type: string - - name: 'parent_id:in' - in: query - schema: - type: string - responses: - '204': - description: Categories are deleted - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessNoContentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '500': - description: Server error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: deleteTreeCategories - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/trees': - get: - summary: Get All Category Trees - description: Returns a list of *Category Trees*. - operationId: GetCategoryTrees - parameters: - - name: 'id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '200': - description: List of category trees. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Tree' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - example: - data: - - id: 0 - name: string - channels: - - 0 - meta: - pagination: - total: 246 - count: 5 - per_page: 5 - current_page: 1 - total_pages: 50 - links: - next: '?limit=5&page=2' - current: '?limit=5&page=1' - tags: - - Category Trees - put: - summary: Upsert Category Trees - description: | - Upserts *Category Trees*. - - If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. - - **Usage Notes** - * `channel_id` is required to create a *Category Tree*. - parameters: - - $ref: '#/components/parameters/ContentType' - operationId: UpsertCategoryTrees - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Tree' - example: - - id: 0 - name: string - channels: - - 0 - responses: - '200': - description: Created a category tree. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/Tree' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 0 - name: string - channels: - - 0 - meta: - type: object - properties: {} - description: Empty meta object; reserved for use later. - '422': - description: The Channel was not valid. See the response for more details. - content: - application/json: - schema: - $ref: '#/components/schemas/beta4ErrorResponse' - example: - status: 0 - title: string - type: string - instance: string - errors: - additionalProp1: string - additionalProp2: string - additionalProp3: string - tags: - - Category Trees - delete: - summary: Delete Category Trees - description: Deletes *Category Trees*. A filter must be supplied with the endpoint. - operationId: DeleteCategoryTrees - parameters: - - name: 'id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - tags: - - Category Trees - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/trees/{tree_id}/categories': - get: - summary: Get a Category Tree - description: Returns a *Category Tree*. - operationId: GetCategoryTreeByTreeId - parameters: - - name: depth - description: Max depth for a tree of categories. - in: query - schema: - type: integer - responses: - '200': - description: Categories tree - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/CategoryNode' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - - id: 0 - parent_id: 0 - depth: 0 - path: - - 0 - name: string - is_visible: true - children: - - string - meta: - type: object - properties: {} - description: Empty meta object; reserved for use later. - '404': - description: The tree was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/beta4ErrorResponse' - example: - status: 0 - title: string - type: string - instance: string - errors: - additionalProp1: string - additionalProp2: string - additionalProp3: string - tags: - - Category Trees - parameters: - - $ref: '#/components/parameters/Accept' - - schema: - type: string - name: tree_id - in: path - required: true - '/catalog/products/channel-assignments': - get: - summary: Get Products Channel Assignments - description: Returns a list of products channel assignments. - operationId: GetProductsChannelAssignments - tags: - - Products Channel Assignments - parameters: - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '200': - description: Collection of channel assignments. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/ProductChannelAssignment' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - put: - summary: Create Products Channel Assignments - description: Creates products channel assignments. - operationId: CreateProductsChannelAssignments - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Products Channel Assignments - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ProductChannelAssignment' - responses: - '204': - description: Updated - '422': - description: Error response for batch PUT of Channel Assignments. Includes the errors for each reference id. - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - delete: - summary: Delete Products Channel Assignments - description: Delete products channel assignments. A filter must be supplied. - operationId: DeleteProductsChannelAssignments - tags: - - Products Channel Assignments - parameters: - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - '422': - description: At least one filter must be provided in order to delete channel assignments - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/products/category-assignments': - get: - summary: Get Products Category Assignments - description: Returns a list of products category assignments. - operationId: GetProductsCategoryAssignments - tags: - - Products Category Assignments - parameters: - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - responses: - '200': - description: Collection of category assignments. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/ProductCategoryAssignment' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - put: - summary: Create Products Category Assignments. - description: Creates products category assignments. - operationId: CreateProductsCategoryAssignments - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Products Category Assignments - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ProductCategoryAssignment' - responses: - '204': - description: Updated - '422': - description: Error response for batch PUT of Category Assignments. Includes the errors for each reference id. - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - delete: - summary: Delete Products Category Assignments - description: Deletes products category assignments. A filter must be supplied. - operationId: DeleteProductsCategoryAssignments - tags: - - Products Category Assignments - parameters: - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - '422': - description: At least one filter must be provided in order to delete category assignments - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - parameters: - - $ref: '#/components/parameters/Accept' -components: - schemas: - formData_ImageFileParam: - type: string - description: | - An image file. Supported MIME types include GIF, JPEG, and PNG. - format: binary - productModifier_Base: - title: productModifier_Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - $ref: '#/components/schemas/config_Full' - display_name: - type: string - description: The name of the option shown on the storefront. - description: Common Modifier properties. - x-internal: false - productModifier_Full: - title: productModifier_Full - description: Product Modifier - allOf: - - $ref: '#/components/schemas/productModifier_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - option_values: - type: array - items: - $ref: '#/components/schemas/productModifierOptionValue_Full' - x-internal: false - productModifier_Post: - title: productModifier_Post - description: The model for a POST to create a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - required: - - display_name - type: object - properties: - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - x-required: - - post - x-internal: false - productModifier_Put: - title: productModifier_Put - description: The model for a PUT to update a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - x-internal: false - productModifierOptionValue_Base: - title: productModifierOptionValue_Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. - nullable: true - adjusters: - $ref: '#/components/schemas/adjusters_Full' - description: Common Product Modifer `option_value` properties. - x-internal: false - productModifierOptionValue_Full: - title: productModifierOptionValue_Full - description: Product Modifer `option_value`. - allOf: - - $ref: '#/components/schemas/productModifierOptionValue_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - option_id: - type: integer - x-internal: false - productModifierOptionValue_Post: - title: productModifierOptionValue_Post - description: The model for a POST to create a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - x-internal: false - productModifierOptionValue_Put: - title: productModifierOptionValue_Put - description: The model for a PUT to update a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - x-internal: false - resp_productionOption: - title: resp_productionOption - type: object - properties: - data: - $ref: '#/components/schemas/productOption_Full' - meta: - title: Meta - type: object - properties: - 'null': - type: string - description: Empty meta object; may be used later. - x-internal: false - productOption_Base: - title: productOption_Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - $ref: '#/components/schemas/productOptionConfig_Full' - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - $ref: '#/components/schemas/productOptionOptionValue_Full' - description: Common Option properties. - x-internal: false - productOption_Full: - title: productOption_Full - allOf: - - $ref: '#/components/schemas/productOption_Base' - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - x-internal: false - productOption_Post: - title: productOption_Post - description: The model for a POST to create options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - x-internal: false - productOption_Put: - title: productOption_Put - description: The model for a PUT to update options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - x-internal: false - categoriesTree_Resp: - title: categoriesTree_Resp - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/categoriesTreeNode_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Returns the categories tree, a nested lineage of the categories with parent->child relationship. The Category objects returned are simplified versions of the category objects returned in the rest of this API. - x-internal: false - categoriesTreeNode_Full: - title: categoriesTreeNode_Full - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the category; increments sequentially. - example: 26 - parent_id: - type: integer - description: | - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - example: 25 - name: - type: string - description: | - The name displayed for the category. Name is unique with respect to the category's siblings. - example: Bath - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - example: true - url: - type: string - description: | - The custom URL for the category on the storefront. - example: /towels/bath-towels/ - description: Used to reflect parent <> child category relationships. Used by Category Tree. - x-internal: false - category_Full: - title: category_Full - type: object - description: Common Category object properties. - x-internal: false - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - $ref: '#/components/schemas/customUrl_Full' - required: - - parent_id - - name - brand_Full: - title: brand_Full - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - $ref: '#/components/schemas/customUrl_Full' - description: Common Brand properties. - x-internal: false - productVariant_Base: - title: productVariant_Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - mpn: - type: string - description: The Manufacturer Part Number (MPN) for the variant. - gtin: - type: string - example: '012345678905' - description: Common Variant properties. - x-internal: false - x-examples: - example-1: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - productVariant_Full: - title: productVariant_Full - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - $ref: '#/components/schemas/productVariantOptionValue_Full' - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - calculated_weight: - type: number - x-internal: false - description: '' - x-examples: - example-1: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - productVariant_Post: - title: productVariant_Post - description: | - The model for a POST to create variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - image_url: - type: string - description: Publicly available image url - gtin: - type: string - description: Global Trade Item Number - example: '012345678905' - mpn: - type: string - description: Manufacturer Part Number - example: HV-HM02 - description: Common Variant properties. - - type: object - properties: - product_id: - type: integer - x-required: - - post - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - $ref: '#/components/schemas/productVariantOptionValue_Full' - x-required: - - post - x-internal: false - variantCollection_Put: - title: variantCollection_Put - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - x-internal: false - variant_Put: - title: variant_Put - description: | - The model for a PUT to update variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - x-required: - - put - x-internal: false - productVariant_Post_Product: - title: productVariant_Post_Product - description: | - The model for a POST to create variants on a product. - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - option_values: - type: array - items: - title: Option Value Product Post - type: object - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - x-required: - - post - x-internal: false - productVariant_Put_Product: - title: productVariant_Put_Product - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - product_id: - type: integer - sku: - maxLength: 255 - minLength: 1 - type: string - description: | - The model for a PUT to update variants on a product. - x-internal: false - productVariantOptionValue_Full: - title: productVariantOptionValue_Full - allOf: - - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - - $ref: '#/components/schemas/productVariantOptionValue_Base' - x-internal: false - productOptionValue_Post_Product: - title: productOptionValue_Post_Product - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - x-internal: false - productVariantOptionValue_Base: - title: productVariantOptionValue_Base - type: object - properties: - id: - type: integer - description: '`option_value` ID.' - example: 146 - option_id: - type: integer - description: '`option` ID.' - example: 151 - description: Common Product Variant Option properties. - x-internal: false - productVariantOptionValue_Post: - title: productVariantOptionValue_Post - type: object - properties: - id: - type: integer - x-required: - - post - option_id: - type: integer - x-required: - - post - description: The model for a POST to create option values on a variant. - x-internal: false - resp_productOptionValue: - title: resp_productOptionValue - type: object - properties: - data: - $ref: '#/components/schemas/productOptionOptionValue_Full' - meta: - title: Meta - type: object - properties: - 'null': - type: string - description: Empty meta object; may be used later. - x-internal: false - productOptionOptionValue_Base: - title: productOptionOptionValue_Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. - nullable: true - description: Common Product Option `option_value` properties. - x-internal: false - productOptionOptionValue_Full: - title: productOptionOptionValue_Full - description: Product Option `option_value`. - allOf: - - $ref: '#/components/schemas/productOptionOptionValue_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-internal: false - productOptionValue_Post: - title: productOptionValue_Post - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - x-internal: false - productOptionValue_Put: - title: productOptionValue_Put - description: The model for a PUT to update option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - x-internal: false - productImage_Base: - title: productImage_Base - type: object - properties: - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Limit of 1MB per file. - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - image_url: - type: string - description: 'Must be a fully qualified URL path, including protocol. Limit of 8MB per file.' - description: Common ProductImage properties. - x-internal: false - productImage_Post: - title: productImage_Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. - x-internal: false - productImage_Put: - title: productImage_Put - description: The model for a PUT to update applicable Product Image fields. - allOf: - - title: Product Image Base - type: object - properties: - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - description: Common ProductImage properties. - - $ref: '#/components/schemas/productImage_Base' - x-internal: false - productVideo_Base: - title: productVideo_Base - type: object - description: | - The model for a POST to create a video on a product. - x-internal: false - properties: - title: - type: string - maxLength: 255 - minLength: 0 - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - example: Writing Great Documentation - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - example: A video about documenation - sort_order: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - example: 1 - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - video_id: - type: string - description: The ID of the video on a host site. - example: z3fRu9pkuXE - productVideo_Full: - title: productVideo_Full - description: | - A product video model. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - x-internal: false - productVideo_Post: - title: productVideo_Post - description: | - The model for a POST to create a video on a product. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - x-internal: false - productVideo_Put: - title: productVideo_Put - description: | - The model for a PUT to update a video on a product. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - x-required: - - put - x-internal: false - productReview_Base: - title: productReview_Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - productReview_Full: - title: productReview_Full - description: | - A product review model. - allOf: - - $ref: '#/components/schemas/productReview_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - x-internal: false - productReview_Post: - title: productReview_Post - description: | - The model for a POST to create a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - productReview_Put: - title: productReview_Put - description: | - The model for a PUT to update a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - resp_productImage: - title: resp_productImage - type: object - properties: - data: - $ref: '#/components/schemas/productImage_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - x-internal: false - resourceImage_Full: - title: resourceImage_Full - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - x-internal: false - product_Post: - title: product_Post - description: The model for a POST to create a product. - allOf: - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Post_Product' - x-internal: false - product_Put: - title: product_Put - description: The model for a PUT to update a product. - allOf: - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Put_Product' - x-internal: false - catalogSummary_Full: - title: catalogSummary_Full - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - x-internal: false - metafield_Base: - title: metafield_Base - type: object - description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' - x-internal: false - properties: - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - required: - - permission_set - - namespace - - key - - value - complexRule_Base: - title: complexRule_Base - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - $ref: '#/components/schemas/adjuster_Full' - weight_adjuster: - $ref: '#/components/schemas/adjuster_Full' - conditions: - type: array - items: - $ref: '#/components/schemas/complexRuleConditionBase' - description: Common ComplexRule properties. - x-internal: false - productCustomField_Base: - title: productCustomField_Base - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - x-internal: false - productCustomField_Post: - title: productCustomField_Post - description: The model for a POST to create a custom field on a product. - allOf: - - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - x-internal: false - productCustomField_Put: - title: productCustomField_Put - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. Required to update existing custom field in /PUT request. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: The model for a PUT to update a custom field on a product. - x-internal: false - complexRuleConditionBase: - title: complexRuleConditionBase - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - x-internal: false - customUrl_Full: - title: customUrl_Full - type: object - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Product URL on the storefront. - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - description: The custom URL for the product on the storefront. - x-internal: false - bulkPricingRule_Full: - title: bulkPricingRule_Full - type: object - description: Common Bulk Pricing Rule properties - x-internal: false - properties: - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. - Required in /POST. - example: 10 - x-required: - - post - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - Required in /POST. - example: 50 - x-required: - - post - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - Required in /POST. - example: price - enum: - - price - - percent - - fixed - x-required: - - post - amount: - oneOf: - - type: number - example: 10 - - type: string - example: '.10' - description: |- - You can express the adjustment type as either a fixed dollar amount or a percentage. Send a number; the response will return a number for `price` and `fixed` adjustments. - Divide the adjustment percentage by 100 and send the result in string format. For example, represent 10% as “.10”. The response will return a float value for both `price` and `percentage` adjustments. - Required in /POST. - required: - - quantity_min - - quantity_max - - type - - amount - bulkPricingRuleFull_Response: - title: Bulk Pricing Rule - type: object - x-internal: false - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. - example: 10 - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - example: 50 - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - example: price - enum: - - price - - percent - - fixed - amount: - type: number - description: |- - The adjustment amount. Depending on the rule `type`, may represent a fixed dollar amount or a percentage. - example: 10 - x-stoplight: - id: 386de544af45e - productOptionConfig_Full: - title: productOptionConfig_Full - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - x-internal: false - adjuster_Full: - title: adjuster_Full - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - x-internal: false - resp_variantBatchError: - title: resp_variantBatchError - type: object - properties: - batch_errors: - type: array - items: - title: Error Response - type: object - allOf: - - $ref: '#/components/schemas/error_Base' - - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - description: | - Errors during batch usage for the BigCommerce API. - x-internal: false - metaCollection_open: - title: Response meta - type: object - properties: {} - additionalProperties: true - description: Response metadata. - metaCollection_Full: - title: metaCollection_Full - type: object - properties: - pagination: - $ref: '#/components/schemas/pagination_Full' - description: 'Data about the response, including pagination and collection totals.' - x-internal: false - pagination_Full: - title: pagination_Full - type: object - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - x-internal: false - metaEmpty_Full: - type: object - title: Response meta - properties: {} - additionalProperties: true - description: Response metadata. - errorResponse_Full: - title: errorResponse_Full - allOf: - - $ref: '#/components/schemas/error_Base' - - type: object - properties: - errors: - $ref: '#/components/schemas/detailedErrors' - x-internal: false - error_Base: - title: error_Base - type: object - properties: - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - instance: - type: string - description: | - Error payload for the BigCommerce API. - x-internal: false - errorMultiStatus: - title: errorMultiStatus - type: object - properties: - status: - type: integer - minLength: 3 - maxLength: 3 - description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' - title: - type: string - description: A summary of the failure or partial success. - type: - type: string - description: A BigCommerce-defined error signifier. - errors: - $ref: '#/components/schemas/detailedErrors' - errorNotFound: - title: errorNotFound - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-internal: false - giftCertificate_Full: - title: giftCertificate_Full - type: object - properties: - code: - type: string - description: | - The gift-certificate code. - example: MB345 - original_balance: - type: number - description: | - The balance on a gift certificate when it was purchased. - format: float - example: 100 - starting_balance: - type: number - description: | - The balance on a gift certificate at the time of this purchase. - format: float - example: 100 - remaining_balance: - type: number - description: | - The remaining balance on a gift certificate. - format: float - example: 35.42 - status: - type: string - description: | - The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate purchase is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired. - enum: - - active - - pending - - disabled - - expired - description: A gift-certificate model. - x-internal: false - errorNoContent: - title: errorNoContent - type: object - properties: - status: - type: integer - description: | - 204 HTTP status code. - title: - type: string - description: The error title describing the situation. - type: - type: string - instance: - type: string - description: No-content response for the BigCommerce API. - x-internal: false - detailedErrors: - title: detailedErrors - description: Each key-value pair describes a failure or partial success case. - type: object - properties: {} - additionalProperties: true - x-internal: false - product_Full: - title: product_Full - allOf: - - type: object - properties: - id: - minimum: 1 - type: integer - description: ID of the product. Read-Only. - readOnly: true - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - date_created: - type: string - description: | - The date on which the product was created. - format: date-time - example: '2018-08-15T14:49:05+00:00' - date_modified: - type: string - description: | - The date on which the product was modified. - format: date-time - example: '2018-08-24T14:41:00+00:00' - base_variant_id: - type: integer - description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. - calculated_price: - type: number - description: 'The price of the product as seen on the storefront. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`.' - format: float - options: - type: array - items: - $ref: '#/components/schemas/productOption_Base' - modifiers: - type: array - items: - $ref: '#/components/schemas/productModifier_Full' - map_price: - type: number - description: Minimum Advertised Price. - option_set_id: - type: integer - description: Indicates that the product is in an Option Set (legacy V2 concept). - option_set_display: - type: string - description: Legacy template setting which controls if the option set shows up to the side of or below the product image and description. - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - x-internal: false - productImage_Full: - title: productImage_Full - description: Common ProductImage properties. - allOf: - - $ref: '#/components/schemas/productImage_Base' - - title: productImage - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - description: Common ProductImage properties. - x-internal: false - product_Put_Collection: - title: product_Put_Collection - description: The model for batch updating products. - x-internal: false - allOf: - - items: - $ref: '#/components/schemas/product_Base' - x-examples: - example-1: - - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: list - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - type: array - config_Full: - title: config_Full - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - x-internal: false - adjusters_Full: - title: adjusters_Full - type: object - properties: - price: - $ref: '#/components/schemas/adjuster_Full' - weight: - $ref: '#/components/schemas/adjuster_Full' - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - x-internal: false - variant_Base: - title: variant_Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - description: |- - Variant properties used on: - * `/catalog/products/variants` - * `/catalog/variants` - x-internal: false - product_Base: - title: product_Base - type: object - description: |- - Shared `Product` properties used in: - * `POST` - * `PUT` - * `GET` - x-internal: false - x-examples: - example-1: - id: 0 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability_description: string - availability: available - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - properties: - name: - maxLength: 250 - minLength: 1 - type: string - description: | - A unique product name. - example: Smith Journal 13 - x-required: - - post - type: - type: string - description: | - The product type. One of: `physical` - a physical stock unit, `digital` - a digital download. - example: physical - enum: - - physical - - digital - x-required: - - post - sku: - maxLength: 255 - minLength: 0 - type: string - description: | - A unique user-defined product code/stock keeping unit (SKU). - example: SM-13 - description: - type: string - description: | - The product description, which can include HTML formatting. - example: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Weight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store - format: float - width: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Width of the product, which can be used when calculating shipping costs. - format: float - depth: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Depth of the product, which can be used when calculating shipping costs. - format: float - height: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Height of the product, which can be used when calculating shipping costs. - format: float - price: - minimum: 0 - type: number - description: | - The price of the product. The price should include or exclude tax, based on the store settings. - format: float - cost_price: - minimum: 0 - type: number - description: | - The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store. - format: float - retail_price: - minimum: 0 - type: number - description: | - The retail cost of the product. If entered, the retail cost price will be shown on the product page. - format: float - sale_price: - minimum: 0 - type: number - description: | - If entered, the sale price will be used instead of value in the price field when calculating the product's cost. - format: float - map_price: - type: number - description: Minimum Advertised Price - tax_class_id: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) - product_tax_code: - maxLength: 255 - minLength: 0 - type: string - description: | - Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation. - categories: - type: array - description: | - An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values. - x-required: - - post - items: - type: integer - brand_id: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - A product can be added to an existing brand during a product /PUT or /POST. - inventory_level: - maximum: 2147483647 - minimum: 0 - type: integer - description: | - Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. - inventory_warning_level: - maximum: 2147483647 - minimum: 0 - type: integer - description: | - Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the `inventory_tracking` field) for this to take any effect. - inventory_tracking: - type: string - description: | - The type of inventory tracking for the product. Values are: `none` - inventory levels will not be tracked; `product` - inventory levels will be tracked using the `inventory_level` and `inventory_warning_level` fields; `variant` - inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels. - enum: - - none - - product - - variant - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: float - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the product has free shipping. If `true`, the shipping cost for the product will be zero. - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the product will be displayed. If `false`, the product will be hidden from view. - is_featured: - type: boolean - description: | - Flag to determine whether the product should be included in the `featured products` panel when viewing the store. - related_products: - type: array - description: | - An array of IDs for the related products. - items: - type: integer - warranty: - maxLength: 65535 - minLength: 0 - type: string - description: | - Warranty information displayed on the product page. Can include HTML formatting. - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: | - The BIN picking number for the product. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - upc: - type: string - maxLength: 32 - minLength: 0 - description: | - The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the product when searching the store. - availability_description: - maxLength: 255 - minLength: 0 - type: string - description: | - Availability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.' - availability: - type: string - description: | - Availability of the product. (Corresponds to the product's [Purchasability](https://support.bigcommerce.com/s/article/Adding-Products-v3?language=en_US#sections) section in the control panel.) Supported values: `available` - the product is available for purchase; `disabled` - the product is listed on the storefront, but cannot be purchased; `preorder` - the product is listed for pre-orders. - enum: - - available - - disabled - - preorder - gift_wrapping_options_type: - type: string - description: | - Type of gift-wrapping options. Values: `any` - allow any gift-wrapping options in the store; `none` - disallow gift-wrapping on the product; `list` – provide a list of IDs in the `gift_wrapping_options_list` field. - enum: - - any - - none - - list - gift_wrapping_options_list: - type: array - description: | - A list of gift-wrapping option IDs. - items: - type: integer - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results. - condition: - type: string - description: | - The product condition. Will be shown on the product page if the `is_condition_shown` field's value is `true`. Possible values: `New`, `Used`, `Refurbished`. - enum: - - New - - Used - - Refurbished - is_condition_shown: - type: boolean - description: | - Flag used to determine whether the product condition is shown to the customer on the product page. - order_quantity_minimum: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The minimum quantity an order must contain, to be eligible to purchase this product. - order_quantity_maximum: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The maximum quantity an order can contain when purchasing the product. - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the product page. If not defined, the product name will be used as the meta title. - meta_keywords: - type: array - description: | - Custom meta keywords for the product page. If not defined, the store's default keywords will be used. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the product page. If not defined, the store's default meta description will be used. - view_count: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The number of times the product has been viewed. - preorder_release_date: - type: string - description: | - Pre-order release date. See the `availability` field for details on setting a product's availability to accept pre-orders. - format: date-time - nullable: true - preorder_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the `%%DATE%%` placeholder, which will be substituted for the release date. - is_preorder_only: - type: boolean - description: | - If set to true then on the preorder release date the preorder status will automatically be removed. - If set to false, then on the release date the preorder status **will not** be removed. It will need to be changed manually either in the - control panel or using the API. Using the API set `availability` to `available`. - is_price_hidden: - type: boolean - description: | - False by default, indicating that this product's price should be shown on the product page. If set to `true`, the price is hidden. (NOTE: To successfully set `is_price_hidden` to `true`, the `availability` value must be `disabled`.) - price_hidden_label: - maxLength: 200 - minLength: 0 - type: string - description: | - By default, an empty string. If `is_price_hidden` is `true`, the value of `price_hidden_label` is displayed instead of the price. (NOTE: To successfully set a non-empty string value with `is_price_hidden` set to `true`, the `availability` value must be `disabled`.) - custom_url: - $ref: '#/components/schemas/customUrl_Full' - open_graph_type: - type: string - description: | - Type of product, defaults to `product`. - enum: - - product - - album - - book - - drink - - food - - game - - movie - - song - - tv_show - open_graph_title: - type: string - description: | - Title of the product, if not specified the product name will be used instead. - open_graph_description: - type: string - description: | - Description to use for the product, if not specified then the meta_description will be used instead. - open_graph_use_meta_description: - type: boolean - description: | - Flag to determine if product description or open graph description is used. - open_graph_use_product_name: - type: boolean - description: | - Flag to determine if product name or open graph name is used. - open_graph_use_image: - type: boolean - description: | - Flag to determine if product image or open graph image is used. - brand_name or brand_id: - type: string - description: The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using `brand_name` it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only the `brand_id`. - example: Common Good - gtin: - type: string - description: Global Trade Item Number - mpn: - type: string - description: Manufacturer Part Number - reviews_rating_sum: - type: integer - description: | - The total (cumulative) rating for the product. - example: 3 - reviews_count: - type: integer - description: | - The number of times the product has been rated. - example: 4 - total_sold: - type: integer - description: | - The total quantity of this product sold. - example: 80 - custom_fields: - type: array - items: - $ref: '#/components/schemas/productCustomField_Put' - bulk_pricing_rules: - type: array - items: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - images: - type: array - items: - $ref: '#/components/schemas/productImage_Full' - videos: - type: array - items: - $ref: '#/components/schemas/productVideo_Full' - required: - - name - - type - - weight - - price - metafield_Full: - title: metafield_Full - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - - $ref: '#/components/schemas/metafield_Base' - - type: object - properties: - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID of the resource with which the metafield is associated. - example: 111 - x-required: - - post - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - x-internal: false - productVariant_Put: - title: productVariant_Put - description: The model for a PUT to update variants on a product. - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - product_id: - type: integer - x-required: - - post - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - x-internal: false - errorResponse_409: - title: errorResponse_409 - allOf: - - type: object - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - type: object - properties: - errors: - $ref: '#/components/schemas/detailedErrors' - x-internal: false - errorResponse_422: - title: errorResponse_422 - allOf: - - type: object - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - type: object - properties: - errors: - $ref: '#/components/schemas/detailedErrors' - x-internal: false - productSortOrder: - title: productSortOrder - required: - - product_id - - sort_order - type: object - properties: - product_id: - minimum: 1 - type: integer - description: The ID of the associated product. - example: 99 - sort_order: - minimum: 0 - type: integer - example: 4 - description: The relative priority of the product among other products inside the category. - x-internal: false - betacategory_Full: - type: object - description: Common Category object properties. - title: category_Full - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - required: - - post - name: - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - minLength: 1 - maxLength: 50 - example: Bath - required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example: We offer a wide variety of products perfect for relaxing - views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - minimum: -2147483648 - maximum: 2147483647 - example: 3 - page_title: - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - minLength: 0 - maxLength: 255 - example: Bath - search_keywords: - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - minLength: 0 - maxLength: 255 - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - minLength: 0 - maxLength: 65535 - layout_file: - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. - minLength: 0 - maxLength: 500 - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - x-url: true - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - custom_url: - $ref: '#/components/schemas/betacustomUrl_Full' - required: - - parent_id - - name - x-tags: - - Models - betametaCollection_Full: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: metaCollection_Full - properties: - pagination: - $ref: '#/components/schemas/betapagination_Full' - x-tags: - - Models - betapagination_Full: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: pagination_Full - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - x-tags: - - Models - betametaEmpty_Full: - type: object - title: Response meta - properties: {} - additionalProperties: true - description: Response metadata. - x-tags: - - Models - betaerrorResponse_Full: - allOf: - - $ref: '#/components/schemas/betaerror_Base' - - type: object - properties: - errors: - $ref: '#/components/schemas/betadetailedErrors' - title: errorResponse_Full - x-tags: - - Models - betaerror_Base: - 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 - title: error_Base - x-tags: - - Models - betaerrorNotFound: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: errorNotFound - x-tags: - - Models - betaerrorNoContent: - description: No-content response for the BigCommerce API. - type: object - properties: - status: - description: | - 204 HTTP status code. - type: integer - title: - description: The error title describing the situation. - type: string - type: - type: string - instance: - type: string - title: errorNoContent - x-tags: - - Models - betadetailedErrors: - type: object - title: detailedErrors - properties: {} - additionalProperties: true - x-tags: - - Models - betaerrorResponse_409: - title: errorResponse_409 - allOf: - - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - properties: - errors: - $ref: '#/components/schemas/betadetailedErrors' - type: object - x-tags: - - Models - betaerrorResponse_422: - title: errorResponse_422 - allOf: - - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - properties: - errors: - $ref: '#/components/schemas/betadetailedErrors' - type: object - x-tags: - - Models - custom_url: - type: object - description: The custom URL for the category on the storefront. - title: Custom Url Category - properties: - url: - type: string - description: | - Category URL on the storefront. - x-url: true - minLength: 0 - maxLength: 255 - example: /shoes - required: - - post - - put - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - required: - - post - - put - x-tags: - - Models - betacustomUrl_Full: - type: object - description: The custom URL for the product on the storefront. - title: customUrl_Full - properties: - url: - type: string - description: | - Product URL on the storefront. - x-url: true - minLength: 0 - maxLength: 255 - example: /shoes - required: - - post - - put - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - required: - - post - - put - x-tags: - - Models - CreateCategories: - type: array - items: - allOf: - - $ref: '#/components/schemas/TreeIdCreateData' - - $ref: '#/components/schemas/ParentIdCreateData' - - $ref: '#/components/schemas/CategoryDataPOST' - x-tags: - - Models - title: Create Categories - UpdateCategories: - x-tags: - - Models - type: array - items: - allOf: - - $ref: '#/components/schemas/TreeIdUpdateData' - - $ref: '#/components/schemas/CategoryIdUpdateData' - - $ref: '#/components/schemas/CategoryUuidData' - - $ref: '#/components/schemas/ParentIdUpdateData' - - $ref: '#/components/schemas/CategoryDataPUT' - Category: - x-tags: - - Models - title: Category - allOf: - - $ref: '#/components/schemas/id' - - $ref: '#/components/schemas/parent_id' - - $ref: '#/components/schemas/name' - - $ref: '#/components/schemas/description' - - $ref: '#/components/schemas/views' - - $ref: '#/components/schemas/sort_order' - - $ref: '#/components/schemas/page_title' - - $ref: '#/components/schemas/meta_keywords' - - $ref: '#/components/schemas/meta_description' - - $ref: '#/components/schemas/layout_file' - - $ref: '#/components/schemas/image_url' - - $ref: '#/components/schemas/is_visible' - - $ref: '#/components/schemas/search_keywords' - - $ref: '#/components/schemas/default_product_sort' - - type: object - properties: - url: - $ref: '#/components/schemas/Url' - x-examples: {} - CategoryUuidData: - type: object - x-tags: - - Models - properties: - category_uuid: - type: string - format: uuid - title: category_uuid - CategoryIdUpdateData: - type: object - properties: - category_id: - type: integer - required: - - category_id - x-tags: - - Models - ParentIdCreateData: - type: object - properties: - parent_id: - type: integer - required: - - parent_id - x-tags: - - Models - TreeIdCreateData: - type: object - properties: - tree_id: - type: integer - required: - - tree_id - x-tags: - - Models - ParentIdUpdateData: - type: object - properties: - parent_id: - type: integer - x-tags: - - Models - TreeIdUpdateData: - type: object - x-tags: - - Models - properties: - tree_id: - type: integer - required: - - tree_id - CategoryData: - allOf: - - type: object - properties: - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - image_url: - type: string - url: - $ref: '#/components/schemas/Url' - CategoryDataPUT: - allOf: - - $ref: '#/components/schemas/CategoryData' - - $ref: '#/components/schemas/default_product_sort' - CategoryDataPOST: - allOf: - - $ref: '#/components/schemas/CategoryData' - - $ref: '#/components/schemas/default_product_sort' - required: - - name - - url - Urls: - type: array - items: - $ref: '#/components/schemas/Url' - x-tags: - - Models - Url: - type: object - properties: - path: - type: string - is_customized: - type: boolean - x-tags: - - Models - MetaPagination: - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - example: 246 - minimum: 0 - count: - type: integer - example: 5 - minimum: 0 - per_page: - type: integer - example: 5 - minimum: 0 - current_page: - type: integer - example: 1 - minimum: 1 - total_pages: - type: integer - example: 50 - minimum: 0 - links: - type: object - properties: - previous: - type: string - example: '?limit=5&page=1' - current: - type: string - example: '?limit=5&page=2' - next: - type: string - example: '?limit=5&page=3' - x-tags: - - Models - DetailedErrors: - description: | - Details of errors. - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - ErrorRequest: - type: object - properties: - errors: - type: array - items: - $ref: '#/components/schemas/ErrorBasic' - x-tags: - - Models - ErrorBasic: - type: object - properties: - status: - description: | - The HTTP status code. - type: integer - title: - description: | - The error title describing the particular error. - type: string - type: - type: string - x-tags: - - Models - ErrorAdditional: - type: object - properties: - errors: - $ref: '#/components/schemas/DetailedErrors' - x-tags: - - Models - MetaError: - allOf: - - $ref: '#/components/schemas/ErrorBasic' - - $ref: '#/components/schemas/ErrorAdditional' - x-tags: - - Models - MetaData: - type: object - properties: - total: - type: integer - success: - type: integer - failed: - type: integer - x-tags: - - Models - SuccessNoContentResponse: - type: object - properties: - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - PartialSuccessNoContentResponse: - type: object - properties: - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - PartialSuccessResponse: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - SuccessResponse: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - ErrorResponse: - type: object - properties: - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - Tree: - type: object - properties: - id: - type: integer - name: - type: string - minLength: 1 - maxLength: 255 - channels: - type: array - items: - type: integer - x-tags: - - Models - CategoryNode: - type: object - properties: - id: - type: integer - parent_id: - type: integer - depth: - type: integer - path: - type: array - items: - type: integer - name: - type: string - is_visible: - type: boolean - children: - type: array - items: - $ref: '#/components/schemas/CategoryNode' - x-tags: - - Models - beta4Category: - type: object - properties: - id: - type: integer - parent_id: - type: integer - tree_id: - type: integer - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - default_product_sort: - type: string - image_url: - type: string - custom_url: - $ref: '#/components/schemas/CustomUrl' - x-tags: - - Models - beta4CategoryData: - type: object - properties: - tree_id: - type: integer - parent_id: - type: integer - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - default_product_sort: - type: string - image_url: - type: string - custom_url: - $ref: '#/components/schemas/CustomUrl' - x-tags: - - Models - CustomUrl: - type: object - properties: - url: - type: string - is_customized: - type: boolean - x-tags: - - Models - MetaPaginationObject: - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - example: 246 - minimum: 0 - count: - type: integer - example: 5 - minimum: 0 - per_page: - type: integer - example: 5 - minimum: 0 - current_page: - type: integer - example: 1 - minimum: 1 - total_pages: - type: integer - example: 50 - minimum: 0 - links: - type: object - properties: - next: - type: string - example: '?limit=5&page=2' - current: - type: string - example: '?limit=5&page=1' - x-tags: - - Models - beta4DetailedErrors: - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - 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 - x-tags: - - Models - beta4ErrorResponse: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - errors: - $ref: '#/components/schemas/beta4DetailedErrors' - x-tags: - - Models - ProductsChannelCount: - type: object - description: The count of product in the channels. - properties: - channel_id: - description: Channel ID. - type: integer - minimum: 1 - product_count: - type: integer - minimum: 0 - x-tags: - - Models - ProductsCategoriesCount: - properties: - product_id: - type: integer - minimum: 1 - channels: - type: array - items: - $ref: '#/components/schemas/CategoriesCount' - x-tags: - - Models - CategoriesCount: - properties: - channel_id: - type: integer - minimum: 1 - category_count: - type: integer - minimum: 0 - x-tags: - - Models - ProductChannelAssignment: - properties: - product_id: - type: integer - channel_id: - type: integer - x-tags: - - Models - ProductCategoryAssignment: - properties: - product_id: - type: integer - category_id: - type: integer - x-tags: - - Models - beta5DetailedErrors: - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - beta5ErrorResponse: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - errors: - $ref: '#/components/schemas/beta5DetailedErrors' - x-tags: - - Models - default_product_sort: - title: default_product_sort - type: object - properties: - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - name: - title: name - type: object - properties: - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - description: - title: description - type: object - properties: - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - title: views - type: object - properties: - views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - title: sort_order - type: object - properties: - sort_order: - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - title: page_title - type: object - properties: - page_title: - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - title: search_keywords - type: object - properties: - search_keywords: - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - title: meta_keywords - type: object - properties: - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - layout_file: - title: layout_file - type: object - properties: - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. - example: category.html - is_visible: - title: is_visible - type: object - properties: - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - image_url: - title: image_url - type: object - properties: - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - meta_description: - title: meta_description - type: object - properties: - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - id: - title: id - type: object - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - title: parent_id - type: object - properties: - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - responses: - BrandCollectionResponse: - description: '' - content: - application/json: - schema: - title: Brand Collection Response - type: object - properties: - data: - type: array - items: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - BrandImageUpload: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - BrandResponse: - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - BulkPricingRuleCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/bulkPricingRuleFull_Response' - meta: - $ref: '#/components/schemas/metaCollection_Full' - BulkPricingRuleResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/bulkPricingRuleFull_Response' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - CatalogSummaryResponse: - description: '' - content: - application/json: - schema: - title: Catalog Summary Response - type: object - properties: - data: - title: Catalog Summary - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - CatalogVariantCollectionResponse: - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - $ref: '#/components/schemas/metaCollection_Full' - CategoryCollectionResponse: - description: '' - content: - application/json: - schema: - title: Category Base - type: object - properties: - data: - type: array - items: - type: object - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 19 - parent_id: 0 - name: Garden - description:

This is the garden description

- views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - CategoryResponse: - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - ComplexRuleCollectionResponse: - description: '' - content: - application/json: - schema: - title: Complex Rule Collection Response - type: object - properties: - data: - type: array - items: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Complex Rule Response - ComplexRuleResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - CustomFieldCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - name: Release year - value: '1987' - id: 1 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: '?page=1&limit=50' - current: '?page=1&limit=50' - next: '?page=1&limit=50' - CustomFieldResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - Error404Response: - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - Error422Response: - description: |- - Unprocessable entity. - - Please verify if all requested products are assigned to the category. - - Please verify if all required fields are present in the request body and are filled with values correctly. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - General207Status: - description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - MetafieldCollectionResponse: - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: Common Metafield properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: read - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - MetafieldResponse: - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located - id: 4 - key: location_id - namespace: App Namespace - permission_set: app_only - resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' - meta: {} - ModifierCollectionResponse: - description: '' - content: - application/json: - schema: - title: Modifier Collection Response - type: object - properties: - data: - type: array - items: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Modifier Collection Response return for /GET All Modifiers. - example: - data: - - id: 206 - product_id: 158 - name: Insurance - display_name: Insurace - type: checkbox - required: true - config: - checkbox_label: $5 for insurance - checked_by_default: false - option_values: - - id: 183 - option_id: 206 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 184 - option_id: 206 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ModifierResponse: - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - ModifierValueCollectionResponse: - description: '' - content: - application/json: - schema: - title: Modifier Value Collection Response - type: object - properties: - data: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Returns for GET All Modifier Values on a Product - example: - data: - - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 191 - option_id: 222 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ModifierValueResponse: - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - OptionCollectionResponse: - description: '' - content: - application/json: - schema: - title: Option Collection Response - type: object - properties: - data: - type: array - items: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get all product options - example: - data: - - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - OptionResponse: - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - OptionValueCollectionResponse: - description: '' - content: - application/json: - schema: - title: Option Value Collection Response - type: object - properties: - data: - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get Option Values response. - example: - data: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - meta: - pagination: - total: 4 - count: 4 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - OptionValueResponse: - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - ProductCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - ProductImageCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Image Collection Response - type: object - properties: - data: - type: array - items: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - - id: 382 - product_id: 158 - is_thumbnail: true - sort_order: 0 - description: '' - image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - - id: 383 - product_id: 158 - is_thumbnail: false - sort_order: 0 - description: '' - image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ProductImageResponse: - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - ProductResponse: - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - ProductReviewCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Review Collection Response - type: object - properties: - data: - type: array - items: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaCollection_Full' - ProductReviewResponse: - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: -39218623 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - ProductSortOrderResponse: - description: '' - content: - application/json: - schema: - type: object - ProductVideoCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Video Collection Response - type: object - properties: - data: - type: array - items: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - title: Collection Meta - type: object - description: 'Data about the response, including pagination and collection totals.' - example: - data: - - id: 6 - type: youtube - video_id: PqBTp23RLhI - product_id: 192 - sort_order: 1 - title: Creating and Editing Banners | BigCommerce Tutorials - description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' - length: '01:54' - - id: 7 - type: youtube - video_id: EhYBjzqd-nI - product_id: 192 - sort_order: 2 - title: BigCommerce Company Values - description: |- - These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. - - Join the BigCommerce team and help us build software that changes lives! - - https://www.bigcommerce.com/careers/ - length: '03:30' - - id: 8 - type: youtube - video_id: vAUdo4kRjrU - product_id: 192 - sort_order: 3 - title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce - description: |- - We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: - - “I am given the freedom and trust to make a difference.” - - “Everyone believes in the product and growing the company.” - - “I'm appreciated for the work I do and there is room to grown within the company.” - - Work With Us! - http://www.bigcommerce.com/careers.php - length: '01:37' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ProductVideoResponse: - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - VariantCollectionResponse: - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Collection Meta - type: object - description: 'Data about the response, including pagination and collection totals.' - VariantResponse: - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - betaCategoryCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - title: Category Base - properties: - data: - type: array - items: {} - meta: - $ref: '#/components/schemas/betametaCollection_Full' - examples: - response: - value: - data: - - id: 19 - parent_id: 0 - name: Garden - description: This is the garden description - views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - betaCategoryResponse: - description: '' - content: - application/json: - schema: - type: object - title: Category Response - properties: - data: - $ref: '#/components/schemas/betacategory_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - parameters: - FilterTemplateFileParam: - name: template_file - in: query - description: 'The template file, for example: `pages/home`.' - schema: - type: string - FilterIdParam: - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - FilterSkuParam: - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - FilterNameParam: - name: name - in: query - description: | - Filter items by name. - schema: - type: string - FilterEmailParam: - name: email - in: query - description: | - Filter items by email. - schema: - type: string - FilterSourceParam: - name: source - in: query - description: | - Filter items by source. - schema: - type: string - FilterOrderIdParam: - name: order_id - in: query - description: | - Filter items by order_id. - schema: - type: integer - FilterUpcParam: - name: upc - in: query - description: | - Filter items by upc. - schema: - type: string - FilterPriceParam: - name: price - in: query - description: | - Filter items by price. - schema: - type: number - FilterSalePriceParam: - name: sale_price - in: query - description: | - Filter items by sale_price. - schema: - type: number - FilterRetailPriceParam: - name: retail_price - in: query - description: | - Filter items by retail_price. - schema: - type: number - FilterMapPriceParam: - name: map_price - in: query - description: | - Filter items by map_price. - schema: - type: number - FilterCalculatedPriceParam: - name: calculated_price - in: query - description: | - Filter items by calculated_price. - schema: - type: number - FilterWeightParam: - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - FilterConditionParam: - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - FilterBrandIdParam: - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - FilterDateModifiedParam: - name: date_modified - in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - schema: - type: string - format: date-time - FilterDateCreatedParam: - name: date_created - in: query - description: | - Filter items by date_created. - schema: - type: string - format: date-time - FilterDateLastImportedParam: - name: date_last_imported - in: query - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - schema: - type: string - format: date-time - FilterIsVisibleParam: - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - FilterIsFeaturedParam: - name: is_featured - in: query - description: | - Filter items by is_featured. - schema: - type: integer - FilterIsFreeShippingParam: - name: is_free_shipping - in: query - description: | - Filter items by is_free_shipping. - schema: - type: integer - FilterInventoryLevelParam: - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - FilterInventoryLowParam: - name: inventory_low - in: query - description: | - Filter items by inventory_low. Values: 1, 0. - schema: - type: integer - FilterOutOfStockParam: - name: out_of_stock - in: query - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - schema: - type: integer - FilterTotalSoldParam: - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - ProductFilterTypeParam: - name: type - in: query - description: 'Filter items by type: `physical` or `digital`.' - schema: - type: string - enum: - - digital - - physical - FilterCategoriesParam: - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - FilterKeywordParam: - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - ProductFilterKeywordParam: - name: keyword - in: query - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - schema: - type: string - ProductFilterKeywordContextParam: - name: keyword_context - in: query - description: Set context for a product search. - schema: - type: string - enum: - - shopper - - merchant - FilterStatusParam: - name: status - in: query - description: | - Filter items by status. - schema: - type: integer - FilterIncludeParam: - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - FilterIncludeFieldsParam: - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - FilterExcludeFieldsParam: - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - FilterParentIdParam: - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - FilterPageTitleParam: - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - FilterAvailabilityParam: - name: availability - in: query - description: | - Filter items by availability. Values are: available, disabled, preorder. - schema: - type: string - enum: - - available - - disabled - - preorder - FilterProductIdParam: - name: product_id - in: query - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - schema: - type: string - FilterVariantIdParam: - name: variant_id - in: query - description: | - The ID of the `Variant` whose prices were requested. - schema: - type: integer - FilterCurrencyParam: - name: currency - in: query - description: | - Filter items by currency. - schema: - type: string - format: ISO-4217 - PageParam: - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - LimitParam: - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - DirectionParam: - name: direction - in: query - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - schema: - type: string - enum: - - asc - - desc - ProductSortParam: - name: sort - in: query - description: | - Field name to sort by. - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - ProductIdParam: - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - ReviewIdParam: - name: review_id - description: | - The ID of the `review` that is being operated on. - required: true - in: path - schema: - type: integer - ImageIdParam: - name: image_id - description: | - The ID of the `Image` that is being operated on. - required: true - in: path - schema: - type: integer - VideoIdParam: - name: id - description: The BigCommerce ID of the `Video` - required: true - in: path - schema: - type: integer - ComplexRuleIdParam: - name: complex_rule_id - description: | - The ID of the `ComplexRule`. - required: true - in: path - schema: - type: integer - ConfigurableFieldIdParam: - name: configurable_field_id - description: | - The ID of the `ConfigurableField`. - required: true - in: path - schema: - type: integer - CustomFieldIdParam: - name: custom_field_id - description: | - The ID of the `CustomField`. - required: true - in: path - schema: - type: integer - BulkPricingRuleIdParam: - name: bulk_pricing_rule_id - description: | - The ID of the `BulkPricingRule`. - required: true - in: path - schema: - type: integer - ModifierIdParam: - name: modifier_id - description: | - The ID of the `Modifier`. - required: true - in: path - schema: - type: integer - ValueIdParam: - name: value_id - description: | - The ID of the `Modifier/Option Value`. - required: true - in: path - schema: - type: integer - OptionIdParam: - name: option_id - description: | - The ID of the `Option`. - required: true - in: path - schema: - type: integer - VariantIdParam: - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - CategoryIdParam: - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - BrandIdParam: - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - MetafieldIdParam: - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - MetafieldKeyParam: - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - MetafieldNamespaceParam: - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - OrderIdParam: - name: order_id - in: path - description: | - The ID of the `Order` to which the transactions belong. - required: true - schema: - type: integer - 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' - product_id: - name: product_id - in: query - description: |- - A comma-separated list of ids of Products whose prices were requested. For example: - `?product_id=:id` - `?product_id:in=77,80,81` - schema: - type: string - FilterIdIn: - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdNotIn: - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdMax: - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdMin: - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdGreater: - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdLess: - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - betaFilterTemplateFileParam: - in: query - name: template_file - description: 'The template file, for example: `pages/home`.' - required: false - schema: - type: string - betaFilterIdParam: - name: id - description: | - Filter items by id. - required: false - in: query - schema: - type: integer - betaFilterSkuParam: - name: sku - description: | - Filter items by sku. - required: false - in: query - schema: - type: string - betaFilterNameParam: - name: name - description: | - Filter items by name. - required: false - in: query - schema: - type: string - betaFilterEmailParam: - name: email - description: | - Filter items by email. - required: false - in: query - schema: - type: string - betaFilterSourceParam: - name: source - description: | - Filter items by source. - required: false - in: query - schema: - type: string - betaFilterOrderIdParam: - name: order_id - description: | - Filter items by order_id. - required: false - in: query - schema: - type: integer - betaFilterUpcParam: - name: upc - description: | - Filter items by upc. - required: false - in: query - schema: - type: string - betaFilterPriceParam: - name: price - description: | - Filter items by price. - required: false - in: query - schema: - type: number - betaFilterSalePriceParam: - name: sale_price - description: | - Filter items by sale_price. - required: false - in: query - schema: - type: number - betaFilterRetailPriceParam: - name: retail_price - description: | - Filter items by retail_price. - required: false - in: query - schema: - type: number - betaFilterMapPriceParam: - name: map_price - description: | - Filter items by map_price. - required: false - in: query - schema: - type: number - betaFilterCalculatedPriceParam: - name: calculated_price - description: | - Filter items by calculated_price. - required: false - in: query - schema: - type: number - betaFilterWeightParam: - name: weight - description: | - Filter items by weight. - required: false - in: query - schema: - type: number - betaFilterConditionParam: - name: condition - description: | - Filter items by condition. - required: false - in: query - schema: - type: string - enum: - - new - - used - - refurbished - betaFilterBrandIdParam: - name: brand_id - description: | - Filter items by brand_id. - required: false - in: query - schema: - type: integer - betaFilterDateModifiedParam: - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - required: false - in: query - schema: - type: string - format: date-time - betaFilterDateCreatedParam: - name: date_created - description: | - Filter items by date_created. - required: false - in: query - schema: - type: string - format: date-time - betaFilterDateLastImportedParam: - name: date_last_imported - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false - in: query - schema: - type: string - format: date-time - betaFilterIsVisibleParam: - name: is_visible - description: 'Filter items by if visible on the storefront. ' - required: false - in: query - schema: - type: boolean - betaFilterIsFeaturedParam: - name: is_featured - description: | - Filter items by is_featured. - required: false - in: query - schema: - type: integer - betaFilterIsFreeShippingParam: - name: is_free_shipping - description: | - Filter items by is_free_shipping. - required: false - in: query - schema: - type: integer - betaFilterInventoryLevelParam: - name: inventory_level - description: | - Filter items by inventory_level. - required: false - in: query - schema: - type: integer - betaFilterInventoryLowParam: - name: inventory_low - description: | - Filter items by inventory_low. Values: 1, 0. - required: false - in: query - schema: - type: integer - betaFilterOutOfStockParam: - name: out_of_stock - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - required: false - in: query - schema: - type: integer - betaFilterTotalSoldParam: - name: total_sold - description: | - Filter items by total_sold. - required: false - in: query - schema: - type: integer - betaProductFilterTypeParam: - name: type - description: 'Filter items by type: `physical` or `digital`.' - required: false - in: query - schema: - type: string - enum: - - digital - - physical - betaFilterCategoriesParam: - name: categories - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - required: false - in: query - schema: - type: integer - betaFilterKeywordParam: - name: keyword - description: 'Filter items by keywords. eg. new, towel, bath' - required: false - in: query - schema: - type: string - betaProductFilterKeywordParam: - name: keyword - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - required: false - in: query - schema: - type: string - betaProductFilterKeywordContextParam: - name: keyword_context - description: Set context for a product search. - required: false - in: query - schema: - type: string - enum: - - shopper - - merchant - betaFilterStatusParam: - name: status - description: | - Filter items by status. - required: false - in: query - schema: - type: integer - betaFilterIncludeParam: - name: include - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - required: false - in: query - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - betaFilterIncludeFieldsParam: - name: include_fields - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - required: false - in: query - schema: - type: string - betaFilterExcludeFieldsParam: - name: exclude_fields - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - required: false - in: query - schema: - type: string - betaFilterParentIdParam: - name: parent_id - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - required: false - in: query - schema: - type: integer - betaFilterPageTitleParam: - name: page_title - description: | - Filter items by page_title. - required: false - in: query - schema: - type: string - betaFilterAvailabilityParam: - name: availability - description: | - Filter items by availability. Values are: available, disabled, preorder. - required: false - in: query - schema: - type: string - enum: - - available - - disabled - - preorder - betaFilterProductIdParam: - name: product_id - in: query - required: false - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - schema: - type: string - betaFilterVariantIdParam: - name: variant_id - in: query - required: false - description: | - The ID of the `Variant` whose prices were requested. - schema: - type: integer - betaFilterCurrencyParam: - name: currency - description: | - Filter items by currency. - required: false - in: query - schema: - type: string - format: ISO-4217 - betaPageParam: - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer - betaLimitParam: - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer - betaDirectionParam: - name: direction - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - required: false - in: query - schema: - type: string - enum: - - asc - - desc - betaProductSortParam: - name: sort - description: | - Field name to sort by. - required: false - in: query - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - betaFilterIdIn: - in: query - name: 'id:in' - schema: - type: array - items: - type: integer - betaFilterIdNotIn: - in: query - name: 'id:not_in' - schema: - type: array - items: - type: integer - betaFilterIdMax: - in: query - name: 'id:max' - schema: - type: array - items: - type: integer - betaFilterIdMin: - in: query - name: 'id:min' - schema: - type: array - items: - type: integer - betaFilterIdGreater: - in: query - name: 'id:greater' - schema: - type: array - items: - type: integer - betaFilterIdLess: - in: query - name: 'id:less' - schema: - type: array - items: - type: integer - securitySchemes: - X-Auth-Token: - name: X-Auth-Token - description: |- - ### OAuth scopes - - | UI Name | Permission | Parameter | - |:--------|:-----------|:----------| - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | - - ### Authentication header - - | Header | Argument | Description | - |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | - - ### Further reading - - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). - - For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). - - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). - type: apiKey - in: header - +openapi: '3.0.3' +info: + title: Catalog + description: |- + The Catalog API allows you to manage products, categories, bulk pricing rules, and more. To learn more about catalog resources see [Catalog Overview](/api-docs/store-management/catalog/catalog-overview). + + - [Authentication](#authentication) + - [Resources](#resources) + + ## Resources + + ### Webhooks + * [Category](/api-docs/store-management/webhooks/events#category) + + ### Related Endpoints + * [Catalog API](/docs/rest-management/catalog) + + Manage channel-specific categories. + + Create and manage category trees for BigCommerce stores. + + Create and manage products assignments. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Brands + - name: Brand Images + - name: Brand Metafields + - name: Category + - name: Categories + - name: Categories Batch + - name: Category Metafields + - name: Category Images + - name: Product Sort Order + - name: Products + - name: Product Bulk Pricing Rules + - name: Product Complex Rules + - name: Product Custom Fields + - name: Product Images + - name: Product Metafields + - name: Product Modifiers + - name: Product Modifier Values + - name: Product Modifier Images + - name: Product Options + - name: Product Option Values + - name: Product Reviews + - name: Product Variants + - name: Product Variants Metafields + - name: Product Variant Options + - name: Product Variant Option Values + - name: Product Videos + - name: Products Channel Assignments + - name: Products Category Assignments + - name: Summary + - name: Variants + - name: Category Trees +paths: + '/catalog/products': + get: + tags: + - Products + summary: Get All Products + description: Returns a list of **Products**. Optional filter parameters can be passed in. + operationId: getProducts + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: upc + in: query + description: | + Filter items by upc. + schema: + type: string + - name: price + in: query + description: | + Filter items by price. + schema: + type: number + - name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + - name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + - name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + - name: date_modified + in: query + description: 'Filter items by `date_modified`. ' + schema: + type: string + format: date-time + - name: 'date_modified:max' + in: query + description: 'Filter items by `date_modified`. For example, `date_modified:max=2020-06-15`.' + schema: + type: string + - name: 'date_modified:min' + in: query + description: 'Filter items by `date_modified`. For example, `date_modified:min=2018-06-15`.' + schema: + type: string + - name: date_last_imported + in: query + description: Filter items by date_last_imported. + schema: + type: string + format: date-time + - name: 'date_last_imported:max' + in: query + description: 'Filter items by date_last_imported. For example, `date_last_imported:max=2020-06-15`.' + schema: + type: string + - name: 'date_last_imported:min' + in: query + description: 'Filter items by date_last_imported. For example, `date_last_imported:min=2018-06-15`.' + schema: + type: string + - name: is_visible + in: query + description: Filter items based on whether the product is currently visible on the storefront. + schema: + type: boolean + - name: is_featured + in: query + description: 'Filter items by is_featured. `1` for true, `0` for false.' + schema: + type: integer + enum: + - 1 + - 0 + - name: is_free_shipping + in: query + description: 'Filter items by is_free_shipping. `1` for true, `0` for false.' + schema: + type: integer + - name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + - name: 'inventory_level:in' + in: query + schema: + type: integer + - name: 'inventory_level:not_in' + in: query + schema: + type: integer + - name: 'inventory_level:min' + in: query + schema: + type: integer + - name: 'inventory_level:max' + in: query + schema: + type: integer + - name: 'inventory_level:greater' + in: query + schema: + type: integer + - name: 'inventory_level:less' + in: query + schema: + type: integer + - name: inventory_low + in: query + description: | + Filter items by inventory_low. Values: 1, 0. + schema: + type: integer + - name: out_of_stock + in: query + description: | + Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. + schema: + type: integer + - name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + - name: type + in: query + description: Filter items by type. + schema: + type: string + enum: + - digital + - physical + - name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + - name: keyword + in: query + description: Filter items by keywords found in the `name` or `sku` fields + schema: + type: string + - name: keyword_context + in: query + description: Set context used by the search algorithm to return results targeted towards the specified group. Use `merchant` to help merchants search their own catalog. Use `shopper` to return shopper-facing search results. + schema: + type: string + enum: + - shopper + - merchant + - name: status + in: query + description: | + Filter items by status. + schema: + type: integer + - name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: availability + in: query + description: | + Filter items by availability. Values are: available, disabled, preorder. + schema: + type: string + enum: + - available + - disabled + - preorder + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: direction + in: query + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + schema: + type: string + enum: + - asc + - desc + - name: sort + in: query + description: | + Field name to sort by. Note: Since `id` increments when new products are added, you can use that field to sort by product create date. + schema: + type: string + enum: + - id + - name + - sku + - price + - date_modified + - date_last_imported + - inventory_level + - is_visible + - total_sold + - name: 'categories:in' + in: query + description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' + schema: + type: integer + - name: sku + in: query + description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' + schema: + type: string + - name: 'sku:in' + in: query + description: Filter items by SKU. + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + put: + tags: + - Products + summary: Update Products (Batch) + description: |- + Updates products in batches. Batches are limited to 10 products. + + **Required Fields** + * `id` - product `id` is required for batch updates to products. + + **Read-Only Fields** + - `id` + - `date_created` + - `date_modified` + - `calculated_price` + - `base_variant_id` + operationId: updateProducts + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Put_Collection' + examples: + example-1: + value: + - name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + channels: + - 1 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + examples: + example-1: + value: + data: + - id: 1 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + channels: + - 1 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: + pagination: + total: 36 + count: 36 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: string + current: '?page=1&limit=50' + next: string + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: '`Product` was in conflict with another product. This is the result of duplicate unique values such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`.' + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse_409' + '413': + description: 413 Request Entity Too Large + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + example: + errors: {} + status: 413 + title: The request payload is too large. The maximum items allowed in the array is 50 + type: /api-docs/getting-started/api-status-codes + '422': + description: '`Product` was not valid. This is the result of missing required fields or invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse_422' + x-codegen-request-body-name: products + post: + tags: + - Products + summary: Create a Product + description: |- + Creates a *Product*. Only one product can be created at a time. + + **Required Fields:** + - `name` + - `type` + - `weight` + - `price` + + **Read-Only Fields** + - `id` + - `date_created` + - `date_modified` + - `calculated_price` + - `base_variant_id` + + **Limits** + - 250 characters product name length. + + **Usage Notes** + * `POST` requests to `/products` accept a `video` array. + * `POST` requests to `/products/{product_id}/videos` accept a `video` object. + operationId: createProduct + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + '207': + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + + '409': + description: | + `Product` was in conflict with another product. This is the result of duplicate unique values, such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: product + delete: + tags: + - Products + summary: Delete Products + description: |- + To delete *Product* objects, you must include a filter. This prevents inadvertently deleting all *Product* objects in a store. + + > #### Note + > The maximum number of products you can delete at one time is 250. + + **Example**: + To delete products with the id's of 1,2 and 3, use `DELETE /v3/catalog/products?id:in=1,2,3`. + operationId: deleteProducts + parameters: + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: sku + in: query + description: | + Filter items by sku. + schema: + type: string + - name: price + in: query + description: | + Filter items by price. + schema: + type: number + - name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + - name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + - name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + - name: date_modified + in: query + description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' + schema: + type: string + format: date-time + - name: date_last_imported + in: query + description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: + type: string + format: date-time + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: is_featured + in: query + description: | + Filter items by is_featured. + schema: + type: integer + - name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + - name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + - name: type + in: query + description: 'Filter items by type: `physical` or `digital`.' + schema: + type: string + enum: + - digital + - physical + - name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + - name: keyword + in: query + description: | + Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. + schema: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/products/{product_id}': + get: + tags: + - Products + summary: Get a Product + description: Returns a single *Product*. Optional parameters can be passed in. + operationId: getProductById + parameters: + - name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 174 + name: 1L Le Parfait Jar + type: physical + sku: '' + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 1 + width: 0 + depth: 0 + height: 0 + price: 7.95 + cost_price: 0 + retail_price: 10 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: '' + calculated_price: 7.95 + categories: + - 23 + - 21 + channels: + - 1 + brand_id: 36 + option_set_id: 55 + option_set_display: right + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + reviews_rating_sum: 0 + reviews_count: 0 + total_sold: 7 + fixed_cost_shipping_price: 0 + is_free_shipping: false + is_visible: true + is_featured: false + related_products: + - -1 + warranty: '' + bin_picking_number: '' + layout_file: product.html + upc: '' + mpn: '' + gtin: '' + search_keywords: 'jar, glass' + availability: available + availability_description: '' + gift_wrapping_options_type: any + gift_wrapping_options_list: [] + sort_order: 0 + condition: New + is_condition_shown: false + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: '' + meta_keywords: [] + meta_description: '' + date_created: '2018-08-15T14:48:46+00:00' + date_modified: '2018-09-05T20:42:07+00:00' + view_count: 10 + preorder_release_date: '2018-09-05T20:42:07+00:00' + preorder_message: '' + is_preorder_only: false + is_price_hidden: false + price_hidden_label: '' + custom_url: + url: /all/1l-le-parfait-jar/ + is_customized: true + base_variant_id: 345 + open_graph_type: product + open_graph_title: '' + open_graph_description: '' + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Products + summary: Update a Product + description: | + Updates a *Product*. + + **Read-Only Fields** + - id + - date_created + - date_modified + - calculated_price + - base_variant_id + operationId: updateProduct + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: 12345678905 + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + '201': + description: Created + content: + application/json: + schema: + type: object + properties: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + `Product` was in conflict with another product. This is caused by: duplicate unique values, such as name or SKU; a missing category, brand, or tax_class with which the product is being associated; or a conflicting bulk pricing rule. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: product + delete: + tags: + - Products + summary: Delete a Product + description: Deletes a *Product*. + operationId: deleteProductById + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/images': + get: + tags: + - Product Images + summary: Get All Product Images + description: Returns a list of *Product Images*. Optional parameters can be passed in. + operationId: getProductImages + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Collection Response + type: object + properties: + data: + type: array + items: + title: Product Image + type: object + allOf: + - $ref: '#/components/schemas/productImage_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + - id: 382 + product_id: 158 + is_thumbnail: true + sort_order: 0 + description: '' + image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + - id: 383 + product_id: 158 + is_thumbnail: false + sort_order: 0 + description: '' + image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '204': + description: | + There are not any images on this product. + content: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Images + summary: Create a Product Image + description: |- + Creates a *Product Image*. + + **Required Fields** + - `image_file`, or + - `image_url` + + **Usage Notes** + - `image_url` - `255` character limit + - For file uploads, use the `multipart/form-data` media type + - Only one image at a time can be created + - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. + operationId: createProductImage + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Image Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + multipart/form-data: + schema: + title: Product Image Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: |- + Unprocessable Entity. + + May occur if the `Content-Type` header is set to `multipart/form-data` rather than `application/json` when creating a product image using `image_url`. + content: + application/json: + schema: + required: + - status + - title + - type + type: object + properties: + status: + type: number + title: + minLength: 1 + type: string + type: + minLength: 1 + type: string + description: '' + example: + status: 422 + title: image_url must be present if uploading by url + type: /api-docs/getting-started/api-status-codes + x-codegen-request-body-name: productImage + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/images/{image_id}': + get: + tags: + - Product Images + summary: Get a Product Image + description: Returns a single *Product Image*. Optional parameters can be passed in. + operationId: getProductImageById + parameters: + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + $ref: '#/components/schemas/productImage_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Images + summary: Update a Product Image + description: |- + Updates a *Product Image*. + + **Usage Notes** + - `image_url` - `255` character limit + - For file uploads, send a POST request using the `multipart/form-data` media type + operationId: updateProductImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productImage_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '201': + description: Created + content: + application/json: + schema: + type: object + properties: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productImage + delete: + tags: + - Product Images + summary: Delete a Product Image + description: Deletes a *Product Image*. + operationId: deleteProductImage + parameters: + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ImageIdParam' + '/catalog/products/{product_id}/videos': + get: + tags: + - Product Videos + summary: Get All Product Videos + description: Returns a list of *Product Videos*. Optional parameters can be passed in. + operationId: getProductVideos + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productVideo_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + type: youtube + video_id: PqBTp23RLhI + product_id: 192 + sort_order: 1 + title: Creating and Editing Banners | BigCommerce Tutorials + description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' + length: '01:54' + - id: 7 + type: youtube + video_id: EhYBjzqd-nI + product_id: 192 + sort_order: 2 + title: BigCommerce Company Values + description: |- + These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. + + Join the BigCommerce team and help us build software that changes lives! + + https://www.bigcommerce.com/careers/ + length: '03:30' + - id: 8 + type: youtube + video_id: vAUdo4kRjrU + product_id: 192 + sort_order: 3 + title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce + description: |- + We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: + + “I am given the freedom and trust to make a difference.” + + “Everyone believes in the product and growing the company.” + + “I'm appreciated for the work I do and there is room to grown within the company.” + + Work With Us! + http://www.bigcommerce.com/careers.php + length: '01:37' + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Videos + summary: Create a Product Video + description: |- + Creates a *Product Video*. + + **Required Fields** + * video_id + + **Read-Only Fields** + * id + + Publicly accessible URLs are valid parameters. + Videos must be loaded through YouTube at this time. + operationId: createProductVideo + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Video Post + description: | + The model for a POST to create a video on a product. + allOf: + - title: Product Video Base + description: Common Product Video properties. + properties: + title: + maxLength: 255 + minLength: 0 + type: string + example: Writing Great Documentation + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + example: A video about documenation + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + example: 1 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + - properties: + video_id: + type: string + maxLength: 25 + minLength: 0 + description: | + The ID of the video on a host site. + x-required: + - post + example: z3fRu9pkuXE + type: object + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productVideo + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/videos/{id}': + get: + tags: + - Product Videos + summary: Get a Product Video + description: Returns a single *Product Video*. Optional parameters can be passed in. + operationId: getProductVideoById + parameters: + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + $ref: '#/components/schemas/productVideo_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Videos + summary: Update a Product Video + description: |- + Updates a *Product Video. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateProductVideo + parameters: + - $ref: '#/components/parameters/ContentType' + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Product Video Put + description: | + The model for a PUT to update a video on a product. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productVideo + delete: + tags: + - Product Videos + summary: Delete a Product Video + description: Deletes a *Product Video*. + operationId: deleteProductVideo + parameters: + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VideoIdParam' + '/catalog/products/{product_id}/variants': + get: + tags: + - Product Variants + summary: Get All Product Variants + description: Returns a list of product *Variants*. Optional parameters can be passed in. + operationId: getVariantsByProductId + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 382 + product_id: 192 + sku: SMIT + sku_id: 348 + price: 10 + calculated_price: 10 + sale_price: 8 + retail_price: 10 + map_price: {} + weight: 4 + calculated_weight: 2 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 0 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 174 + label: Beige + option_id: 220 + option_display_name: Color + - id: 383 + product_id: 192 + sku: SMIT-1 + sku_id: 349 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 175 + label: Grey + option_id: 220 + option_display_name: Color + - id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variants + summary: Create a Product Variant + description: |- + Creates a *Product Variant*. + + **Required Fields** + * sku + * option_values + + **Read-Only Fields** + * id + + **Limits** + * 600 SKUs per product limit. + * 255 characters SKU length limit. + + Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. + operationId: createVariant + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productVariant_Post' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + examples: + example-1: + value: + data: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + example-2: + value: + data: + id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Variant + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/variants/{variant_id}': + get: + tags: + - Product Variants + summary: Get a Product Variant + description: Returns a single product *Variant*. Optional parameters can be passed in. + operationId: getVariantById + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variants + summary: Update a Product Variant + description: Updates a product *Variant*. + operationId: updateVariant + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productVariant_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + bin_picking_number: '0' + calculated_price: 85 + calculated_weight: 1 + cost_price: 0 + depth: 22 + fixed_cost_shipping_price: 0 + gtin: '' + height: 14.6 + id: 65 + inventory_level: 0 + inventory_warning_level: 0 + is_free_shipping: false + map_price: 0 + mpn: TR-SML02 + option_values: [] + price: 89 + product_id: 81 + purchasing_disabled: true + purchasing_disabled_message: This item is not available. + retail_price: 89 + sale_price: 85 + sku: OTS + sku_id: 10 + upc: '' + weight: 1 + width: 2 + meta: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Variant + delete: + tags: + - Product Variants + summary: Delete a Product Variant + description: Deletes a product *Variant*. + operationId: deleteVariantById + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/metafields': + get: + tags: + - Product Variants Metafields + summary: Get All Product Variant Metafields + description: Returns a list of product variant *Metafields*. Optional parameters can be passed in. + operationId: getVariantMetafieldsByProductIdAndVariantId + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/categoriesTree_Resp' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variants Metafields + summary: Create a Product Variant Metafield + description: |- + Creates a product variant *Metafield*. + + **Required Fields:** + * permission_set + * namespace + * key + * value + + **Read-Only Fields** + * id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createVariantMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: variant + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique-key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': + get: + tags: + - Product Variants Metafields + summary: Get a Product Variant Metafields + description: Returns a single product variant *Metafield*. Optional parameters can be passed in. + operationId: getVariantMetafieldByProductIdAndVariantId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: variant + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variants Metafields + summary: Update Product Variant Metafields + description: "Updates a product variant *Metafield*.\n\n**Required Fields:**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " + operationId: updateVariantMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: variant + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Product Variants Metafields + summary: Delete a Variant Metafield + description: Deletes a product variant *Metafield*. + operationId: deleteVariantMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/image': + post: + tags: + - Product Variants + summary: Create a Variant Image + description: |- + Creates a *Variant Image*. + + The image will show on the storefront when the value is selected. + + **Required Fields** + - image_file: Form posts. Files larger than 1 MB are not accepted + - image_url: Any publicly available URL + operationId: createVariantImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + multipart/form-data: + schema: + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + required: false + responses: + '200': + description: '`image_url` is returned for both `image_file` and `image_url`.' + content: + application/json: + schema: + title: Image Response + type: object + properties: + data: + title: Resource Image + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + example: + data: + image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Image was not valid. This is the result of a missing `image_file` field or of an incorrect file type. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '500': + description: Returns for an `image_file` larger than 1 MB. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/options': + get: + tags: + - Product Variant Options + summary: Get All Product Variant Options + description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. ' + operationId: getOptions + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productOption_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get all product options + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variant Options + summary: Create a Product Variant Option + description: |- + Creates a *Variant Option*. + + **Required Fields** + * display_name + * type + * option_values + + **Read-Only Fields** + * id + + **Limits** + * 255 characters option name length. + + **Notes** + + * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. + * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. + * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. + * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. + operationId: createOption + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Option Post + description: The model for a POST to create options on a product. + allOf: + - title: Option Base + description: Common Option properties. + properties: + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + description: The values for option config can vary based on the Modifier created. + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + x-required: + - post + - put + items: + title: Option Value + allOf: + - title: Option Value Base + description: Common Option Value properties. + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + required: + - label + - sort_order + - properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + type: object + image_url: + type: string + description: Publicly available image url + type: object + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + description: Common Option properties. + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + description: The values for option config can vary based on the Modifier created. + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + x-required: + - post + - put + items: + title: Option Value + allOf: + - title: Option Value Base + description: Common Option Value properties. + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + required: + - label + - sort_order + - properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + type: object + image_url: + type: string + description: Publicly available image url + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + examples: + example-1: + value: + data: + id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: earliest + date_earliest_value: '2022-08-24T00:00:00+00:00' + date_latest_value: '2022-08-27T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: none + sort_order: 1 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + image_url: string + name: Add-a-$5-Donation1535042499-187 + meta: {} + example-2: + value: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + '409': + description: | + Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + Option was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Option + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/options/{option_id}': + get: + tags: + - Product Variant Options + summary: Get a Product Variant Option + description: Returns a single *Variant Option*. Optional parameters can be passed in. + operationId: getOptionById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + $ref: '#/components/schemas/productOption_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variant Options + summary: Update a Product Variant Option + description: |- + Updates a *Variant Option*. + + **Read-Only Fields** + * id + operationId: updateOption + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Option Put + description: The model for a PUT to update options on a product. + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + '409': + description: | + The `Option` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Option` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: option + delete: + tags: + - Product Variant Options + summary: Delete a Product Variant Option + description: Deletes a *Variant Option*. + operationId: deleteOptionById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + '/catalog/products/{product_id}/options/{option_id}/values': + get: + tags: + - Product Variant Option Values + summary: Get All Product Variant Option Values + description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in. + operationId: getOptionValues + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Collection Response + type: object + properties: + data: + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get Option Values response. + example: + data: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + meta: + pagination: + total: 4 + count: 4 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Variant Option Values + summary: Create a Product Variant Option Value + description: |- + Creates a *Variant Option Value*. + + **Required Fields** + * label + * sort_order + + **Read-Only Fields** + * id + + **Limits** + * 250 option values per option limit. + operationId: createOptionValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Option Value Post + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '422': + description: | + The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: OptionValue + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + '/catalog/products/{product_id}/options/{option_id}/values/{value_id}': + get: + tags: + - Product Variant Option Values + summary: Get a Product Variant Option Value + description: Returns a single *Variant Option Value*. Optional parameters can be passed in. + operationId: getOptionValueById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variant Option Values + summary: Update a Product Variant Option Value + description: |- + Updates a *Variant Option Value*. + + **Read-Only Fields** + * id + operationId: updateOptionValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + requestBody: + description: | + A BigCommerce `OptionValue` object. + content: + application/json: + schema: + title: Option Value Put + description: The model for a PUT to update option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '404': + description: No option(s) were found with this query. + content: {} + '422': + description: | + The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: OptionValue + delete: + tags: + - Product Variant Option Values + summary: Delete a Product Variant Option Value + description: Deletes a *Variant Option Value*. + operationId: deleteOptionValueById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + - $ref: '#/components/parameters/ValueIdParam' + '/catalog/products/{product_id}/modifiers': + get: + tags: + - Product Modifiers + summary: Get All Product Modifiers + description: Returns a list of all *Product Modifiers*. Optional parameters can be passed in. + operationId: getModifiers + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productModifier_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Modifier Collection Response return for /GET All Modifiers. + example: + data: + - id: 206 + product_id: 158 + name: Insurance + display_name: Insurace + type: checkbox + required: true + config: + checkbox_label: $5 for insurance + checked_by_default: false + option_values: + - id: 183 + option_id: 206 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 184 + option_id: 206 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Modifiers + summary: Create a Product Modifier + description: |- + Creates a *Product Modifier*. + + **Required Fields** + * `required` + * `display_name` + * `type` + + **Read-Only Fields** + * `id` + + **Notes** + It takes two separate requests to create a new checkbox modifier with option values. Perform a request to create a modifier, then perform a second request to update option values. + operationId: createModifier + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Modifier Post + description: The model for a POST to create a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - required: + - display_name + type: object + properties: + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + x-required: + - post + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `Modifier` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Modifier + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}': + get: + tags: + - Product Modifiers + summary: Get a Modifier + description: Returns a single *Product Modifier*. Optional parameters can be passed in. + operationId: getModifierById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + $ref: '#/components/schemas/productModifier_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Modifiers + summary: Update a Modifier + description: Updates a *Product Modifier*. + operationId: updateModifier + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Put + description: The model for a PUT to update a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: 'Part of Modifier Value Response ' + description: Common Modifier properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `Modifier` was in conflict with another modifier or option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Modifier + delete: + tags: + - Product Modifiers + summary: Delete a Modifier + description: Deletes a *Product Modifier*. + operationId: deleteModifierById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values': + get: + tags: + - Product Modifier Values + summary: Get All Modifier Values + description: Returns a list of all product *Modifier Values*. Optional parameters can be passed in. + operationId: getModifierValues + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productModifierOptionValue_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Returns for GET All Modifier Values on a Product + example: + data: + - id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 191 + option_id: 222 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Modifier Values + summary: Create Modifier Value + description: |- + Creates a *Modifier Value*. + + **Required Fields** + * label + * sort_order + + **Read-Only Fields** + * id + operationId: createModifierValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Value Post + description: The model for a POST to create a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '422': + description: | + The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ModifierValue + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': + get: + tags: + - Product Modifier Values + summary: Get a Modifier Value + description: Returns a single *Modifier Value*. Optional parameters can be passed in. + operationId: getModifierValueById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + $ref: '#/components/schemas/productModifierOptionValue_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + security: + - X-Auth-Token: [] + put: + tags: + - Product Modifier Values + summary: Update a Modifier Value + description: |- + Updates a *Modifier Value*. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateModifierValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Value Put + description: The model for a PUT to update a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '422': + description: | + The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ModifierValue + delete: + tags: + - Product Modifier Values + summary: Delete Modifier Value + description: Deletes a *Modifier Value*. + operationId: deleteModifierValueById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + - $ref: '#/components/parameters/ValueIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': + post: + tags: + - Product Modifier Images + summary: Create Modifier Image + description: |- + Creates a *Modifier Image*. + + The image will show on the storefront when the value is selected. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + operationId: createModifierImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + title: Image Response + type: object + properties: + data: + title: Resource Image + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + example: + data: + image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Modifier image was not valid. This is the result of missing `image_file` fields, or of a non-URL value for the `image_file` field. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + - $ref: '#/components/parameters/ValueIdParam' + '/catalog/products/{product_id}/complex-rules': + get: + tags: + - Product Complex Rules + summary: Get Complex Rules + description: Returns a list of all product *Complex Rules*. Optional parameters may be passed in. + operationId: getComplexRules + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Complex Rule Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/complexRule_Base' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Complex Rule Response + example: + data: + - id: 82 + product_id: 195 + sort_order: 0 + enabled: true + stop: false + price_adjuster: + adjuster: relative + adjuster_value: 8 + weight_adjuster: {} + purchasing_disabled: false + purchasing_disabled_message: '' + purchasing_hidden: false + image_url: '' + conditions: + - rule_id: 82 + modifier_id: 221 + modifier_value_id: 175 + variant_id: 1 + combination_id: 0 + - id: 83 + product_id: 195 + sort_order: 1 + enabled: true + stop: false + price_adjuster: {} + weight_adjuster: + adjuster: relative + adjuster_value: 3 + purchasing_disabled: false + purchasing_disabled_message: '' + purchasing_hidden: false + image_url: '' + conditions: + - rule_id: 83 + modifier_id: 221 + modifier_value_id: 174 + variant_id: 1 + combination_id: 0 + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Complex Rules + summary: Create a Complex Rule + description: |- + Creates a product *Complex Rule*. + + **Required Fields** + - modifier_id + - modifier_value_id + - modifier_value_id + - variant_id + + **Read-Only Fields** + - complex_rule_id + - conditions_id + - rule_id + - combination_id + - id + operationId: createComplexRule + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Complex Rule + type: object + properties: + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ComplexRule + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/complex-rules/{complex_rule_id}': + get: + tags: + - Product Complex Rules + summary: Get a Complex Rule + description: Returns a single *Complex Rule*. Optional parameters can be passed in. + operationId: getComplexRuleById + parameters: + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Complex Rules + summary: Update a Complex Rule + description: |- + Updates a *Complex Rule*. + + **Required Fields**: + - none + + **Read-Only Fields**: + - complex_rule_id + - conditions_id + - rule_id + - combination_id + - id + operationId: updateComplexRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + + requestBody: + content: + application/json: + schema: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ComplexRule + delete: + tags: + - Product Complex Rules + summary: Delete a Complex Rule + description: Deletes a product *Complex Rule*. + operationId: deleteComplexRuleById + parameters: + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ComplexRuleIdParam' + '/catalog/products/{product_id}/custom-fields': + get: + tags: + - Product Custom Fields + summary: Get Custom Fields + description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. + operationId: getCustomFields + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - name: Release year + value: '1987' + id: 1 + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: '?page=1&limit=50' + current: '?page=1&limit=50' + next: '?page=1&limit=50' + post: + tags: + - Product Custom Fields + summary: Create a Custom Fields + description: |- + Creates a *Custom Field*. + + **Required Fields:** + - name + - value + + **Read-Only:** + - id + + **Limits** + - 200 custom fields per product limit. + - 255 characters per custom field limit. + operationId: createCustomField + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Custom Field + required: + - name + - value + type: object + properties: + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: CustomField + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/custom-fields/{custom_field_id}': + get: + tags: + - Product Custom Fields + summary: Get a Custom Field + description: Returns a single *Custom Field*. Optional parameters can be passed in. + operationId: getCustomFieldById + parameters: + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productCustomField_Base' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Custom Fields + summary: Update a Custom Field + description: |- + Updates a *Custom Field*. + + **Required Fields** + - none + + **Read-Only** + - id + operationId: updateCustomField + parameters: + - $ref: '#/components/parameters/ContentType' + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: CustomField + delete: + tags: + - Product Custom Fields + summary: Delete a Custom Field + description: Deletes a product *Custom Field*. + operationId: deleteCustomFieldById + parameters: + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + responses: + '204': + description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' + content: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/CustomFieldIdParam' + '/catalog/products/{product_id}/bulk-pricing-rules': + get: + tags: + - Product Bulk Pricing Rules + summary: Get All Bulk Pricing Rules + description: Returns a list of *Bulk Pricing Rules*. Optional parameters can be passed in. + operationId: getBulkPricingRules + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + - id: 84 + quantity_min: 4 + quantity_max: 0 + type: price + amount: 1 + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Bulk Pricing Rules + summary: Create a Bulk Pricing Rule + description: |- + Creates a *Bulk Pricing Rule*. + + **Required Fields** + - quantity_min + - quantity_max + - type + - amount + + **Read-Only Fields** + - id + + **Limits** + - 50 bulk pricing rule per product limit. + operationId: createBulkPricingRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/bulkPricingRule_Full' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + title: Meta + type: object + description: Empty meta object; may be used later. + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: BulkPricingRule + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': + get: + tags: + - Product Bulk Pricing Rules + summary: Get a Bulk Pricing Rule + description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. + operationId: getBulkPricingRuleById + parameters: + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Bulk Pricing Rules + summary: Update a Bulk Pricing Rule + description: |- + Updates a *Bulk Pricing Rule*. + + **Required Fields** + * none + + **Read-Only Fields** + - id + operationId: updateBulkPricingRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Bulk Pricing Rule + required: + - amount + - quantity_max + - quantity_min + - type + type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. + Required in /POST. + example: 10 + x-required: + - post + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + Required in /POST. + example: 50 + x-required: + - post + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + Required in /POST. + example: price + enum: + - price + - percent + - fixed + x-required: + - post + amount: + type: integer + description: |- + The discount can be a fixed dollar amount or a percentage. For a fixed dollar amount enter it as an integer and the response will return as an integer. For percentage enter the amount as the percentage divided by 100 using string format. For example 10% percent would be “.10”. The response will return as an integer. + Required in /POST. + description: Common BulkPricingRule properties + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: BulkPricingRule + delete: + tags: + - Product Bulk Pricing Rules + summary: Delete a Bulk Pricing Rule + description: Deletes a *Bulk Pricing Rule*. + operationId: deleteBulkPricingRuleById + parameters: + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/BulkPricingRuleIdParam' + '/catalog/products/{product_id}/metafields': + get: + tags: + - Product Metafields + summary: Get All Product Metafields + description: Returns a list of *Product Metafields*. Optional parameters can be passed in. + operationId: getProductMetafieldsByProductId + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: product + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Sublocation + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: product + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Metafields + summary: Create a Product Metafield + description: |- + Creates a *Product Metafield*. + + **Required Fields:** + * permission_set + * namespace + * key + * value + + **Read-Only Fields** + * id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createProductMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: product + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: |- + The HTTP status code. + title: + type: string + description: |- + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/metafields/{metafield_id}': + get: + tags: + - Product Metafields + summary: Get a Product Metafield + description: Returns a single *Product Metafield*. Optional parameters can be passed in. + operationId: getProductMetafieldByProductId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Metafields + summary: Update a Product Metafield + description: "Updates a *Product Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified using the API account that created the metafield:\n\t* `namespace`\n\t* `key`\n\t* `permission_set`\n\t* `value`\n\n**Usage Notes**\n* Attempting to modify the `namespace`, `key`, `permission_set`, or `value` field using an API account different from the one used to create those metafields will result in a `403` error message. " + operationId: updateProductMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Product Metafields + summary: Delete a Product Metafield + description: Deletes a *Product Metafield*. + operationId: deleteProductMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/products/{product_id}/reviews': + get: + tags: + - Product Reviews + summary: Get Product Reviews + description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. + operationId: getProductReviews + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: status + in: query + description: 'Filter items by status. `1` for approved, `0` for pending.' + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Collection Response + type: object + properties: + data: + type: array + items: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaCollection_Full' + '204': + description: | + There are no reviews on this product. + content: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Reviews + summary: Create a Product Review + description: |- + Creates a *Product Review*. + + **Required Fields** + - title + - date_reviewed + + **Read-Only Fields** + * id + operationId: createProductReview + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Review Post + description: | + The model for a POST to create a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productReview + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/reviews/{review_id}': + get: + tags: + - Product Reviews + summary: Get a Product Review + description: Returns a single *Product Review*. Optional parameters maybe passed in. + operationId: getProductReviewById + parameters: + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Reviews + summary: Update a Product Review + description: |- + Updates a *Product Review*. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateProductReview + parameters: + - $ref: '#/components/parameters/ContentType' + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + requestBody: + description: | + A BigCommerce `ProductReview` object. + content: + application/json: + schema: + title: Product Review Put + description: | + The model for a PUT to update a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productReview + delete: + tags: + - Product Reviews + summary: Delete a Product Review + description: Deletes a *Product Review*. + operationId: deleteProductReview + parameters: + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ReviewIdParam' + '/catalog/categories': + get: + tags: + - Category + summary: Get All Categories + description: Returns a list of *Categories*. Optional filter parameters can be passed in. + operationId: getCategories + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: 'name:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + - name: 'parent_id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: 'page_title:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Base + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 19 + parent_id: 0 + name: Garden + description:

This is the garden description

+ views: 0 + sort_order: 2 + page_title: page title + meta_keywords: + - meta keyword + meta_description: meta description + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: search keywords + default_product_sort: use_store_settings + custom_url: + url: /garden/ + is_customized: false + - id: 20 + parent_id: 0 + name: Publications + description: '' + views: 0 + sort_order: 4 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /publications/ + is_customized: false + - id: 21 + parent_id: 0 + name: Kitchen + description: '' + views: 0 + sort_order: 3 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /kitchen/ + is_customized: false + - id: 22 + parent_id: 0 + name: Utility + description: '' + views: 0 + sort_order: 5 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /utility/ + is_customized: false + - id: 23 + parent_id: 0 + name: Shop All + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /shop-all/ + is_customized: false + - id: 39 + parent_id: 19 + name: Bath + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /garden/bath/ + is_customized: false + meta: + pagination: + total: 6 + count: 6 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Category + summary: Create a Category + description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." + operationId: createCategory + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Category + type: object + description: Common Category object properties. + properties: + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the category should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '207': + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + '409': + description: | + The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: category + delete: + tags: + - Category + summary: Delete Categories + description: |- + Deletes *Category* objects. At least one filter parameter is required to perform the `DELETE` operation. + + **Usage Notes** + + - Sending a `DELETE`request without specifying a filter parameter will result in a `422` error. + - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a category. + operationId: deleteCategories + parameters: + - name: id + in: query + description: Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: 'name:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: 'parent_id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'page_title:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/categories/{category_id}': + get: + tags: + - Category + summary: Get a Category + description: Returns a single *Category*. Optional parameters can be passed in. + operationId: getCategoryById + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Category + summary: Update a Category + description: |- + Updates a *Category*. + + **Required Fields** + * none + + **Read-Only Fields** + - id + operationId: updateCategory + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Category + type: object + description: Common Category object properties. + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + title: Category + type: object + description: Common Category object properties. + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + meta: + title: Meta + type: object + description: Empty meta object; may be used later. + '207': + $ref: '#/components/responses/General207Status' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: 'The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: 'The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: category + delete: + tags: + - Category + summary: Delete a Category + description: Deletes a *Category*. + operationId: deleteCategoryById + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/categories/{category_id}/metafields': + get: + tags: + - Category Metafields + summary: Get All Category Metafields + description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in. + operationId: getCategoryMetafieldsByCategoryId + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: category + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: category + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Category Metafields + summary: Create a Category Metafield + description: |- + Creates a *Category Metafield*. + + **Required Fields:** + - permission_set + - namespace + - key + - value + + **Read-Only Fields** + - id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createCategoryMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate, unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/categories/{category_id}/metafields/{metafield_id}': + get: + tags: + - Category Metafields + summary: Get a Category Metafield + description: Returns a single *Category Metafield*. Optional parameters can be passed in. + operationId: getCategoryMetafieldByCategoryId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Category Metafields + summary: Update a Category Metafield + description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " + operationId: updateCategoryMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Category Metafields + summary: Delete a Category Metafield + description: Deletes a *Category Metafield*. + operationId: deleteCategoryMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/categories/{category_id}/image': + post: + tags: + - Category Images + summary: Create a Category Image + description: |- + Create a *Category Image*. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + + Only one image at a time can be created. + Limit image size to 1MB. + To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. + operationId: createCategoryImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Image was not valid. This is the result of a missing `image_file` field or an incorrect file type. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + delete: + tags: + - Category Images + summary: Delete a Category Image + description: Deletes a *Cateogory Image*. + operationId: deleteCategoryImage + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/brands': + get: + tags: + - Brands + summary: Get All Brands + description: Returns a list of *Brands*. Optional filter parameters can be passed in. + operationId: getBrands + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/brand_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 35 + name: Sagaform + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: '' + search_keywords: '' + custom_url: + url: /brands/Sagaform.html + is_customized: false + - id: 36 + name: OFS + page_title: OFS + meta_keywords: + - modern + - ' clean' + - ' contemporary' + meta_description: OFS is a modern brand. + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/OFS.html + is_customized: false + - id: 37 + name: Common Good + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/k/screen%20shot%202018-05-07%20at%2012.24.24%20pm_1525785365__65102.png' + search_keywords: '' + custom_url: + url: /brands/Common-Good.html + is_customized: false + - id: 38 + name: BigCommerce + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: '' + search_keywords: '' + custom_url: + url: /bigcommerce/ + is_customized: false + - id: 39 + name: Test Brand One + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/q/apihqggzm__53766.jpg' + search_keywords: '' + custom_url: + url: /test-brand-one/ + is_customized: false + - id: 40 + name: Fog Linen Work + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /fog-linen-work/ + is_customized: false + - id: 41 + name: Barr-Co. + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /barr-co/ + is_customized: false + - id: 42 + name: Thames & Hudson + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /thames-hudson/ + is_customized: false + - id: 43 + name: Able Brewing + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /able-brewing/ + is_customized: false + - id: 44 + name: Chemex + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /chemex/ + is_customized: false + - id: 45 + name: Kinfolk + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /kinfolk/ + is_customized: false + - id: 46 + name: Iris Hantverk + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /iris-hantverk/ + is_customized: false + - id: 47 + name: Gather Journal + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /gather-journal/ + is_customized: false + - id: 48 + name: Openhouse Magazine + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /openhouse-magazine/ + is_customized: false + - id: 49 + name: Smith Journal + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /smith-journal/ + is_customized: false + meta: + pagination: + total: 15 + count: 15 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Brands + summary: Create a Brand + description: |- + Creates a *Brand*. + + **Required Fields** + - name + + **Read-Only Fields** + - id + + **Limits** + - 30,000 brands per store limit + operationId: createBrand + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Brand + type: object + description: Common brand properties. + properties: + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + description: The custom URL for the brand on the storefront. + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + required: + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '207': + $ref: '#/components/responses/General207Status' + '409': + description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: 'Brand was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Brand + delete: + tags: + - Brands + summary: Delete Brands + description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' + operationId: deleteBrands + parameters: + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/brands/{brand_id}': + get: + tags: + - Brands + summary: Get a Brand + description: Returns a single *Brand*. Optional filter parameters can be passed in. + operationId: getBrandById + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + $ref: '#/components/schemas/brand_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Brands + summary: Update a Brand + description: |- + Updates a *Brand*. + + **Required Fields** + - None + + **Read-Only Fields** + - id + + To update a *Brand Image*, send a request with an `image_url`. + operationId: updateBrand + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + example: + - 'modern, clean, contemporary' + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + example: + - 'modern, clean, contemporary' + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '207': + $ref: '#/components/responses/General207Status' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `Brand` was in conflict with another product. This is the result of duplicate unique values, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Brand` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: brand + delete: + tags: + - Brands + summary: Delete a Brand + description: Deletes a *Brand*. + operationId: deleteBrandById + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/brands/{brand_id}/metafields': + get: + tags: + - Brand Metafields + summary: Get All Brand Metafields + description: 'Returns a list of *Brand Metafields*. Optional filter parameters can be passed in. ' + operationId: getBrandMetafieldsByBrandId + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: brand + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Brand location + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: brand + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Brand Metafields + summary: Create a Brand Metafield + description: |- + Creates a *Brand Metafield*. + + **Required Fields** + - permission_set + - namespace + - key + - value + + **Read-Only Fields** + - id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createBrandMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + examples: + example-1: + value: + data: + id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: category + resource_id: 111 + description: Location in the warehouse + date_created: '2018-05-07T20:14:17+00:00' + date_modified: '2018-05-07T20:14:17+00:00' + meta: {} + example-2: + value: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/brands/{brand_id}/metafields/{metafield_id}': + get: + tags: + - Brand Metafields + summary: Get a Brand Metafields + description: Returns a *Brand Metafield*. Optional filter parameters can be passed in. + operationId: getBrandMetafieldByBrandId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Brand Metafields + summary: Update a Brand Metafield + description: "Updates a *Brand Metafield*.\n\n**Required Fields** \n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message.\n* The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center." + operationId: updateBrandMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Brand Metafields + summary: Delete a Brand Metafield + description: Deletes a *Brand Metafield*. + operationId: deleteBrandMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/brands/{brand_id}/image': + post: + tags: + - Brand Images + summary: Create a Brand Image + description: |- + Creates a *Brand Image*. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + + **Read-Only Fields** + - id + + Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. + operationId: createBrandImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: 'Image was not valid. This is the result of a missing `image_file` field, or of an incorrect file type. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + delete: + tags: + - Brand Images + summary: Delete a Brand Image + description: Deletes a *Brand Image*. + operationId: deleteBrandImage + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/variants': + get: + tags: + - Variants + summary: Get All Variants + description: Returns a list of all variants in your catalog. Optional parameters can be passed in. + operationId: getVariants + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: sku + in: query + description: | + Filter items by sku. + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: product_id + in: query + description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Variants + summary: Update Variants (Batch) + description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' + operationId: updateVariantsBatch + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Variants Collection Put + type: array + items: + title: Variant Put + type: object + description: | + The model for a PUT to update variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + title: Collection Meta + type: object + properties: + pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + '413': + description: '' + content: + application/json: + example: + errors: {} + status: 413 + title: The request payload is too large. The maximum items allowed in the array is 50 + type: /api-docs/getting-started/api-status-codes + '422': + description: | + This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Variants Batch Error Response + type: object + properties: + batch_errors: + type: array + items: + title: Error Response + type: object + allOf: + - title: Base Error + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + - type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + description: | + Errors during batch usage for the BigCommerce API. + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/summary': + get: + tags: + - Summary + summary: Get a Catalog Summary + description: |- + Returns a lightweight inventory summary from the BigCommerce Catalog. + + The inventory summary includes: + * "inventory_count" + * "variant_count" + * "inventory_value" + * "highest_variant_price" + * "average_variant_price" + * "lowest_variant_price" + * "oldest_variant_date" + * "newest_variant_date" + * "primary_category_id" + * "primary_category_name" + operationId: getCatalogSummary + responses: + '200': + description: '' + content: + application/json: + schema: + title: Catalog Summary Response + type: object + properties: + data: + title: Catalog Summary + type: object + properties: + inventory_count: + type: integer + description: | + A count of all inventory items in the catalog. + example: 2000 + inventory_value: + type: number + description: | + Total value of store's inventory. + format: double + example: 267000 + primary_category_id: + type: integer + description: | + ID of the category containing the most products. + example: 23 + primary_category_name: + type: string + description: | + Name of the category containing the most products. + example: Shop All + variant_count: + type: integer + description: Total number of variants + example: 46 + highest_variant_price: + type: number + description: Highest priced variant + format: double + example: 249 + average_variant_price: + type: number + description: Average price of all variants + format: double + example: 83.07978261 + lowest_variant_price: + type: string + description: Lowest priced variant in the store + example: '7' + oldest_variant_date: + type: string + example: '2018-08-15T00:00:00+00:00' + newest_variant_date: + type: string + example: '2018-08-16T00:00:00+00:00' + description: Catalog Summary object describes a lightweight summary of the catalog. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/categories/{category_id}/products/sort-order': + get: + tags: + - Product Sort Order + summary: Get Product Sort Order + description: |- + Returns a list of products and their sort order for a specific category. + + **Usage Notes** + * Data pairs are displayed in ascending order based on products' `sort_order` values. + * `null` values are allowed for products without specified `sort_order` values. + * Products with `sort_order` value of `null` will be displayed after products with valid numerical values. + * The priorities for determining product sort order on a storefront are the following: + - Priority 1: Manually specified sort order on Category Level (API). + - Priority 2: Manually specified sort order on Product (Global) Level (UI/API). + - Priority 3: Default sorting by Product ID (newly added products go first) (UI/API). + operationId: getsortorders + parameters: + - name: category_id + in: path + description: The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: {} + '404': + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + put: + tags: + - Product Sort Order + summary: Update Product Sort Order + description: Updates sort order of products within a specific category. + operationId: updatesortorder + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/productSortOrder' + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/productSortOrder' + '404': + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + '422': + description: |- + Unprocessable entity. + + Please verify if all requested products are assigned to the category. + + Please verify if all required fields are present in the request body and are filled with values correctly. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/trees/categories': + get: + summary: Get All Categories + description: |- + Returns a list of categories. + + To get a specific category in a tree, provide a category id. + tags: + - Categories Batch + parameters: + - name: 'category_uuid:in' + in: query + schema: + type: string + - name: 'category_uuid:not_in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + - name: 'category_id:not_in' + in: query + schema: + type: string + - name: 'tree_id:in' + in: query + schema: + type: string + - name: 'tree_id:not_in' + in: query + schema: + type: string + - name: 'parent_id:in' + in: query + schema: + type: string + - name: 'parent_id:not_in' + in: query + schema: + type: string + - name: name + in: query + schema: + type: string + - name: 'name:like' + in: query + schema: + type: string + - name: page_title + in: query + schema: + type: string + - name: 'page_title:like' + in: query + schema: + type: string + - name: keyword + in: query + schema: + type: string + - name: is_visible + in: query + schema: + type: boolean + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: include_fields + in: query + schema: + type: string + - name: exclude_fields + in: query + schema: + type: string + responses: + '200': + description: List of categories. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/MetaPagination' + examples: + example-1: + value: + data: + - id: 0 + parent_id: 2 + name: Bath + description:

We offer a wide variety of products perfect for relaxing

+ views: 1050 + sort_order: 3 + page_title: Bath + meta_keywords: + - string + meta_description: string + layout_file: category.html + image_url: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + is_visible: true + search_keywords: string + default_product_sort: use_store_settings + url: + path: string + is_customized: true + meta: + pagination: + total: 246 + count: 5 + per_page: 5 + current_page: 1 + total_pages: 50 + links: + previous: '?limit=5&page=1' + current: '?limit=5&page=2' + next: '?limit=5&page=3' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: getAllCategories + post: + summary: Create Categories + description: |- + Creates new categories. + + Creating a category requires: + - `name` + - `url` + - `tree_id` or `parent_id` + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Categories Batch + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateCategories' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessResponse' + '207': + description: Multi-Status + content: + application/json: + schema: + $ref: '#/components/schemas/PartialSuccessResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '422': + description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: createCategories + put: + summary: Update Categories + description: |- + Updates existing categories. + + To update a specific category in a tree, provide a category id. + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Categories Batch + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateCategories' + responses: + '200': + description: OK + '204': + description: No Content + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessNoContentResponse' + '207': + description: Partial success + content: + application/json: + schema: + $ref: '#/components/schemas/PartialSuccessNoContentResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '422': + description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: updateCategories + delete: + summary: Delete Categories + description: |- + Deletes categories. + + To delete a specific category in a tree, provide a category id. + tags: + - Categories Batch + parameters: + - name: 'category_uuid:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + - name: 'tree_id:in' + in: query + schema: + type: string + - name: 'parent_id:in' + in: query + schema: + type: string + responses: + '204': + description: Categories are deleted + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessNoContentResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '500': + description: Server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: deleteTreeCategories + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/trees': + get: + summary: Get All Category Trees + description: Returns a list of *Category Trees*. + operationId: GetCategoryTrees + parameters: + - name: 'id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '200': + description: List of category trees. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tree' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + example: + data: + - id: 0 + name: string + channels: + - 0 + meta: + pagination: + total: 246 + count: 5 + per_page: 5 + current_page: 1 + total_pages: 50 + links: + next: '?limit=5&page=2' + current: '?limit=5&page=1' + tags: + - Category Trees + put: + summary: Upsert Category Trees + description: | + Upserts *Category Trees*. + + If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. + + **Usage Notes** + * `channel_id` is required to create a *Category Tree*. + parameters: + - $ref: '#/components/parameters/ContentType' + operationId: UpsertCategoryTrees + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tree' + example: + - id: 0 + name: string + channels: + - 0 + responses: + '200': + description: Created a category tree. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Tree' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 0 + name: string + channels: + - 0 + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. + '422': + description: The Channel was not valid. See the response for more details. + content: + application/json: + schema: + $ref: '#/components/schemas/beta4ErrorResponse' + example: + status: 0 + title: string + type: string + instance: string + errors: + additionalProp1: string + additionalProp2: string + additionalProp3: string + tags: + - Category Trees + delete: + summary: Delete Category Trees + description: Deletes *Category Trees*. A filter must be supplied with the endpoint. + operationId: DeleteCategoryTrees + parameters: + - name: 'id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + tags: + - Category Trees + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/trees/{tree_id}/categories': + get: + summary: Get a Category Tree + description: Returns a *Category Tree*. + operationId: GetCategoryTreeByTreeId + parameters: + - name: depth + description: Max depth for a tree of categories. + in: query + schema: + type: integer + responses: + '200': + description: Categories tree + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CategoryNode' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + - id: 0 + parent_id: 0 + depth: 0 + path: + - 0 + name: string + is_visible: true + children: + - string + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. + '404': + description: The tree was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/beta4ErrorResponse' + example: + status: 0 + title: string + type: string + instance: string + errors: + additionalProp1: string + additionalProp2: string + additionalProp3: string + tags: + - Category Trees + parameters: + - $ref: '#/components/parameters/Accept' + - schema: + type: string + name: tree_id + in: path + required: true + '/catalog/products/channel-assignments': + get: + summary: Get Products Channel Assignments + description: Returns a list of products channel assignments. + operationId: GetProductsChannelAssignments + tags: + - Products Channel Assignments + parameters: + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '200': + description: Collection of channel assignments. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ProductChannelAssignment' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + put: + summary: Create Products Channel Assignments + description: Creates products channel assignments. + operationId: CreateProductsChannelAssignments + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Products Channel Assignments + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductChannelAssignment' + responses: + '204': + description: Updated + '422': + description: Error response for batch PUT of Channel Assignments. Includes the errors for each reference id. + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + delete: + summary: Delete Products Channel Assignments + description: Delete products channel assignments. A filter must be supplied. + operationId: DeleteProductsChannelAssignments + tags: + - Products Channel Assignments + parameters: + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + '422': + description: At least one filter must be provided in order to delete channel assignments + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/products/category-assignments': + get: + summary: Get Products Category Assignments + description: Returns a list of products category assignments. + operationId: GetProductsCategoryAssignments + tags: + - Products Category Assignments + parameters: + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + responses: + '200': + description: Collection of category assignments. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ProductCategoryAssignment' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + put: + summary: Create Products Category Assignments. + description: Creates products category assignments. + operationId: CreateProductsCategoryAssignments + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Products Category Assignments + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductCategoryAssignment' + responses: + '204': + description: Updated + '422': + description: Error response for batch PUT of Category Assignments. Includes the errors for each reference id. + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + delete: + summary: Delete Products Category Assignments + description: Deletes products category assignments. A filter must be supplied. + operationId: DeleteProductsCategoryAssignments + tags: + - Products Category Assignments + parameters: + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + '422': + description: At least one filter must be provided in order to delete category assignments + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + parameters: + - $ref: '#/components/parameters/Accept' +components: + schemas: + formData_ImageFileParam: + type: string + description: | + An image file. Supported MIME types include GIF, JPEG, and PNG. + format: binary + productModifier_Base: + title: productModifier_Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + $ref: '#/components/schemas/config_Full' + display_name: + type: string + description: The name of the option shown on the storefront. + description: Common Modifier properties. + x-internal: false + productModifier_Full: + title: productModifier_Full + description: Product Modifier + allOf: + - $ref: '#/components/schemas/productModifier_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + option_values: + type: array + items: + $ref: '#/components/schemas/productModifierOptionValue_Full' + x-internal: false + productModifier_Post: + title: productModifier_Post + description: The model for a POST to create a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - required: + - display_name + type: object + properties: + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + x-required: + - post + x-internal: false + productModifier_Put: + title: productModifier_Put + description: The model for a PUT to update a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + x-internal: false + productModifierOptionValue_Base: + title: productModifierOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + adjusters: + $ref: '#/components/schemas/adjusters_Full' + description: Common Product Modifer `option_value` properties. + x-internal: false + productModifierOptionValue_Full: + title: productModifierOptionValue_Full + description: Product Modifer `option_value`. + allOf: + - $ref: '#/components/schemas/productModifierOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + option_id: + type: integer + x-internal: false + productModifierOptionValue_Post: + title: productModifierOptionValue_Post + description: The model for a POST to create a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + x-internal: false + productModifierOptionValue_Put: + title: productModifierOptionValue_Put + description: The model for a PUT to update a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + x-internal: false + resp_productionOption: + title: resp_productionOption + type: object + properties: + data: + $ref: '#/components/schemas/productOption_Full' + meta: + title: Meta + type: object + properties: + 'null': + type: string + description: Empty meta object; may be used later. + x-internal: false + productOption_Base: + title: productOption_Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + $ref: '#/components/schemas/productOptionConfig_Full' + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + $ref: '#/components/schemas/productOptionOptionValue_Full' + description: Common Option properties. + x-internal: false + productOption_Full: + title: productOption_Full + allOf: + - $ref: '#/components/schemas/productOption_Base' + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + x-internal: false + productOption_Post: + title: productOption_Post + description: The model for a POST to create options on a product. + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + x-internal: false + productOption_Put: + title: productOption_Put + description: The model for a PUT to update options on a product. + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + x-internal: false + categoriesTree_Resp: + title: categoriesTree_Resp + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/categoriesTreeNode_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Returns the categories tree, a nested lineage of the categories with parent->child relationship. The Category objects returned are simplified versions of the category objects returned in the rest of this API. + x-internal: false + categoriesTreeNode_Full: + title: categoriesTreeNode_Full + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the category; increments sequentially. + example: 26 + parent_id: + type: integer + description: | + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + example: 25 + name: + type: string + description: | + The name displayed for the category. Name is unique with respect to the category's siblings. + example: Bath + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + example: true + url: + type: string + description: | + The custom URL for the category on the storefront. + example: /towels/bath-towels/ + description: Used to reflect parent <> child category relationships. Used by Category Tree. + x-internal: false + category_Full: + title: category_Full + type: object + description: Common Category object properties. + x-internal: false + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + $ref: '#/components/schemas/customUrl_Full' + required: + - parent_id + - name + brand_Full: + title: brand_Full + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + $ref: '#/components/schemas/customUrl_Full' + description: Common Brand properties. + x-internal: false + productVariant_Base: + title: productVariant_Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + mpn: + type: string + description: The Manufacturer Part Number (MPN) for the variant. + gtin: + type: string + example: '012345678905' + description: Common Variant properties. + x-internal: false + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + productVariant_Full: + title: productVariant_Full + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + $ref: '#/components/schemas/productVariantOptionValue_Full' + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + calculated_weight: + type: number + x-internal: false + description: '' + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + productVariant_Post: + title: productVariant_Post + description: | + The model for a POST to create variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + image_url: + type: string + description: Publicly available image url + gtin: + type: string + description: Global Trade Item Number + example: '012345678905' + mpn: + type: string + description: Manufacturer Part Number + example: HV-HM02 + description: Common Variant properties. + - type: object + properties: + product_id: + type: integer + x-required: + - post + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + $ref: '#/components/schemas/productVariantOptionValue_Full' + x-required: + - post + x-internal: false + variantCollection_Put: + title: variantCollection_Put + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + x-internal: false + variant_Put: + title: variant_Put + description: | + The model for a PUT to update variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + x-required: + - put + x-internal: false + productVariant_Post_Product: + title: productVariant_Post_Product + description: | + The model for a POST to create variants on a product. + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + option_values: + type: array + items: + title: Option Value Product Post + type: object + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + x-required: + - post + x-internal: false + productVariant_Put_Product: + title: productVariant_Put_Product + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + product_id: + type: integer + sku: + maxLength: 255 + minLength: 1 + type: string + description: | + The model for a PUT to update variants on a product. + x-internal: false + productVariantOptionValue_Full: + title: productVariantOptionValue_Full + allOf: + - type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + - $ref: '#/components/schemas/productVariantOptionValue_Base' + x-internal: false + productOptionValue_Post_Product: + title: productOptionValue_Post_Product + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + x-internal: false + productVariantOptionValue_Base: + title: productVariantOptionValue_Base + type: object + properties: + id: + type: integer + description: '`option_value` ID.' + example: 146 + option_id: + type: integer + description: '`option` ID.' + example: 151 + description: Common Product Variant Option properties. + x-internal: false + productVariantOptionValue_Post: + title: productVariantOptionValue_Post + type: object + properties: + id: + type: integer + x-required: + - post + option_id: + type: integer + x-required: + - post + description: The model for a POST to create option values on a variant. + x-internal: false + resp_productOptionValue: + title: resp_productOptionValue + type: object + properties: + data: + $ref: '#/components/schemas/productOptionOptionValue_Full' + meta: + title: Meta + type: object + properties: + 'null': + type: string + description: Empty meta object; may be used later. + x-internal: false + productOptionOptionValue_Base: + title: productOptionOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + description: Common Product Option `option_value` properties. + x-internal: false + productOptionOptionValue_Full: + title: productOptionOptionValue_Full + description: Product Option `option_value`. + allOf: + - $ref: '#/components/schemas/productOptionOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-internal: false + productOptionValue_Post: + title: productOptionValue_Post + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + x-internal: false + productOptionValue_Put: + title: productOptionValue_Put + description: The model for a PUT to update option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + x-internal: false + productImage_Base: + title: productImage_Base + type: object + properties: + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Limit of 1MB per file. + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + image_url: + type: string + description: 'Must be a fully qualified URL path, including protocol. Limit of 8MB per file.' + description: Common ProductImage properties. + x-internal: false + productImage_Post: + title: productImage_Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. + x-internal: false + productImage_Put: + title: productImage_Put + description: The model for a PUT to update applicable Product Image fields. + allOf: + - title: Product Image Base + type: object + properties: + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + description: Common ProductImage properties. + - $ref: '#/components/schemas/productImage_Base' + x-internal: false + productVideo_Base: + title: productVideo_Base + type: object + description: | + The model for a POST to create a video on a product. + x-internal: false + properties: + title: + type: string + maxLength: 255 + minLength: 0 + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + example: Writing Great Documentation + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + example: A video about documenation + sort_order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + example: 1 + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + video_id: + type: string + description: The ID of the video on a host site. + example: z3fRu9pkuXE + productVideo_Full: + title: productVideo_Full + description: | + A product video model. + allOf: + - $ref: '#/components/schemas/productVideo_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + x-internal: false + productVideo_Post: + title: productVideo_Post + description: | + The model for a POST to create a video on a product. + allOf: + - $ref: '#/components/schemas/productVideo_Base' + x-internal: false + productVideo_Put: + title: productVideo_Put + description: | + The model for a PUT to update a video on a product. + allOf: + - $ref: '#/components/schemas/productVideo_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + x-required: + - put + x-internal: false + productReview_Base: + title: productReview_Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + x-internal: false + productReview_Full: + title: productReview_Full + description: | + A product review model. + allOf: + - $ref: '#/components/schemas/productReview_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + x-internal: false + productReview_Post: + title: productReview_Post + description: | + The model for a POST to create a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + x-internal: false + productReview_Put: + title: productReview_Put + description: | + The model for a PUT to update a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + x-internal: false + resp_productImage: + title: resp_productImage + type: object + properties: + data: + $ref: '#/components/schemas/productImage_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + x-internal: false + resourceImage_Full: + title: resourceImage_Full + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + x-internal: false + product_Post: + title: product_Post + description: The model for a POST to create a product. + allOf: + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Post_Product' + x-internal: false + product_Put: + title: product_Put + description: The model for a PUT to update a product. + allOf: + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Put_Product' + x-internal: false + catalogSummary_Full: + title: catalogSummary_Full + type: object + properties: + inventory_count: + type: integer + description: | + A count of all inventory items in the catalog. + example: 2000 + inventory_value: + type: number + description: | + Total value of store's inventory. + format: double + example: 267000 + primary_category_id: + type: integer + description: | + ID of the category containing the most products. + example: 23 + primary_category_name: + type: string + description: | + Name of the category containing the most products. + example: Shop All + variant_count: + type: integer + description: Total number of variants + example: 46 + highest_variant_price: + type: number + description: Highest priced variant + format: double + example: 249 + average_variant_price: + type: number + description: Average price of all variants + format: double + example: 83.07978261 + lowest_variant_price: + type: string + description: Lowest priced variant in the store + example: '7' + oldest_variant_date: + type: string + example: '2018-08-15T00:00:00+00:00' + newest_variant_date: + type: string + example: '2018-08-16T00:00:00+00:00' + description: Catalog Summary object describes a lightweight summary of the catalog. + x-internal: false + metafield_Base: + title: metafield_Base + type: object + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + x-internal: false + properties: + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + required: + - permission_set + - namespace + - key + - value + complexRule_Base: + title: complexRule_Base + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + $ref: '#/components/schemas/adjuster_Full' + weight_adjuster: + $ref: '#/components/schemas/adjuster_Full' + conditions: + type: array + items: + $ref: '#/components/schemas/complexRuleConditionBase' + description: Common ComplexRule properties. + x-internal: false + productCustomField_Base: + title: productCustomField_Base + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + x-internal: false + productCustomField_Post: + title: productCustomField_Post + description: The model for a POST to create a custom field on a product. + allOf: + - title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + x-internal: false + productCustomField_Put: + title: productCustomField_Put + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. Required to update existing custom field in /PUT request. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: The model for a PUT to update a custom field on a product. + x-internal: false + complexRuleConditionBase: + title: complexRuleConditionBase + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + x-internal: false + customUrl_Full: + title: customUrl_Full + type: object + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Product URL on the storefront. + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + description: The custom URL for the product on the storefront. + x-internal: false + bulkPricingRule_Full: + title: bulkPricingRule_Full + type: object + description: Common Bulk Pricing Rule properties + x-internal: false + properties: + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. + Required in /POST. + example: 10 + x-required: + - post + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + Required in /POST. + example: 50 + x-required: + - post + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + Required in /POST. + example: price + enum: + - price + - percent + - fixed + x-required: + - post + amount: + oneOf: + - type: number + example: 10 + - type: string + example: '.10' + description: |- + You can express the adjustment type as either a fixed dollar amount or a percentage. Send a number; the response will return a number for `price` and `fixed` adjustments. + Divide the adjustment percentage by 100 and send the result in string format. For example, represent 10% as “.10”. The response will return a float value for both `price` and `percentage` adjustments. + Required in /POST. + required: + - quantity_min + - quantity_max + - type + - amount + bulkPricingRuleFull_Response: + title: Bulk Pricing Rule + type: object + x-internal: false + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. + example: 10 + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + example: 50 + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + example: price + enum: + - price + - percent + - fixed + amount: + type: number + description: |- + The adjustment amount. Depending on the rule `type`, may represent a fixed dollar amount or a percentage. + example: 10 + x-stoplight: + id: 386de544af45e + productOptionConfig_Full: + title: productOptionConfig_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + adjuster_Full: + title: adjuster_Full + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + x-internal: false + resp_variantBatchError: + title: resp_variantBatchError + type: object + properties: + batch_errors: + type: array + items: + title: Error Response + type: object + allOf: + - $ref: '#/components/schemas/error_Base' + - type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + description: | + Errors during batch usage for the BigCommerce API. + x-internal: false + metaCollection_open: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + errorResponse_Full: + title: errorResponse_Full + allOf: + - $ref: '#/components/schemas/error_Base' + - type: object + properties: + errors: + $ref: '#/components/schemas/detailedErrors' + x-internal: false + error_Base: + title: error_Base + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + errorMultiStatus: + title: errorMultiStatus + type: object + properties: + status: + type: integer + minLength: 3 + maxLength: 3 + description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' + title: + type: string + description: A summary of the failure or partial success. + type: + type: string + description: A BigCommerce-defined error signifier. + errors: + $ref: '#/components/schemas/detailedErrors' + errorNotFound: + title: errorNotFound + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-internal: false + giftCertificate_Full: + title: giftCertificate_Full + type: object + properties: + code: + type: string + description: | + The gift-certificate code. + example: MB345 + original_balance: + type: number + description: | + The balance on a gift certificate when it was purchased. + format: float + example: 100 + starting_balance: + type: number + description: | + The balance on a gift certificate at the time of this purchase. + format: float + example: 100 + remaining_balance: + type: number + description: | + The remaining balance on a gift certificate. + format: float + example: 35.42 + status: + type: string + description: | + The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate purchase is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired. + enum: + - active + - pending + - disabled + - expired + description: A gift-certificate model. + x-internal: false + errorNoContent: + title: errorNoContent + type: object + properties: + status: + type: integer + description: | + 204 HTTP status code. + title: + type: string + description: The error title describing the situation. + type: + type: string + instance: + type: string + description: No-content response for the BigCommerce API. + x-internal: false + detailedErrors: + title: detailedErrors + description: Each key-value pair describes a failure or partial success case. + type: object + properties: {} + additionalProperties: true + x-internal: false + product_Full: + title: product_Full + allOf: + - type: object + properties: + id: + minimum: 1 + type: integer + description: ID of the product. Read-Only. + readOnly: true + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + date_created: + type: string + description: | + The date on which the product was created. + format: date-time + example: '2018-08-15T14:49:05+00:00' + date_modified: + type: string + description: | + The date on which the product was modified. + format: date-time + example: '2018-08-24T14:41:00+00:00' + base_variant_id: + type: integer + description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. + calculated_price: + type: number + description: 'The price of the product as seen on the storefront. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`.' + format: float + options: + type: array + items: + $ref: '#/components/schemas/productOption_Base' + modifiers: + type: array + items: + $ref: '#/components/schemas/productModifier_Full' + map_price: + type: number + description: Minimum Advertised Price. + option_set_id: + type: integer + description: Indicates that the product is in an Option Set (legacy V2 concept). + option_set_display: + type: string + description: Legacy template setting which controls if the option set shows up to the side of or below the product image and description. + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + x-internal: false + productImage_Full: + title: productImage_Full + description: Common ProductImage properties. + allOf: + - $ref: '#/components/schemas/productImage_Base' + - title: productImage + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + description: Common ProductImage properties. + x-internal: false + product_Put_Collection: + title: product_Put_Collection + description: The model for batch updating products. + x-internal: false + allOf: + - items: + $ref: '#/components/schemas/product_Base' + x-examples: + example-1: + - name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: list + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + type: array + config_Full: + title: config_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + adjusters_Full: + title: adjusters_Full + type: object + properties: + price: + $ref: '#/components/schemas/adjuster_Full' + weight: + $ref: '#/components/schemas/adjuster_Full' + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + x-internal: false + variant_Base: + title: variant_Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + description: |- + Variant properties used on: + * `/catalog/products/variants` + * `/catalog/variants` + x-internal: false + product_Base: + title: product_Base + type: object + description: |- + Shared `Product` properties used in: + * `POST` + * `PUT` + * `GET` + x-internal: false + x-examples: + example-1: + id: 0 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + channels: + - 1 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability_description: string + availability: available + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + properties: + name: + maxLength: 250 + minLength: 1 + type: string + description: | + A unique product name. + example: Smith Journal 13 + x-required: + - post + type: + type: string + description: | + The product type. One of: `physical` - a physical stock unit, `digital` - a digital download. + example: physical + enum: + - physical + - digital + x-required: + - post + sku: + maxLength: 255 + minLength: 0 + type: string + description: | + A unique user-defined product code/stock keeping unit (SKU). + example: SM-13 + description: + type: string + description: | + The product description, which can include HTML formatting. + example: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Weight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store + format: float + width: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Width of the product, which can be used when calculating shipping costs. + format: float + depth: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Depth of the product, which can be used when calculating shipping costs. + format: float + height: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Height of the product, which can be used when calculating shipping costs. + format: float + price: + minimum: 0 + type: number + description: | + The price of the product. The price should include or exclude tax, based on the store settings. + format: float + cost_price: + minimum: 0 + type: number + description: | + The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store. + format: float + retail_price: + minimum: 0 + type: number + description: | + The retail cost of the product. If entered, the retail cost price will be shown on the product page. + format: float + sale_price: + minimum: 0 + type: number + description: | + If entered, the sale price will be used instead of value in the price field when calculating the product's cost. + format: float + map_price: + type: number + description: Minimum Advertised Price + tax_class_id: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) + product_tax_code: + maxLength: 255 + minLength: 0 + type: string + description: | + Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation. + categories: + type: array + description: | + An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values. + x-required: + - post + items: + type: integer + channels: + type: array + description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' + items: + type: number + example: 1 + brand_id: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + A product can be added to an existing brand during a product /PUT or /POST. + inventory_level: + maximum: 2147483647 + minimum: 0 + type: integer + description: | + Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. + inventory_warning_level: + maximum: 2147483647 + minimum: 0 + type: integer + description: | + Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the `inventory_tracking` field) for this to take any effect. + inventory_tracking: + type: string + description: | + The type of inventory tracking for the product. Values are: `none` - inventory levels will not be tracked; `product` - inventory levels will be tracked using the `inventory_level` and `inventory_warning_level` fields; `variant` - inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels. + enum: + - none + - product + - variant + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: float + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the product has free shipping. If `true`, the shipping cost for the product will be zero. + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the product will be displayed. If `false`, the product will be hidden from view. + is_featured: + type: boolean + description: | + Flag to determine whether the product should be included in the `featured products` panel when viewing the store. + related_products: + type: array + description: | + An array of IDs for the related products. + items: + type: integer + warranty: + maxLength: 65535 + minLength: 0 + type: string + description: | + Warranty information displayed on the product page. Can include HTML formatting. + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: | + The BIN picking number for the product. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + upc: + type: string + maxLength: 32 + minLength: 0 + description: | + The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the product when searching the store. + availability_description: + maxLength: 255 + minLength: 0 + type: string + description: | + Availability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.' + availability: + type: string + description: | + Availability of the product. (Corresponds to the product's [Purchasability](https://support.bigcommerce.com/s/article/Adding-Products-v3?language=en_US#sections) section in the control panel.) Supported values: `available` - the product is available for purchase; `disabled` - the product is listed on the storefront, but cannot be purchased; `preorder` - the product is listed for pre-orders. + enum: + - available + - disabled + - preorder + gift_wrapping_options_type: + type: string + description: | + Type of gift-wrapping options. Values: `any` - allow any gift-wrapping options in the store; `none` - disallow gift-wrapping on the product; `list` – provide a list of IDs in the `gift_wrapping_options_list` field. + enum: + - any + - none + - list + gift_wrapping_options_list: + type: array + description: | + A list of gift-wrapping option IDs. + items: + type: integer + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results. + condition: + type: string + description: | + The product condition. Will be shown on the product page if the `is_condition_shown` field's value is `true`. Possible values: `New`, `Used`, `Refurbished`. + enum: + - New + - Used + - Refurbished + is_condition_shown: + type: boolean + description: | + Flag used to determine whether the product condition is shown to the customer on the product page. + order_quantity_minimum: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The minimum quantity an order must contain, to be eligible to purchase this product. + order_quantity_maximum: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The maximum quantity an order can contain when purchasing the product. + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the product page. If not defined, the product name will be used as the meta title. + meta_keywords: + type: array + description: | + Custom meta keywords for the product page. If not defined, the store's default keywords will be used. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the product page. If not defined, the store's default meta description will be used. + view_count: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The number of times the product has been viewed. + preorder_release_date: + type: string + description: | + Pre-order release date. See the `availability` field for details on setting a product's availability to accept pre-orders. + format: date-time + nullable: true + preorder_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the `%%DATE%%` placeholder, which will be substituted for the release date. + is_preorder_only: + type: boolean + description: | + If set to true then on the preorder release date the preorder status will automatically be removed. + If set to false, then on the release date the preorder status **will not** be removed. It will need to be changed manually either in the + control panel or using the API. Using the API set `availability` to `available`. + is_price_hidden: + type: boolean + description: | + False by default, indicating that this product's price should be shown on the product page. If set to `true`, the price is hidden. (NOTE: To successfully set `is_price_hidden` to `true`, the `availability` value must be `disabled`.) + price_hidden_label: + maxLength: 200 + minLength: 0 + type: string + description: | + By default, an empty string. If `is_price_hidden` is `true`, the value of `price_hidden_label` is displayed instead of the price. (NOTE: To successfully set a non-empty string value with `is_price_hidden` set to `true`, the `availability` value must be `disabled`.) + custom_url: + $ref: '#/components/schemas/customUrl_Full' + open_graph_type: + type: string + description: | + Type of product, defaults to `product`. + enum: + - product + - album + - book + - drink + - food + - game + - movie + - song + - tv_show + open_graph_title: + type: string + description: | + Title of the product, if not specified the product name will be used instead. + open_graph_description: + type: string + description: | + Description to use for the product, if not specified then the meta_description will be used instead. + open_graph_use_meta_description: + type: boolean + description: | + Flag to determine if product description or open graph description is used. + open_graph_use_product_name: + type: boolean + description: | + Flag to determine if product name or open graph name is used. + open_graph_use_image: + type: boolean + description: | + Flag to determine if product image or open graph image is used. + brand_name or brand_id: + type: string + description: The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using `brand_name` it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only the `brand_id`. + example: Common Good + gtin: + type: string + description: Global Trade Item Number + mpn: + type: string + description: Manufacturer Part Number + reviews_rating_sum: + type: integer + description: | + The total (cumulative) rating for the product. + example: 3 + reviews_count: + type: integer + description: | + The number of times the product has been rated. + example: 4 + total_sold: + type: integer + description: | + The total quantity of this product sold. + example: 80 + custom_fields: + type: array + items: + $ref: '#/components/schemas/productCustomField_Put' + bulk_pricing_rules: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + images: + type: array + items: + $ref: '#/components/schemas/productImage_Full' + videos: + type: array + items: + $ref: '#/components/schemas/productVideo_Full' + required: + - name + - type + - weight + - price + metafield_Full: + title: metafield_Full + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + - $ref: '#/components/schemas/metafield_Base' + - type: object + properties: + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID of the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + x-internal: false + productVariant_Put: + title: productVariant_Put + description: The model for a PUT to update variants on a product. + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + product_id: + type: integer + x-required: + - post + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + x-internal: false + errorResponse_409: + title: errorResponse_409 + allOf: + - type: object + properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - type: object + properties: + errors: + $ref: '#/components/schemas/detailedErrors' + x-internal: false + errorResponse_422: + title: errorResponse_422 + allOf: + - type: object + properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - type: object + properties: + errors: + $ref: '#/components/schemas/detailedErrors' + x-internal: false + productSortOrder: + title: productSortOrder + required: + - product_id + - sort_order + type: object + properties: + product_id: + minimum: 1 + type: integer + description: The ID of the associated product. + example: 99 + sort_order: + minimum: 0 + type: integer + example: 4 + description: The relative priority of the product among other products inside the category. + x-internal: false + betacategory_Full: + type: object + description: Common Category object properties. + title: category_Full + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + required: + - post + name: + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + minLength: 1 + maxLength: 50 + example: Bath + required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example: We offer a wide variety of products perfect for relaxing + views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + minimum: -2147483648 + maximum: 2147483647 + example: 3 + page_title: + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + minLength: 0 + maxLength: 255 + example: Bath + search_keywords: + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + minLength: 0 + maxLength: 255 + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + minLength: 0 + maxLength: 65535 + layout_file: + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + minLength: 0 + maxLength: 500 + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + x-url: true + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + custom_url: + $ref: '#/components/schemas/betacustomUrl_Full' + required: + - parent_id + - name + x-tags: + - Models + betametaCollection_Full: + type: object + description: 'Data about the response, including pagination and collection totals.' + title: metaCollection_Full + properties: + pagination: + $ref: '#/components/schemas/betapagination_Full' + x-tags: + - Models + betapagination_Full: + type: object + description: 'Data about the response, including pagination and collection totals.' + title: pagination_Full + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + description: | + Pagination links for the previous and next parts of the whole collection. + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + x-tags: + - Models + betametaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + x-tags: + - Models + betaerrorResponse_Full: + allOf: + - $ref: '#/components/schemas/betaerror_Base' + - type: object + properties: + errors: + $ref: '#/components/schemas/betadetailedErrors' + title: errorResponse_Full + x-tags: + - Models + betaerror_Base: + 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 + title: error_Base + x-tags: + - Models + betaerrorNotFound: + description: Error payload for the BigCommerce API. + type: object + properties: + status: + description: | + 404 HTTP status code. + type: integer + title: + description: The error title describing the particular error. + type: string + type: + type: string + instance: + type: string + title: errorNotFound + x-tags: + - Models + betaerrorNoContent: + description: No-content response for the BigCommerce API. + type: object + properties: + status: + description: | + 204 HTTP status code. + type: integer + title: + description: The error title describing the situation. + type: string + type: + type: string + instance: + type: string + title: errorNoContent + x-tags: + - Models + betadetailedErrors: + type: object + title: detailedErrors + properties: {} + additionalProperties: true + x-tags: + - Models + betaerrorResponse_409: + title: errorResponse_409 + allOf: + - properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - properties: + errors: + $ref: '#/components/schemas/betadetailedErrors' + type: object + x-tags: + - Models + betaerrorResponse_422: + title: errorResponse_422 + allOf: + - properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - properties: + errors: + $ref: '#/components/schemas/betadetailedErrors' + type: object + x-tags: + - Models + custom_url: + type: object + description: The custom URL for the category on the storefront. + title: Custom Url Category + properties: + url: + type: string + description: | + Category URL on the storefront. + x-url: true + minLength: 0 + maxLength: 255 + example: /shoes + required: + - post + - put + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + required: + - post + - put + x-tags: + - Models + betacustomUrl_Full: + type: object + description: The custom URL for the product on the storefront. + title: customUrl_Full + properties: + url: + type: string + description: | + Product URL on the storefront. + x-url: true + minLength: 0 + maxLength: 255 + example: /shoes + required: + - post + - put + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + required: + - post + - put + x-tags: + - Models + CreateCategories: + type: array + items: + allOf: + - $ref: '#/components/schemas/TreeIdCreateData' + - $ref: '#/components/schemas/ParentIdCreateData' + - $ref: '#/components/schemas/CategoryDataPOST' + x-tags: + - Models + title: Create Categories + UpdateCategories: + x-tags: + - Models + type: array + items: + allOf: + - $ref: '#/components/schemas/TreeIdUpdateData' + - $ref: '#/components/schemas/CategoryIdUpdateData' + - $ref: '#/components/schemas/CategoryUuidData' + - $ref: '#/components/schemas/ParentIdUpdateData' + - $ref: '#/components/schemas/CategoryDataPUT' + Category: + x-tags: + - Models + title: Category + allOf: + - $ref: '#/components/schemas/id' + - $ref: '#/components/schemas/parent_id' + - $ref: '#/components/schemas/name' + - $ref: '#/components/schemas/description' + - $ref: '#/components/schemas/views' + - $ref: '#/components/schemas/sort_order' + - $ref: '#/components/schemas/page_title' + - $ref: '#/components/schemas/meta_keywords' + - $ref: '#/components/schemas/meta_description' + - $ref: '#/components/schemas/layout_file' + - $ref: '#/components/schemas/image_url' + - $ref: '#/components/schemas/is_visible' + - $ref: '#/components/schemas/search_keywords' + - $ref: '#/components/schemas/default_product_sort' + - type: object + properties: + url: + $ref: '#/components/schemas/Url' + x-examples: {} + CategoryUuidData: + type: object + x-tags: + - Models + properties: + category_uuid: + type: string + format: uuid + title: category_uuid + CategoryIdUpdateData: + type: object + properties: + category_id: + type: integer + required: + - category_id + x-tags: + - Models + ParentIdCreateData: + type: object + properties: + parent_id: + type: integer + required: + - parent_id + x-tags: + - Models + TreeIdCreateData: + type: object + properties: + tree_id: + type: integer + required: + - tree_id + x-tags: + - Models + ParentIdUpdateData: + type: object + properties: + parent_id: + type: integer + x-tags: + - Models + TreeIdUpdateData: + type: object + x-tags: + - Models + properties: + tree_id: + type: integer + required: + - tree_id + CategoryData: + allOf: + - type: object + properties: + name: + type: string + description: + type: string + views: + type: integer + sort_order: + type: integer + page_title: + type: string + search_keywords: + type: string + meta_keywords: + type: array + items: + type: string + meta_description: + type: string + layout_file: + type: string + is_visible: + type: boolean + image_url: + type: string + url: + $ref: '#/components/schemas/Url' + CategoryDataPUT: + allOf: + - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/default_product_sort' + CategoryDataPOST: + allOf: + - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/default_product_sort' + required: + - name + - url + Urls: + type: array + items: + $ref: '#/components/schemas/Url' + x-tags: + - Models + Url: + type: object + properties: + path: + type: string + is_customized: + type: boolean + x-tags: + - Models + MetaPagination: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + example: 246 + minimum: 0 + count: + type: integer + example: 5 + minimum: 0 + per_page: + type: integer + example: 5 + minimum: 0 + current_page: + type: integer + example: 1 + minimum: 1 + total_pages: + type: integer + example: 50 + minimum: 0 + links: + type: object + properties: + previous: + type: string + example: '?limit=5&page=1' + current: + type: string + example: '?limit=5&page=2' + next: + type: string + example: '?limit=5&page=3' + x-tags: + - Models + DetailedErrors: + description: | + Details of errors. + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + ErrorRequest: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorBasic' + x-tags: + - Models + ErrorBasic: + type: object + properties: + status: + description: | + The HTTP status code. + type: integer + title: + description: | + The error title describing the particular error. + type: string + type: + type: string + x-tags: + - Models + ErrorAdditional: + type: object + properties: + errors: + $ref: '#/components/schemas/DetailedErrors' + x-tags: + - Models + MetaError: + allOf: + - $ref: '#/components/schemas/ErrorBasic' + - $ref: '#/components/schemas/ErrorAdditional' + x-tags: + - Models + MetaData: + type: object + properties: + total: + type: integer + success: + type: integer + failed: + type: integer + x-tags: + - Models + SuccessNoContentResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + PartialSuccessNoContentResponse: + type: object + properties: + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + PartialSuccessResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + SuccessResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + ErrorResponse: + type: object + properties: + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + Tree: + type: object + properties: + id: + type: integer + name: + type: string + minLength: 1 + maxLength: 255 + channels: + type: array + items: + type: integer + x-tags: + - Models + CategoryNode: + type: object + properties: + id: + type: integer + parent_id: + type: integer + depth: + type: integer + path: + type: array + items: + type: integer + name: + type: string + is_visible: + type: boolean + children: + type: array + items: + $ref: '#/components/schemas/CategoryNode' + x-tags: + - Models + beta4Category: + type: object + properties: + id: + type: integer + parent_id: + type: integer + tree_id: + type: integer + name: + type: string + description: + type: string + views: + type: integer + sort_order: + type: integer + page_title: + type: string + search_keywords: + type: string + meta_keywords: + type: array + items: + type: string + meta_description: + type: string + layout_file: + type: string + is_visible: + type: boolean + default_product_sort: + type: string + image_url: + type: string + custom_url: + $ref: '#/components/schemas/CustomUrl' + x-tags: + - Models + beta4CategoryData: + type: object + properties: + tree_id: + type: integer + parent_id: + type: integer + name: + type: string + description: + type: string + views: + type: integer + sort_order: + type: integer + page_title: + type: string + search_keywords: + type: string + meta_keywords: + type: array + items: + type: string + meta_description: + type: string + layout_file: + type: string + is_visible: + type: boolean + default_product_sort: + type: string + image_url: + type: string + custom_url: + $ref: '#/components/schemas/CustomUrl' + x-tags: + - Models + CustomUrl: + type: object + properties: + url: + type: string + is_customized: + type: boolean + x-tags: + - Models + MetaPaginationObject: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + example: 246 + minimum: 0 + count: + type: integer + example: 5 + minimum: 0 + per_page: + type: integer + example: 5 + minimum: 0 + current_page: + type: integer + example: 1 + minimum: 1 + total_pages: + type: integer + example: 50 + minimum: 0 + links: + type: object + properties: + next: + type: string + example: '?limit=5&page=2' + current: + type: string + example: '?limit=5&page=1' + x-tags: + - Models + beta4DetailedErrors: + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + 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 + x-tags: + - Models + beta4ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/beta4DetailedErrors' + x-tags: + - Models + ProductsChannelCount: + type: object + description: The count of product in the channels. + properties: + channel_id: + description: Channel ID. + type: integer + minimum: 1 + product_count: + type: integer + minimum: 0 + x-tags: + - Models + ProductsCategoriesCount: + properties: + product_id: + type: integer + minimum: 1 + channels: + type: array + items: + $ref: '#/components/schemas/CategoriesCount' + x-tags: + - Models + CategoriesCount: + properties: + channel_id: + type: integer + minimum: 1 + category_count: + type: integer + minimum: 0 + x-tags: + - Models + ProductChannelAssignment: + properties: + product_id: + type: integer + channel_id: + type: integer + x-tags: + - Models + ProductCategoryAssignment: + properties: + product_id: + type: integer + category_id: + type: integer + x-tags: + - Models + beta5DetailedErrors: + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + beta5ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/beta5DetailedErrors' + x-tags: + - Models + default_product_sort: + title: default_product_sort + type: object + properties: + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + name: + title: name + type: object + properties: + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + description: + title: description + type: object + properties: + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + title: views + type: object + properties: + views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + title: sort_order + type: object + properties: + sort_order: + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + title: page_title + type: object + properties: + page_title: + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + title: search_keywords + type: object + properties: + search_keywords: + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + title: meta_keywords + type: object + properties: + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + layout_file: + title: layout_file + type: object + properties: + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + example: category.html + is_visible: + title: is_visible + type: object + properties: + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + image_url: + title: image_url + type: object + properties: + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + meta_description: + title: meta_description + type: object + properties: + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + id: + title: id + type: object + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + title: parent_id + type: object + properties: + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + responses: + BrandCollectionResponse: + description: '' + content: + application/json: + schema: + title: Brand Collection Response + type: object + properties: + data: + type: array + items: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaCollection_Full' + BrandImageUpload: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + BrandResponse: + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + BulkPricingRuleCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/bulkPricingRuleFull_Response' + meta: + $ref: '#/components/schemas/metaCollection_Full' + BulkPricingRuleResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/bulkPricingRuleFull_Response' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + CatalogSummaryResponse: + description: '' + content: + application/json: + schema: + title: Catalog Summary Response + type: object + properties: + data: + title: Catalog Summary + type: object + properties: + inventory_count: + type: integer + description: | + A count of all inventory items in the catalog. + example: 2000 + inventory_value: + type: number + description: | + Total value of store's inventory. + format: double + example: 267000 + primary_category_id: + type: integer + description: | + ID of the category containing the most products. + example: 23 + primary_category_name: + type: string + description: | + Name of the category containing the most products. + example: Shop All + variant_count: + type: integer + description: Total number of variants + example: 46 + highest_variant_price: + type: number + description: Highest priced variant + format: double + example: 249 + average_variant_price: + type: number + description: Average price of all variants + format: double + example: 83.07978261 + lowest_variant_price: + type: string + description: Lowest priced variant in the store + example: '7' + oldest_variant_date: + type: string + example: '2018-08-15T00:00:00+00:00' + newest_variant_date: + type: string + example: '2018-08-16T00:00:00+00:00' + description: Catalog Summary object describes a lightweight summary of the catalog. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + CatalogVariantCollectionResponse: + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + $ref: '#/components/schemas/metaCollection_Full' + CategoryCollectionResponse: + description: '' + content: + application/json: + schema: + title: Category Base + type: object + properties: + data: + type: array + items: + type: object + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 19 + parent_id: 0 + name: Garden + description:

This is the garden description

+ views: 0 + sort_order: 2 + page_title: page title + meta_keywords: + - meta keyword + meta_description: meta description + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: search keywords + default_product_sort: use_store_settings + custom_url: + url: /garden/ + is_customized: false + - id: 20 + parent_id: 0 + name: Publications + description: '' + views: 0 + sort_order: 4 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /publications/ + is_customized: false + - id: 21 + parent_id: 0 + name: Kitchen + description: '' + views: 0 + sort_order: 3 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /kitchen/ + is_customized: false + - id: 22 + parent_id: 0 + name: Utility + description: '' + views: 0 + sort_order: 5 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /utility/ + is_customized: false + - id: 23 + parent_id: 0 + name: Shop All + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /shop-all/ + is_customized: false + - id: 39 + parent_id: 19 + name: Bath + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /garden/bath/ + is_customized: false + meta: + pagination: + total: 6 + count: 6 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + CategoryResponse: + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + ComplexRuleCollectionResponse: + description: '' + content: + application/json: + schema: + title: Complex Rule Collection Response + type: object + properties: + data: + type: array + items: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Complex Rule Response + ComplexRuleResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + CustomFieldCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - name: Release year + value: '1987' + id: 1 + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: '?page=1&limit=50' + current: '?page=1&limit=50' + next: '?page=1&limit=50' + CustomFieldResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + Error404Response: + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + Error422Response: + description: |- + Unprocessable entity. + + Please verify if all requested products are assigned to the category. + + Please verify if all required fields are present in the request body and are filled with values correctly. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + General207Status: + description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + MetafieldCollectionResponse: + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + title: Metafield + required: + - key + - namespace + - permission_set + - value + type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID for the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + description: Common Metafield properties. + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - permission_set: app_only + namespace: Warehouse Locations + key: Location + value: 4HG + description: Location in the warehouse + resource_type: brand + resource_id: 111 + id: 6 + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - permission_set: read + namespace: Warehouse Locations + key: Location + value: 4HG + description: Location in the warehouse + resource_type: brand + resource_id: 111 + id: 6 + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - permission_set: app_only + namespace: Warehouse Locations + key: Location + value: 4HG + description: Location in the warehouse + resource_type: brand + resource_id: 111 + id: 6 + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + MetafieldResponse: + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + title: Metafield + required: + - key + - namespace + - permission_set + - value + type: object + properties: + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID for the resource with which the metafield is associated. + example: 111 + x-required: + - post + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + description: Common Metafield properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + description: Where products are located + id: 4 + key: location_id + namespace: App Namespace + permission_set: app_only + resource_id: 137 + resource_type: product + value: 'Shelf 3, Bin 5' + meta: {} + ModifierCollectionResponse: + description: '' + content: + application/json: + schema: + title: Modifier Collection Response + type: object + properties: + data: + type: array + items: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Modifier Collection Response return for /GET All Modifiers. + example: + data: + - id: 206 + product_id: 158 + name: Insurance + display_name: Insurace + type: checkbox + required: true + config: + checkbox_label: $5 for insurance + checked_by_default: false + option_values: + - id: 183 + option_id: 206 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 184 + option_id: 206 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ModifierResponse: + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + ModifierValueCollectionResponse: + description: '' + content: + application/json: + schema: + title: Modifier Value Collection Response + type: object + properties: + data: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Returns for GET All Modifier Values on a Product + example: + data: + - id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 191 + option_id: 222 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ModifierValueResponse: + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + OptionCollectionResponse: + description: '' + content: + application/json: + schema: + title: Option Collection Response + type: object + properties: + data: + type: array + items: + title: Option + type: object + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get all product options + example: + data: + - id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + OptionResponse: + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + OptionValueCollectionResponse: + description: '' + content: + application/json: + schema: + title: Option Value Collection Response + type: object + properties: + data: + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get Option Values response. + example: + data: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + meta: + pagination: + total: 4 + count: 4 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + OptionValueResponse: + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + ProductCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + ProductImageCollectionResponse: + description: '' + content: + application/json: + schema: + title: Product Image Collection Response + type: object + properties: + data: + type: array + items: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + - id: 382 + product_id: 158 + is_thumbnail: true + sort_order: 0 + description: '' + image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + - id: 383 + product_id: 158 + is_thumbnail: false + sort_order: 0 + description: '' + image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ProductImageResponse: + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + ProductResponse: + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + ProductReviewCollectionResponse: + description: '' + content: + application/json: + schema: + title: Product Review Collection Response + type: object + properties: + data: + type: array + items: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaCollection_Full' + ProductReviewResponse: + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: -39218623 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + ProductSortOrderResponse: + description: '' + content: + application/json: + schema: + type: object + ProductVideoCollectionResponse: + description: '' + content: + application/json: + schema: + title: Product Video Collection Response + type: object + properties: + data: + type: array + items: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + title: Collection Meta + type: object + description: 'Data about the response, including pagination and collection totals.' + example: + data: + - id: 6 + type: youtube + video_id: PqBTp23RLhI + product_id: 192 + sort_order: 1 + title: Creating and Editing Banners | BigCommerce Tutorials + description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' + length: '01:54' + - id: 7 + type: youtube + video_id: EhYBjzqd-nI + product_id: 192 + sort_order: 2 + title: BigCommerce Company Values + description: |- + These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. + + Join the BigCommerce team and help us build software that changes lives! + + https://www.bigcommerce.com/careers/ + length: '03:30' + - id: 8 + type: youtube + video_id: vAUdo4kRjrU + product_id: 192 + sort_order: 3 + title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce + description: |- + We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: + + “I am given the freedom and trust to make a difference.” + + “Everyone believes in the product and growing the company.” + + “I'm appreciated for the work I do and there is room to grown within the company.” + + Work With Us! + http://www.bigcommerce.com/careers.php + length: '01:37' + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ProductVideoResponse: + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + VariantCollectionResponse: + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + title: Collection Meta + type: object + description: 'Data about the response, including pagination and collection totals.' + VariantResponse: + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + betaCategoryCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + title: Category Base + properties: + data: + type: array + items: {} + meta: + $ref: '#/components/schemas/betametaCollection_Full' + examples: + response: + value: + data: + - id: 19 + parent_id: 0 + name: Garden + description: This is the garden description + views: 0 + sort_order: 2 + page_title: page title + meta_keywords: + - meta keyword + meta_description: meta description + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: search keywords + default_product_sort: use_store_settings + custom_url: + url: /garden/ + is_customized: false + - id: 20 + parent_id: 0 + name: Publications + description: '' + views: 0 + sort_order: 4 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /publications/ + is_customized: false + - id: 21 + parent_id: 0 + name: Kitchen + description: '' + views: 0 + sort_order: 3 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /kitchen/ + is_customized: false + - id: 22 + parent_id: 0 + name: Utility + description: '' + views: 0 + sort_order: 5 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /utility/ + is_customized: false + - id: 23 + parent_id: 0 + name: Shop All + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /shop-all/ + is_customized: false + - id: 39 + parent_id: 19 + name: Bath + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /garden/bath/ + is_customized: false + meta: + pagination: + total: 6 + count: 6 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + betaCategoryResponse: + description: '' + content: + application/json: + schema: + type: object + title: Category Response + properties: + data: + $ref: '#/components/schemas/betacategory_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + parameters: + FilterTemplateFileParam: + name: template_file + in: query + description: 'The template file, for example: `pages/home`.' + schema: + type: string + FilterIdParam: + name: id + in: query + description: | + Filter items by id. + schema: + type: integer + FilterSkuParam: + name: sku + in: query + description: | + Filter items by sku. + schema: + type: string + FilterNameParam: + name: name + in: query + description: | + Filter items by name. + schema: + type: string + FilterEmailParam: + name: email + in: query + description: | + Filter items by email. + schema: + type: string + FilterSourceParam: + name: source + in: query + description: | + Filter items by source. + schema: + type: string + FilterOrderIdParam: + name: order_id + in: query + description: | + Filter items by order_id. + schema: + type: integer + FilterUpcParam: + name: upc + in: query + description: | + Filter items by upc. + schema: + type: string + FilterPriceParam: + name: price + in: query + description: | + Filter items by price. + schema: + type: number + FilterSalePriceParam: + name: sale_price + in: query + description: | + Filter items by sale_price. + schema: + type: number + FilterRetailPriceParam: + name: retail_price + in: query + description: | + Filter items by retail_price. + schema: + type: number + FilterMapPriceParam: + name: map_price + in: query + description: | + Filter items by map_price. + schema: + type: number + FilterCalculatedPriceParam: + name: calculated_price + in: query + description: | + Filter items by calculated_price. + schema: + type: number + FilterWeightParam: + name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + FilterConditionParam: + name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + FilterBrandIdParam: + name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + FilterDateModifiedParam: + name: date_modified + in: query + description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' + schema: + type: string + format: date-time + FilterDateCreatedParam: + name: date_created + in: query + description: | + Filter items by date_created. + schema: + type: string + format: date-time + FilterDateLastImportedParam: + name: date_last_imported + in: query + description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: + type: string + format: date-time + FilterIsVisibleParam: + name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + FilterIsFeaturedParam: + name: is_featured + in: query + description: | + Filter items by is_featured. + schema: + type: integer + FilterIsFreeShippingParam: + name: is_free_shipping + in: query + description: | + Filter items by is_free_shipping. + schema: + type: integer + FilterInventoryLevelParam: + name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + FilterInventoryLowParam: + name: inventory_low + in: query + description: | + Filter items by inventory_low. Values: 1, 0. + schema: + type: integer + FilterOutOfStockParam: + name: out_of_stock + in: query + description: | + Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. + schema: + type: integer + FilterTotalSoldParam: + name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + ProductFilterTypeParam: + name: type + in: query + description: 'Filter items by type: `physical` or `digital`.' + schema: + type: string + enum: + - digital + - physical + FilterCategoriesParam: + name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + FilterKeywordParam: + name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + ProductFilterKeywordParam: + name: keyword + in: query + description: | + Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. + schema: + type: string + ProductFilterKeywordContextParam: + name: keyword_context + in: query + description: Set context for a product search. + schema: + type: string + enum: + - shopper + - merchant + FilterStatusParam: + name: status + in: query + description: | + Filter items by status. + schema: + type: integer + FilterIncludeParam: + name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + FilterIncludeFieldsParam: + name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + FilterExcludeFieldsParam: + name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + FilterParentIdParam: + name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + FilterPageTitleParam: + name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + FilterAvailabilityParam: + name: availability + in: query + description: | + Filter items by availability. Values are: available, disabled, preorder. + schema: + type: string + enum: + - available + - disabled + - preorder + FilterProductIdParam: + name: product_id + in: query + description: | + A comma-separated list of ids of `Product`s whose prices were requested. + schema: + type: string + FilterVariantIdParam: + name: variant_id + in: query + description: | + The ID of the `Variant` whose prices were requested. + schema: + type: integer + FilterCurrencyParam: + name: currency + in: query + description: | + Filter items by currency. + schema: + type: string + format: ISO-4217 + PageParam: + name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + LimitParam: + name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + DirectionParam: + name: direction + in: query + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + schema: + type: string + enum: + - asc + - desc + ProductSortParam: + name: sort + in: query + description: | + Field name to sort by. + schema: + type: string + enum: + - id + - name + - sku + - price + - date_modified + - date_last_imported + - inventory_level + - is_visible + - total_sold + ProductIdParam: + name: product_id + in: path + description: | + The ID of the `Product` to which the resource belongs. + required: true + schema: + type: integer + ReviewIdParam: + name: review_id + description: | + The ID of the `review` that is being operated on. + required: true + in: path + schema: + type: integer + ImageIdParam: + name: image_id + description: | + The ID of the `Image` that is being operated on. + required: true + in: path + schema: + type: integer + VideoIdParam: + name: id + description: The BigCommerce ID of the `Video` + required: true + in: path + schema: + type: integer + ComplexRuleIdParam: + name: complex_rule_id + description: | + The ID of the `ComplexRule`. + required: true + in: path + schema: + type: integer + ConfigurableFieldIdParam: + name: configurable_field_id + description: | + The ID of the `ConfigurableField`. + required: true + in: path + schema: + type: integer + CustomFieldIdParam: + name: custom_field_id + description: | + The ID of the `CustomField`. + required: true + in: path + schema: + type: integer + BulkPricingRuleIdParam: + name: bulk_pricing_rule_id + description: | + The ID of the `BulkPricingRule`. + required: true + in: path + schema: + type: integer + ModifierIdParam: + name: modifier_id + description: | + The ID of the `Modifier`. + required: true + in: path + schema: + type: integer + ValueIdParam: + name: value_id + description: | + The ID of the `Modifier/Option Value`. + required: true + in: path + schema: + type: integer + OptionIdParam: + name: option_id + description: | + The ID of the `Option`. + required: true + in: path + schema: + type: integer + VariantIdParam: + name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + CategoryIdParam: + name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + BrandIdParam: + name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + MetafieldIdParam: + name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + MetafieldKeyParam: + name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + MetafieldNamespaceParam: + name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + OrderIdParam: + name: order_id + in: path + description: | + The ID of the `Order` to which the transactions belong. + required: true + schema: + type: integer + 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' + product_id: + name: product_id + in: query + description: |- + A comma-separated list of ids of Products whose prices were requested. For example: + `?product_id=:id` + `?product_id:in=77,80,81` + schema: + type: string + FilterIdIn: + name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdNotIn: + name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdMax: + name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdMin: + name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdGreater: + name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdLess: + name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + betaFilterTemplateFileParam: + in: query + name: template_file + description: 'The template file, for example: `pages/home`.' + required: false + schema: + type: string + betaFilterIdParam: + name: id + description: | + Filter items by id. + required: false + in: query + schema: + type: integer + betaFilterSkuParam: + name: sku + description: | + Filter items by sku. + required: false + in: query + schema: + type: string + betaFilterNameParam: + name: name + description: | + Filter items by name. + required: false + in: query + schema: + type: string + betaFilterEmailParam: + name: email + description: | + Filter items by email. + required: false + in: query + schema: + type: string + betaFilterSourceParam: + name: source + description: | + Filter items by source. + required: false + in: query + schema: + type: string + betaFilterOrderIdParam: + name: order_id + description: | + Filter items by order_id. + required: false + in: query + schema: + type: integer + betaFilterUpcParam: + name: upc + description: | + Filter items by upc. + required: false + in: query + schema: + type: string + betaFilterPriceParam: + name: price + description: | + Filter items by price. + required: false + in: query + schema: + type: number + betaFilterSalePriceParam: + name: sale_price + description: | + Filter items by sale_price. + required: false + in: query + schema: + type: number + betaFilterRetailPriceParam: + name: retail_price + description: | + Filter items by retail_price. + required: false + in: query + schema: + type: number + betaFilterMapPriceParam: + name: map_price + description: | + Filter items by map_price. + required: false + in: query + schema: + type: number + betaFilterCalculatedPriceParam: + name: calculated_price + description: | + Filter items by calculated_price. + required: false + in: query + schema: + type: number + betaFilterWeightParam: + name: weight + description: | + Filter items by weight. + required: false + in: query + schema: + type: number + betaFilterConditionParam: + name: condition + description: | + Filter items by condition. + required: false + in: query + schema: + type: string + enum: + - new + - used + - refurbished + betaFilterBrandIdParam: + name: brand_id + description: | + Filter items by brand_id. + required: false + in: query + schema: + type: integer + betaFilterDateModifiedParam: + name: date_modified + description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' + required: false + in: query + schema: + type: string + format: date-time + betaFilterDateCreatedParam: + name: date_created + description: | + Filter items by date_created. + required: false + in: query + schema: + type: string + format: date-time + betaFilterDateLastImportedParam: + name: date_last_imported + description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + required: false + in: query + schema: + type: string + format: date-time + betaFilterIsVisibleParam: + name: is_visible + description: 'Filter items by if visible on the storefront. ' + required: false + in: query + schema: + type: boolean + betaFilterIsFeaturedParam: + name: is_featured + description: | + Filter items by is_featured. + required: false + in: query + schema: + type: integer + betaFilterIsFreeShippingParam: + name: is_free_shipping + description: | + Filter items by is_free_shipping. + required: false + in: query + schema: + type: integer + betaFilterInventoryLevelParam: + name: inventory_level + description: | + Filter items by inventory_level. + required: false + in: query + schema: + type: integer + betaFilterInventoryLowParam: + name: inventory_low + description: | + Filter items by inventory_low. Values: 1, 0. + required: false + in: query + schema: + type: integer + betaFilterOutOfStockParam: + name: out_of_stock + description: | + Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. + required: false + in: query + schema: + type: integer + betaFilterTotalSoldParam: + name: total_sold + description: | + Filter items by total_sold. + required: false + in: query + schema: + type: integer + betaProductFilterTypeParam: + name: type + description: 'Filter items by type: `physical` or `digital`.' + required: false + in: query + schema: + type: string + enum: + - digital + - physical + betaFilterCategoriesParam: + name: categories + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + required: false + in: query + schema: + type: integer + betaFilterKeywordParam: + name: keyword + description: 'Filter items by keywords. eg. new, towel, bath' + required: false + in: query + schema: + type: string + betaProductFilterKeywordParam: + name: keyword + description: | + Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. + required: false + in: query + schema: + type: string + betaProductFilterKeywordContextParam: + name: keyword_context + description: Set context for a product search. + required: false + in: query + schema: + type: string + enum: + - shopper + - merchant + betaFilterStatusParam: + name: status + description: | + Filter items by status. + required: false + in: query + schema: + type: integer + betaFilterIncludeParam: + name: include + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + required: false + in: query + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + betaFilterIncludeFieldsParam: + name: include_fields + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + required: false + in: query + schema: + type: string + betaFilterExcludeFieldsParam: + name: exclude_fields + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + required: false + in: query + schema: + type: string + betaFilterParentIdParam: + name: parent_id + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + required: false + in: query + schema: + type: integer + betaFilterPageTitleParam: + name: page_title + description: | + Filter items by page_title. + required: false + in: query + schema: + type: string + betaFilterAvailabilityParam: + name: availability + description: | + Filter items by availability. Values are: available, disabled, preorder. + required: false + in: query + schema: + type: string + enum: + - available + - disabled + - preorder + betaFilterProductIdParam: + name: product_id + in: query + required: false + description: | + A comma-separated list of ids of `Product`s whose prices were requested. + schema: + type: string + betaFilterVariantIdParam: + name: variant_id + in: query + required: false + description: | + The ID of the `Variant` whose prices were requested. + schema: + type: integer + betaFilterCurrencyParam: + name: currency + description: | + Filter items by currency. + required: false + in: query + schema: + type: string + format: ISO-4217 + betaPageParam: + name: page + description: Specifies the page number in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + betaLimitParam: + name: limit + description: Controls the number of items per page in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + betaDirectionParam: + name: direction + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + required: false + in: query + schema: + type: string + enum: + - asc + - desc + betaProductSortParam: + name: sort + description: | + Field name to sort by. + required: false + in: query + schema: + type: string + enum: + - id + - name + - sku + - price + - date_modified + - date_last_imported + - inventory_level + - is_visible + - total_sold + betaFilterIdIn: + in: query + name: 'id:in' + schema: + type: array + items: + type: integer + betaFilterIdNotIn: + in: query + name: 'id:not_in' + schema: + type: array + items: + type: integer + betaFilterIdMax: + in: query + name: 'id:max' + schema: + type: array + items: + type: integer + betaFilterIdMin: + in: query + name: 'id:min' + schema: + type: array + items: + type: integer + betaFilterIdGreater: + in: query + name: 'id:greater' + schema: + type: array + items: + type: integer + betaFilterIdLess: + in: query + name: 'id:less' + schema: + type: array + items: + type: integer + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header + From fe5984ce82f53255ff7d4c3ca63013f01694f8a7 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 3 Apr 2023 16:11:05 -0500 Subject: [PATCH 128/360] DEVDOCS-4811: [update] Price Lists, Update the batch GET and PUT limits (#1239) --- reference/price_lists.v3.yml | 91 ++++++++++++++++++++++++++++++++++-- 1 file changed, 86 insertions(+), 5 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 95fa56b7b..6a8c392d1 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1373,6 +1373,21 @@ paths: per_page: 50 current_page: 1 total_pages: 1 + '429': + description: | + Allowed number of requests exceeded. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + response: + value: + status: 429 + title: Too many requests + type: /api-docs/getting-started/api-status-codes + errors: {} + examples: {} put: tags: - Price Lists Records @@ -1554,7 +1569,6 @@ paths: quantity_max: 10 type: fixed amount: 3 - examples: {} '422': description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. content: @@ -1603,6 +1617,21 @@ paths: additionalProperties: true description: Error during Price Record batch PUT request. Includes data sent in the request and errors. description: Errors during batch usage for the BigCommerce API. + '429': + description: | + Allowed number of requests exceeded. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + response: + value: + status: 429 + title: Too many requests + type: /api-docs/getting-started/api-status-codes + errors: {} + examples: {} delete: tags: - Price Lists Records @@ -1654,7 +1683,7 @@ paths: Returns *Price List Records* using the variant ID. Will also contain currency records. **Notes** - * Supports up to 50 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error and your additional requests will fail. + * Supports up to 40 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. * Store Pricelist Records data to reduce the number of calls and maximize performance. operationId: getPriceListRecordsByVariantId parameters: @@ -1859,7 +1888,21 @@ paths: type: string description: | Link to the next page returned in the response. - examples: {} + '429': + description: | + Allowed number of requests exceeded. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + response: + value: + status: 429 + title: Too many requests + type: /api-docs/getting-started/api-status-codes + errors: {} + examples: {} '/pricelists/{price_list_id}/records/{variant_id}/{currency_code}': parameters: - $ref: '#/components/parameters/Accept' @@ -1867,7 +1910,11 @@ paths: tags: - Price Lists Records summary: Get a Price Record by Currency Code - description: Returns a *Price List Record* using the currency code. Optional parameters can be used. + description: |- + Returns a *Price List Record* using the currency code. You can use optional parameters. + + **Notes** + * Supports up to 40 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. operationId: getPriceListRecord parameters: - name: price_list_id @@ -2052,11 +2099,30 @@ paths: per_page: 50 current_page: 1 total_pages: 1 + '429': + description: | + Allowed number of requests exceeded. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + response: + value: + status: 429 + title: Too many requests + type: /api-docs/getting-started/api-status-codes + errors: {} + examples: {} put: tags: - Price Lists Records summary: Set Price List Record by Currency Code - description: Creates or updates a*Price List Record* using the currency code. + description: |- + Creates or updates a *Price List Record* using the currency code. + + **Notes** + * Supports up to 40 simultaneous PUT requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. operationId: setPriceListRecord parameters: - name: price_list_id @@ -2379,6 +2445,21 @@ paths: The error title describing the particular error. type: type: string + '429': + description: | + Allowed number of requests exceeded. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + response: + value: + status: 429 + title: Too many requests + type: /api-docs/getting-started/api-status-codes + errors: {} + examples: {} x-codegen-request-body-name: PriceRecord delete: tags: From 1ae3c2d225ea5e0aef8ea6af8834c3029bad61bb Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 3 Apr 2023 16:11:57 -0500 Subject: [PATCH 129/360] DEVDOCS-3989: [revise] OrdersV3, revise create an order response (#1217) Merge to staging. --- reference/orders.v3.yml | 253 +++++++++++++++++++--------------------- 1 file changed, 123 insertions(+), 130 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index e9375f7b6..efc738e01 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -235,28 +235,18 @@ paths: x-examples: Quantity: items: - - item_id: 75 - item_type: PRODUCT + - item_type: PRODUCT + item_id: 31 + amount: 35.00 quantity: 1 + reason: Not the right product. payments: - provider_id: storecredit - amount: 232.75 + amount: 37.89 offline: false - Amount: - order_id: 1 - items: - - item_type: SHIPPING - item_id: 1 - amount: 1.99 - reason: string - reason: Wrong t-shirt size - payments: - - |- - { - "provider_id": "checkout_paypalexpress", - "amount": 9.99, - "offline": true - } + merchant_calculated_override: + - total_amount: 45.00 + total_tax: Tax Exempt (Order Level): order_id: 1234 items: @@ -624,7 +614,7 @@ paths: description: |- Creates an order `Metafield`. - The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. + The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. operationId: createOrderMetafield parameters: - $ref: '#/components/parameters/ContentType' @@ -647,7 +637,7 @@ paths: $ref: '#/components/schemas/MetafieldResponse' '409': description: | - The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. + The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client ID, namespace, key, resource_type, and resource_id. content: application/json: schema: @@ -910,10 +900,10 @@ components: format: int64 label: type: string - description: A description of the reason + description: A description of the reason. is_archived: type: boolean - description: Indicates whether or not the reason has been archived + description: Indicates whether or not the reason has been archived. x-internal: false PreferredOutcome: type: object @@ -923,10 +913,10 @@ components: format: int64 label: type: string - description: A description of the outcome + description: A description of the outcome. is_archived: type: boolean - description: Indicates whether or not the outcome has been archived + description: Indicates whether or not the outcome has been archived. x-internal: false CreateReturnRequest: type: object @@ -934,12 +924,12 @@ components: - items properties: items: - description: A collection of items to be returned + description: A collection of items to be returned. type: array items: $ref: '#/components/schemas/CreateReturnRequestItem' comment: - description: A comment provided to the merchant for review + description: A comment provided to the merchant for review. type: string title: CreateReturnRequest x-internal: false @@ -967,7 +957,7 @@ components: $ref: '#/components/schemas/Return_Full' Return_Full: type: object - description: A view of a return + description: A view of a return. properties: items: type: array @@ -976,11 +966,11 @@ components: total: type: string format: decimal - description: The total price of the items being returned + description: The total price of the items being returned. currency: type: string format: iso-4217 - description: The transactional currency of the return and the associated order + description: The transactional currency of the return and the associated order. customer: type: object properties: @@ -992,7 +982,7 @@ components: format: email comment: type: string - description: A comment provided to the merchant for review + description: A comment provided to the merchant for review. status: $ref: '#/components/schemas/Status_Full' date_modified: @@ -1001,62 +991,62 @@ components: x-internal: false ReturnItem: type: object - description: A view of a return item + description: A view of a return item. properties: id: type: integer format: int64 - description: The unique identifier of this return item + description: The unique identifier of this return item. reference_id: $ref: '#/components/schemas/ItemReferenceId' quantity: type: integer - description: The quantity of items for which a return was requested + description: The quantity of items for which a return was requested. total: type: string format: decimal - description: The total price of the line item + description: The total price of the line item. preferred_outcome: type: object properties: id: type: integer format: int64 - description: Unique identifier of the preferred outcome + description: Unique identifier of the preferred outcome. label: type: string - description: A displayable label for the preferred outcome + description: A displayable label for the preferred outcome. reason: type: object properties: id: type: integer format: int64 - description: Unique identifier of the reason + description: Unique identifier of the reason. label: type: string - description: A displayable label for the reason + description: A displayable label for the reason. received_state: type: object properties: received_quantity: type: integer - description: The quantity of items marked as received by the merchant + description: The quantity of items marked as received by the merchant. pending_quantity: type: integer - description: The quantity of items pending receipt by the merchant + description: The quantity of items pending receipt by the merchant. review_state: type: object properties: approved_quantity: type: integer - description: The quantity of items approved for return by the merchant + description: The quantity of items approved for return by the merchant. pending_quantity: type: integer - description: The quantity of items pending receipt by the merchant + description: The quantity of items pending receipt by the merchant. rejected_quantity: type: integer - description: The quantity of items rejected by the merchant + description: The quantity of items rejected by the merchant. x-internal: false StatusUpdate_Full: type: object @@ -1064,7 +1054,7 @@ components: return_id: type: integer format: int64 - description: The ID of the return for which the status should be updated + description: The ID of the return for which the status should be updated. new_status: $ref: '#/components/schemas/Status_Full' title: StatusUpdate_Full @@ -1092,7 +1082,7 @@ components: id: type: integer format: int64 - description: The ID of the return for which the status was updated + description: The ID of the return for which the status was updated. status: $ref: '#/components/schemas/Status_Full' x-internal: false @@ -1101,27 +1091,27 @@ components: properties: status: type: integer - description: Status code of the problem + description: Status code of the problem. title: type: string - description: A short description of the problem + description: A short description of the problem. type: type: string format: url - description: A resource describing the problem + description: A resource describing the problem. x-internal: false BatchOperationMeta: type: object properties: total: type: integer - description: The total number of operations in the batch + description: The total number of operations in the batch. success: type: integer - description: The number of failed operations in the batch + description: The number of failed operations in the batch. failed: type: integer - description: The number of failed operations in the batch + description: The number of failed operations in the batch. x-internal: false Pagination: type: object @@ -1184,13 +1174,13 @@ components: item_id: type: integer format: int64 - description: The ID of the item for which to update the received state + description: The ID of the item for which to update the received state. received_quantity: type: integer - description: The quantity of items to be marked as received + description: The quantity of items to be marked as received. pending_quantity: type: integer - description: The quantity of items to be marked as pending + description: The quantity of items to be marked as pending. title: ReceivedItems_Put x-internal: false ReceivedItems_Base: @@ -1201,15 +1191,15 @@ components: item_id: type: integer format: int64 - description: The ID of the item for which received item status was updated + description: The ID of the item for which received item status was updated. received_quantity: type: integer format: int64 - description: The quantity of items marked as received + description: The quantity of items marked as received. pending_quantity: type: integer format: int64 - description: The quantity of items marked as pending + description: The quantity of items marked as pending. title: ReceivedItems_Base x-internal: false ReviewedItems_Put: @@ -1225,16 +1215,16 @@ components: item_id: type: integer format: int64 - description: The ID of the item for which to update the reviewed state + description: The ID of the item for which to update the reviewed state. authorized_quantity: type: integer - description: The quantity of items to be marked as authorized + description: The quantity of items to be marked as authorized. rejected_quantity: type: integer - description: The quantity of items to be marked as rejected + description: The quantity of items to be marked as rejected. pending_quantity: type: integer - description: The quantity of items to be marked as pending + description: The quantity of items to be marked as pending. title: ReviewedItems_Put x-internal: false ReviewedItems_Base: @@ -1245,19 +1235,19 @@ components: item_id: type: integer format: int64 - description: The ID of the item for which reviewed status was updated + description: The ID of the item for which reviewed status was updated. authorized_quantity: type: integer format: int64 - description: The quantity of items marked as authorized + description: The quantity of items marked as authorized. rejected_quantity: type: integer format: int64 - description: The quantity of items marked as rejected + description: The quantity of items marked as rejected. pending_quantity: type: integer format: int64 - description: The quantity of items marked as pending + description: The quantity of items marked as pending. title: ReviewedItems_Base x-internal: false GetReturnableItems: @@ -1269,14 +1259,14 @@ components: $ref: '#/components/schemas/ItemReferenceId' name: type: string - description: The name of the order product + description: The name of the order product. returnable_quantity: type: integer - description: The maximum quantity of this item that can presently be requested for return + description: The maximum quantity of this item that can presently be requested for return. total: type: string format: decimal - description: The total price of this line item + description: The total price of this line item. options: type: array items: @@ -1284,24 +1274,24 @@ components: properties: display_name: type: string - description: A displayable name for the option + description: A displayable name for the option. display_value: type: string - description: A displayable value for the option - description: An item available for return - description: A collection of options configured for the order product + description: A displayable value for the option. + description: An item available for return. + description: A collection of options configured for the order product. x-internal: false ItemReferenceId: type: object properties: type: type: string - description: The reference type + description: The reference type. enum: - ORDER_PRODUCT value: type: string - description: The value identifying the returned item + description: The value identifying the returned item. required: - type - value @@ -1513,7 +1503,7 @@ components: type: string date_created: description: | - The datetime of the transaction. + The date/time of the transaction. type: string format: date-time test: @@ -1645,7 +1635,7 @@ components: type: string date_created: description: | - The datetime of the transaction. + The date/time of the transaction. type: string format: date-time test: @@ -1688,7 +1678,7 @@ components: payment_method_id: type: string description: | - The payment method ID used for this transaction + The payment method ID used for this transaction. required: - event - method @@ -1706,7 +1696,7 @@ components: Identifier for the BigCommerce Order with which this transaction is associated. date_created: description: | - The datetime of the transaction. + The date/time of the transaction. type: string format: date-time payment_instrument_token: @@ -2125,6 +2115,9 @@ components: title: RefundQuote_Full x-internal: false properties: + order_id: + type: integer + description: ID of the order to be refunded. total_refund_amount: $ref: '#/components/schemas/Amount' total_refund_tax_amount: @@ -2132,7 +2125,7 @@ components: example: 1.95 rounding: type: number - description: Indicates rounding value to bring `refund_total` to an amount refundable via payment providers (in this case to 2 decimal places). + description: Indicates rounding value to bring `refund_total` to an amount refundable with payment providers (in this case to 2 decimal places). adjustment: $ref: '#/components/schemas/AdjustmentAmount' tax_inclusive: @@ -2194,7 +2187,7 @@ components: In this case there are three refund methods available to the merchant: 1. Refund up to the entire order amount to store credit. 2. Mark an amount up to the full order amount as refunded externally, through a provider or means not represented directly in BC ("custom"). - 3. Refund the amount paid by store credit to store credit, and the amount paid by bank deposit via a manual refund, which will be recorded as being refunded against the bank deposit. + 3. Refund the amount paid by store credit to store credit, and the amount paid by bank deposit with a manual refund, which will be recorded as being refunded against the bank deposit. items: $ref: '#/components/schemas/RefundMethod' RefundRequest_Post: @@ -2207,12 +2200,8 @@ components: type: array items: $ref: '#/components/schemas/ItemsRefund' - reason: - type: string - description: Reason for refund - example: Wrong t-shirt size payments: - type: array + type: object items: $ref: '#/components/schemas/PaymentRequest' merchant_calculated_override: @@ -2246,7 +2235,7 @@ components: item_id: 87 quantity: 1 requested_amount: null - reason: incididunt exercitation enim + reason: Wrong color meta: {} properties: data: @@ -2255,10 +2244,10 @@ components: id: type: integer description: | - Refund ID for the returned refund + Refund ID for the returned refund. order_id: type: integer - description: Order ID associated with the refund + description: Order ID associated with the refund. user_id: type: integer description: | @@ -2266,12 +2255,12 @@ components: created: type: string description: | - Timestamp of when the refund was created + Timestamp of when the refund was created. format: date-time reason: type: string description: | - Reason for refund + Reason for refund. total_amount: type: number description: | @@ -2293,29 +2282,29 @@ components: id: type: integer description: | - Reference to refund payment ID + Reference to refund payment ID. provider_id: type: string description: | - Reference to payment provider + Reference to payment provider. example: storecredit amount: type: number description: | - A non-negative two decimal place rounded value represents the amount that can be charged/refunded via payment providers. + A non-negative two decimal place rounded value represents the amount that can be charged/refunded with payment providers. example: 109.11 offline: type: boolean description: | - Indicates whether the payment was offline + Indicates whether the payment was offline. is_declined: type: boolean description: | - Indicates if this payment has been declined by the payment provider + Indicates if this payment has been declined by the payment provider. declined_message: type: string description: | - Message indicates why the payment was declined + Message indicates why the payment was declined. items: type: array items: @@ -2324,7 +2313,7 @@ components: item_type: type: string description: | - Type of item that was refunded + Type of item that was refunded. enum: - PRODUCT - GIFT_WRAPPING @@ -2338,7 +2327,7 @@ components: quantity: type: integer description: | - Quantity of item refunded. Note: this will only be populated for item_type PRODUCT + Quantity of item refunded. Note: this will only be populated for item_type PRODUCT. requested_amount: type: string description: | @@ -2348,12 +2337,12 @@ components: reason: type: string description: | - Reason for refunding an item + Reason for refunding an item. meta: $ref: '#/components/schemas/metaEmpty_Full' PostRefundsRequest: type: array - description: Request body for batch refunds + description: Request body for batch refunds. title: Refunds Request - BATCH items: $ref: '#/components/schemas/RefundRequest_Post' @@ -2367,11 +2356,11 @@ components: type: integer status: type: integer - description: HTTP status code + description: HTTP status code. example: 422 error: type: string - description: details why the request failed + description: details why the request failed. title: FailedQuoteError x-internal: false ItemsRefund: @@ -2387,11 +2376,11 @@ components: properties: provider_id: type: string - description: Reference to payment provider + description: Reference to payment provider. example: checkout_paypalexpress amount: type: number - description: Amount refunded via this provider + description: Amount refunded with this provider. example: 9.99 offline: type: boolean @@ -2420,6 +2409,7 @@ components: properties: item_type: type: string + example: PRODUCT enum: - ORDER - PRODUCT @@ -2435,7 +2425,8 @@ components: example: 3 reason: type: string - description: Reason for refund + example: Wrong size. + description: Reason for refund. minLength: 0 maxLength: 1000 x-internal: false @@ -2465,7 +2456,7 @@ components: AmountBoundItem: type: object title: Amount Bound Item - description: | + description: |- Amount Bound Item Type of refund item that capture refunding of items in the order that are of type amount. @@ -2473,6 +2464,7 @@ components: * `ORDER` * `SHIPPING` * `HANDLING` + * `TAX` x-internal: false properties: item_type: @@ -2482,6 +2474,7 @@ components: - ORDER - SHIPPING - HANDLING + - TAX example: SHIPPING description: Type of refund. item_id: @@ -2503,7 +2496,7 @@ components: MerchantOverride: type: object title: Merchant Calculated Override - description: | + description: |- Merchant explicitly provided override based on their own calculation. This override gives merchants the flexibility to @@ -2527,23 +2520,23 @@ components: properties: id: type: integer - description: Refund resource ID + description: Refund resource ID. readOnly: true order_id: type: integer - description: Reference to order id + description: Reference to order ID. user_id: type: integer - description: Reference to the user's id who create this refund. This is automatically populated by BigCommerce. + description: Reference to the user's ID who create this refund. This is automatically populated by BigCommerce. readOnly: true created: type: string format: date-time - description: Timestamp of when this refund was created + description: Timestamp of when this refund was created. readOnly: true reason: type: string - description: Reason for refund + description: Reason for refund. total_amount: $ref: '#/components/schemas/Amount' total_tax: @@ -2551,16 +2544,16 @@ components: description: 'Total tax amount refunded back to the shopper. Note: `order_level_amount` does not affect tax liability. This can be a negative amount indicating we have collected tax by refunding less to the customer.' uses_merchant_override_values: type: boolean - description: Whether refund amount and tax are provided explicitly by merchant override + description: Whether refund amount and tax are provided explicitly by merchant override. items: type: array - description: Array of items refunded + description: Array of items refunded. minItems: 1 items: $ref: '#/components/schemas/RefundItem' payments: type: array - description: An array of refund payments made to payment providers + description: An array of refund payments made to payment providers. minItems: 1 items: $ref: '#/components/schemas/RefundPayment' @@ -2570,7 +2563,7 @@ components: properties: item_type: type: string - description: Type of item that was refunded + description: Type of item that was refunded. enum: - PRODUCT - GIFT_WRAPPING @@ -2582,7 +2575,7 @@ components: description: 'order_product.id corresponding to the item_types of PRODUCT, GIFT_WRAPPING. order_address.id corresponding to the item_types of SHIPPING, HANDLING. order.id corresponding to the item_type of ORDER.' reason: type: string - description: Reason for refunding an item + description: Reason for refunding an item. quantity: type: integer description: 'Quantity of item refunded. Note: this will only be populated for item_type PRODUCT' @@ -2596,23 +2589,23 @@ components: properties: id: type: integer - description: Reference to refund payment id + description: Reference to refund payment ID. readOnly: true provider_id: type: string - description: Reference to payment provider + description: Reference to payment provider. example: storecredit amount: $ref: '#/components/schemas/Amount' offline: type: boolean - description: Indicate whether payment was offline + description: Indicate whether payment was offline. is_declined: type: boolean - description: Indicate if this payment has been declined by payment provider + description: Indicate if this payment has been declined by payment provider. declined_message: type: string - description: Message indicate why payment was declined + description: Message indicate why payment was declined. x-internal: false PaymentOption: type: object @@ -2622,7 +2615,7 @@ components: amount: 9.99 offline: true offline_provider: true - offline_reason: Multiple online refunds are not available + offline_reason: Multiple online refunds are not available. title: Payment Option properties: provider_id: @@ -2635,7 +2628,7 @@ components: example: Paypal Express amount: type: number - description: Amount to be refunded via this payment provider. + description: Amount to be refunded with this payment provider. example: 9.99 offline: type: boolean @@ -2653,7 +2646,7 @@ components: Amount: type: number format: float - description: A non-negative 2 decimal place rounded value that represents the amount that can be charged/refunded via payment providers. + description: A non-negative 2 decimal place rounded value that represents the amount that can be charged/refunded with payment providers. example: 1.99 title: Amount x-internal: false @@ -3081,7 +3074,7 @@ components: title: A login URL could not be generated. Please try another request. type: /api-docs/getting-started/api-status-codes 504_GatewayTimeout: - description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)' + description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually).' content: application/json: schema: @@ -3107,7 +3100,7 @@ components: type: /api-docs/getting-started/api-status-codes 400_BadRequest: description: |- - Malformed request syntax. Typically need to fix the JSON + Malformed request syntax. Typically need to fix the JSON. Body to resend successfully. content: application/json: @@ -3147,7 +3140,7 @@ components: name: error.expected.jsstring primary_contact.district: error.expected.jsstring. 503_ServiceUnavailable: - description: 'If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)' + description: 'If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually).' content: application/json: schema: @@ -3191,7 +3184,7 @@ components: application/json: schema: type: object - description: Response payload for Refund resource + description: Response payload for Refund resource. properties: data: type: array @@ -3338,7 +3331,7 @@ components: item_id: 87 quantity: 1 requested_amount: null - reason: incididunt exercitation enim + reason: Wrong item sent. meta: {} parameters: OrderIdParam: From 5e2743367765d79ebd2e136b2f8acc77d700c778 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 5 Apr 2023 13:55:53 -0500 Subject: [PATCH 130/360] DEVDOCS-4683: [revise] OrdersV3, editorial cleanup (#1250) * Revise OrdersV3 with editorial cleanup --- reference/orders.v3.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index efc738e01..34b76e5e4 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -991,12 +991,12 @@ components: x-internal: false ReturnItem: type: object - description: A view of a return item. + description: A view of a returned item. properties: id: type: integer format: int64 - description: The unique identifier of this return item. + description: The unique identifier of this returned item. reference_id: $ref: '#/components/schemas/ItemReferenceId' quantity: @@ -1174,7 +1174,7 @@ components: item_id: type: integer format: int64 - description: The ID of the item for which to update the received state. + description: The item ID for updating the received state. received_quantity: type: integer description: The quantity of items to be marked as received. @@ -1215,7 +1215,7 @@ components: item_id: type: integer format: int64 - description: The ID of the item for which to update the reviewed state. + description: The item ID for updating the reviewed state. authorized_quantity: type: integer description: The quantity of items to be marked as authorized. @@ -2360,7 +2360,7 @@ components: example: 422 error: type: string - description: details why the request failed. + description: Details why the request failed. title: FailedQuoteError x-internal: false ItemsRefund: @@ -3074,7 +3074,7 @@ components: title: A login URL could not be generated. Please try another request. type: /api-docs/getting-started/api-status-codes 504_GatewayTimeout: - description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually).' + description: 'If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; however, if you cannot successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down, and you will need to complete the request again when it is back up (in several hours, usually).' content: application/json: schema: @@ -3140,7 +3140,7 @@ components: name: error.expected.jsstring primary_contact.district: error.expected.jsstring. 503_ServiceUnavailable: - description: 'If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually).' + description: 'If this occurs, you should retry the request. If you cannot successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down, and you will need to make the request again when it is back up (in several hours, usually).' content: application/json: schema: From bcd90b75c1e2843e8c81c968af9d4b5a8ca3f215 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 5 Apr 2023 15:55:13 -0500 Subject: [PATCH 131/360] DEVDOCS-4319: [update] Catalog, update category trees notes (#1246) --- reference/catalog.v3.yml | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 72d560928..29637cb5e 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -14536,21 +14536,22 @@ paths: type: object properties: {} description: Empty meta object; may be used later. - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} examples: example-1: + value: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + example-2: value: data: id: 6 @@ -14560,11 +14561,11 @@ paths: permission_set: app_only resource_type: category resource_id: 111 - description: Location in the warehouse + description: Location in the warehouse. date_created: '2018-05-07T20:14:17+00:00' date_modified: '2018-05-07T20:14:17+00:00' meta: {} - example-2: + example-3: value: data: id: 4 @@ -14574,7 +14575,7 @@ paths: permission_set: app_only resource_type: brand resource_id: 137 - description: Where products are located + description: Where products are located. date_created: '2021-08-06T19:15:35+00:00' date_modified: '2021-08-06T19:15:35+00:00' meta: {} @@ -16070,7 +16071,7 @@ paths: If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. **Usage Notes** - * `channel_id` is required to create a *Category Tree*. + * `channel_id` is required to create a *Category Tree*. You can assign one `channel_id` to one category tree. parameters: - $ref: '#/components/parameters/ContentType' operationId: UpsertCategoryTrees From 830ca8157aac059e366d6cad6723e85fabf9c35d Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 6 Apr 2023 15:54:11 -0500 Subject: [PATCH 132/360] DEVDOCS-4846: [update] OrdersV3, include note on payment_actions/refunds and /refund_quotes (#1251) Merging to staging. --- reference/orders.v3.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 34b76e5e4..8610ca770 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -161,6 +161,10 @@ paths: Requires at least one of the following scopes: * `store_v2_orders` * `store_v2_transactions` + + **Note:** + Order refunds are processed consecutively. Processing synchronous refunds on an order are not yet supported. + operationId: postrefundquote parameters: - $ref: '#/components/parameters/ContentType' @@ -223,6 +227,10 @@ paths: Requires at least one of the following scopes: * `store_v2_orders` * `store_v2_transactions` + + **Note:** + Order refunds are processed consecutively. Processing synchronous refunds on an order are not yet supported. + operationId: postrefund parameters: - $ref: '#/components/parameters/ContentType' From 629c87137aecafdde5479d178382ec62d2955cd0 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 6 Apr 2023 15:57:10 -0500 Subject: [PATCH 133/360] DEVDOCS-4776: [update] Widgets, update max number of custom widgets (#1253) --- reference/widgets.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index 0708de33a..5afb1b087 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -117,7 +117,7 @@ paths: description: |- Creates a **Widget Template**. - ***Note:*** *There is a limit of 100 custom widget templates per store.* + ***Note:*** *There is a limit of 1000 custom widget templates per store.* **Required Fields** * name From fbc61244ba33d3551a9b3ad506d58a8c7d1029b1 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 7 Apr 2023 16:05:15 -0500 Subject: [PATCH 134/360] DEVDOCS-4853: [update] Email Templates, update order + status (#1234) --- models/email_templates/_all.yml | 509 +++++++++++++++++++++++++------- 1 file changed, 403 insertions(+), 106 deletions(-) diff --git a/models/email_templates/_all.yml b/models/email_templates/_all.yml index 9fbc578f8..b0dd395d9 100644 --- a/models/email_templates/_all.yml +++ b/models/email_templates/_all.yml @@ -658,7 +658,8 @@ properties: type: integer new_status: type: string - example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting Pickup, Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' + example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting + , Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' new_formatted_status: type: string example: 'Shipment123, PendingOrder345, Cancelled0223222, Awaiting Payment in Store' @@ -732,6 +733,44 @@ properties: type: string link: type: string + ready_for_pickup_products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + quantity: + type: integer + thumbnail: + type: string + price: + type: string + brand: + type: string + picked_up_products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + quantity: + type: integer + thumbnail: + type: string + price: + type: string + brand: + type: string + pickup_methods: + type: array + items: + type: string store: type: object properties: @@ -798,42 +837,18 @@ properties: en: type: object properties: - title: - type: string - hello: - type: string - message: - type: string - details_title: - type: string - order_total: - type: string - date_placed: - type: string - payment_method: - type: string - total_refund: - type: string - products_shipped: - type: string - products_to_be_shipped: - type: string - tracking_title: - type: string - downloadable_items_title: - type: string - quantity: - type: string - download: - type: string - tracking_label: - type: string - no_tracking_numbers: + prodname: type: string - check_status: + example: "Product Name" + prodsku: type: string - go_shopping: + example: "Product SKU" + fr: + type: object + properties: + store: type: string + example: "Boutique" Account Created: title: Account Created Email Template description: Account created email triggers when a customer or store admin creates their account. @@ -1131,6 +1146,10 @@ properties: type: string customer_id: type: integer + pickup_methods: + type: array + items: + type: string date_placed: type: object properties: @@ -1260,6 +1279,115 @@ properties: items: type: object properties: {} + pickup: + type: array + items: + type: object + properties: + id: + type: integer + email: + type: string + phone: + type: string + instructions: + type: string + name: + type: string + location: + type: array + items: + type: object + properties: + name: + type: string + address_lines: + type: array + items: + type: string + city: + type: string + state: + type: string + country: + type: string + zip: + type: string + operating_hours: + type: array + items: + type: object + properties: + sunday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + monday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + tuesday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + wednesday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + thursday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + friday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + saturday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string payment: type: object properties: @@ -1352,6 +1480,7 @@ properties: type: integer show_immediate_download: type: boolean + store: type: object properties: @@ -1418,81 +1547,18 @@ properties: en: type: object properties: - comment_label: - type: string - order_id_line: - type: string - view_summary: - type: string - sepa: - type: string - description: A link to SEPA mandate and also receive this link embedded on email confirmation. - shipment_to_multiple_addresses: - type: string - shipping_immediate_download: - type: string - shipping_address_label: - type: string - immediate_download: - type: string - email: - type: string - billing_address_managed_by_amazon: - type: string - billing_address_label: - type: string - pending_payment: - type: string - how_to_pay: - type: string - pay_for_order_help: - type: string - order_total: + prodname: type: string - cart_items: + example: "Product Name" + prodsku: type: string - sku: - type: string - quantity: - type: string - item_price: - type: string - item_total: - type: string - payment_method: - type: string - no_payment_taken_in_test_mode: - type: string - download_files: - type: string - preorder: - type: string - download_available_after_payment: - type: string - shipped_to: - type: string - shipping_discount: - type: string - thanks_for_your_order: - type: string - your_order_contains: - type: string - shipping_method: - type: string - shipping_to_address: - type: string - your_order_will_be_shipped_by: - type: string - total_cost: - type: string - items: - type: string - total: - type: string - price: - type: string - email_address: + example: "Product SKU" + fr: + type: object + properties: + store: type: string + example: "Boutique" Order Notification: title: Order Notification Email Template description: Order notification email triggers when a merchant or store admin adds a message to an order. @@ -1583,6 +1649,237 @@ properties: type: string go_shopping: type: string + Order ready for pickup: + title: Order Ready for Pick-up Email Template + description: Order ready for pick-up email triggers when a customer or store admin creates a pick-up order. + type: object + properties: + order: + type: object + properties: + id: + type: integer + account_order_status_url: + type: string + products: + type: array + items: + type: object + properties: + id: + type: integer + quantity: + type: integer + name: + type: string + sku: + type: string + thumbnail: + type: string + options: + type: array + properties: + Size: + type: string + attribute_lines: + type: array + description: A list of strings that represents product variant options. + items: + type: object + properties: {} + configurable_fields: + type: array + description: Object array with properties name and value. + items: + type: object + properties: {} + pickup: + type: array + items: + type: object + properties: + id: + type: integer + email: + type: string + phone: + type: string + instructions: + type: string + name: + type: string + location: + type: array + items: + type: object + properties: + name: + type: string + address_lines: + type: array + items: + type: string + city: + type: string + state: + type: string + country: + type: string + zip: + type: string + operating_hours: + type: array + items: + type: object + properties: + sunday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + monday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + tuesday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + wednesday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + thursday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + friday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + saturday: + type: object + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + prodname: + type: string + example: "Product Name" + prodsku: + type: string + example: "Product SKU" + fr: + type: object + properties: + store: + type: string + example: "Boutique" Sign in Link Request: title: Sign in Link Request Email Template description: Sign-in request email triggers when an existing customer requests passwordless login while checking out. From 6f075f33633b40296bbc7dddd52789454881cc48 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 7 Apr 2023 16:08:11 -0500 Subject: [PATCH 135/360] DEVDOCS-4774: [update] Widgets, update store + page widget limits (#1252) --- reference/widgets.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index 5afb1b087..5da9dee2e 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -288,7 +288,7 @@ paths: description: |- Creates a **Widget**. - **Note:** There is a limit of 10,000 widgets per store and 150 widgets per page. For more information, see [Store Limits](https://support.bigcommerce.com/s/article/Platform-Limits#storelimits). + **Note:** There is a limit of 100,000 widgets per store and 150 widgets per page. For more information, see [Store Limits](https://support.bigcommerce.com/s/article/Platform-Limits#storelimits). get: tags: - Widget From 09a625edf4041a9b88f4cef83a7e5f3d7ff96829 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 7 Apr 2023 16:12:04 -0500 Subject: [PATCH 136/360] DEVDOCS-4793: [update] Upsert Price List records (#1254) Merging to staging. --- reference/price_lists.v3.yml | 56 +++++++----------------------------- 1 file changed, 10 insertions(+), 46 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 6a8c392d1..a8b11d46f 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1520,55 +1520,19 @@ paths: description: '' responses: '200': - description: Success response for batch PUT requests of Price Records. + description: 'Success response for batch PUT requests of Price Records.' content: application/json: schema: - type: array - items: - type: object - properties: - variant_id: - type: integer - sku: - type: string - currency: - type: string - price: - type: number - sale_price: - type: integer - retail_price: - type: integer - map_price: - type: integer - bulk_pricing_tiers: - type: array - items: - type: object - properties: - quantity_min: - type: integer - quantity_max: - type: integer - type: - type: string - amount: - type: integer - x-examples: - example-1: - - variant_id: 331 - sku: SMB-123 - currency: usd - price: 3.99 - sale_price: 3.49 - retail_price: 4.99 - map_price: 2.5 - bulk_pricing_tiers: - - quantity_min: 1 - quantity_max: 10 - type: fixed - amount: 3 + title: Price Records response + type: object + properties: + data: + type: object + properties: {} + meta: + type: object + properties: {} '422': description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. content: From 09051acabb56f57bd5531579e4a444beff416203 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 7 Apr 2023 17:15:37 -0500 Subject: [PATCH 137/360] DEVDOCS-4853: [update] Email Templates, linting fix (#1261) --- models/email_templates/_all.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/models/email_templates/_all.yml b/models/email_templates/_all.yml index b0dd395d9..46a872fdd 100644 --- a/models/email_templates/_all.yml +++ b/models/email_templates/_all.yml @@ -658,8 +658,7 @@ properties: type: integer new_status: type: string - example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting - , Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' + example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting, Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' new_formatted_status: type: string example: 'Shipment123, PendingOrder345, Cancelled0223222, Awaiting Payment in Store' @@ -1774,14 +1773,15 @@ properties: type: string thursday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string + friday: type: object is_open: From 4c0d6c1a1212cf3e30a0b5baa282e731384c902d Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 10 Apr 2023 10:06:09 -0500 Subject: [PATCH 138/360] DEVDOCS-3840: [rollback] Catalog, add channel_id query parameter (#1263) Primary author: Co-authored-by: Traci Porter --- reference/catalog.v3.yml | 55280 ++++++++++++++++++------------------- 1 file changed, 27633 insertions(+), 27647 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 29637cb5e..1c963614d 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1,27647 +1,27633 @@ -openapi: '3.0.3' -info: - title: Catalog - description: |- - The Catalog API allows you to manage products, categories, bulk pricing rules, and more. To learn more about catalog resources see [Catalog Overview](/api-docs/store-management/catalog/catalog-overview). - - - [Authentication](#authentication) - - [Resources](#resources) - - ## Resources - - ### Webhooks - * [Category](/api-docs/store-management/webhooks/events#category) - - ### Related Endpoints - * [Catalog API](/docs/rest-management/catalog) - - Manage channel-specific categories. - - Create and manage category trees for BigCommerce stores. - - Create and manage products assignments. - termsOfService: 'https://www.bigcommerce.com/terms' - contact: - name: BigCommerce - url: 'https://www.bigcommerce.com' - email: support@bigcommerce.com - version: '' -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: Brands - - name: Brand Images - - name: Brand Metafields - - name: Category - - name: Categories - - name: Categories Batch - - name: Category Metafields - - name: Category Images - - name: Product Sort Order - - name: Products - - name: Product Bulk Pricing Rules - - name: Product Complex Rules - - name: Product Custom Fields - - name: Product Images - - name: Product Metafields - - name: Product Modifiers - - name: Product Modifier Values - - name: Product Modifier Images - - name: Product Options - - name: Product Option Values - - name: Product Reviews - - name: Product Variants - - name: Product Variants Metafields - - name: Product Variant Options - - name: Product Variant Option Values - - name: Product Videos - - name: Products Channel Assignments - - name: Products Category Assignments - - name: Summary - - name: Variants - - name: Category Trees -paths: - '/catalog/products': - get: - tags: - - Products - summary: Get All Products - description: Returns a list of **Products**. Optional filter parameters can be passed in. - operationId: getProducts - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: upc - in: query - description: | - Filter items by upc. - schema: - type: string - - name: price - in: query - description: | - Filter items by price. - schema: - type: number - - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - - name: date_modified - in: query - description: 'Filter items by `date_modified`. ' - schema: - type: string - format: date-time - - name: 'date_modified:max' - in: query - description: 'Filter items by `date_modified`. For example, `date_modified:max=2020-06-15`.' - schema: - type: string - - name: 'date_modified:min' - in: query - description: 'Filter items by `date_modified`. For example, `date_modified:min=2018-06-15`.' - schema: - type: string - - name: date_last_imported - in: query - description: Filter items by date_last_imported. - schema: - type: string - format: date-time - - name: 'date_last_imported:max' - in: query - description: 'Filter items by date_last_imported. For example, `date_last_imported:max=2020-06-15`.' - schema: - type: string - - name: 'date_last_imported:min' - in: query - description: 'Filter items by date_last_imported. For example, `date_last_imported:min=2018-06-15`.' - schema: - type: string - - name: is_visible - in: query - description: Filter items based on whether the product is currently visible on the storefront. - schema: - type: boolean - - name: is_featured - in: query - description: 'Filter items by is_featured. `1` for true, `0` for false.' - schema: - type: integer - enum: - - 1 - - 0 - - name: is_free_shipping - in: query - description: 'Filter items by is_free_shipping. `1` for true, `0` for false.' - schema: - type: integer - - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - - name: 'inventory_level:in' - in: query - schema: - type: integer - - name: 'inventory_level:not_in' - in: query - schema: - type: integer - - name: 'inventory_level:min' - in: query - schema: - type: integer - - name: 'inventory_level:max' - in: query - schema: - type: integer - - name: 'inventory_level:greater' - in: query - schema: - type: integer - - name: 'inventory_level:less' - in: query - schema: - type: integer - - name: inventory_low - in: query - description: | - Filter items by inventory_low. Values: 1, 0. - schema: - type: integer - - name: out_of_stock - in: query - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - schema: - type: integer - - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - - name: type - in: query - description: Filter items by type. - schema: - type: string - enum: - - digital - - physical - - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - - name: keyword - in: query - description: Filter items by keywords found in the `name` or `sku` fields - schema: - type: string - - name: keyword_context - in: query - description: Set context used by the search algorithm to return results targeted towards the specified group. Use `merchant` to help merchants search their own catalog. Use `shopper` to return shopper-facing search results. - schema: - type: string - enum: - - shopper - - merchant - - name: status - in: query - description: | - Filter items by status. - schema: - type: integer - - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: availability - in: query - description: | - Filter items by availability. Values are: available, disabled, preorder. - schema: - type: string - enum: - - available - - disabled - - preorder - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: direction - in: query - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - schema: - type: string - enum: - - asc - - desc - - name: sort - in: query - description: | - Field name to sort by. Note: Since `id` increments when new products are added, you can use that field to sort by product create date. - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - - name: 'categories:in' - in: query - description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' - schema: - type: integer - - name: sku - in: query - description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' - schema: - type: string - - name: 'sku:in' - in: query - description: Filter items by SKU. - style: form - explode: false - schema: - type: array - items: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - put: - tags: - - Products - summary: Update Products (Batch) - description: |- - Updates products in batches. Batches are limited to 10 products. - - **Required Fields** - * `id` - product `id` is required for batch updates to products. - - **Read-Only Fields** - - `id` - - `date_created` - - `date_modified` - - `calculated_price` - - `base_variant_id` - operationId: updateProducts - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Put_Collection' - examples: - example-1: - value: - - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - channels: - - 1 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - required: false - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - examples: - example-1: - value: - data: - - id: 1 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - channels: - - 1 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: - pagination: - total: 36 - count: 36 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: string - current: '?page=1&limit=50' - next: string - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: '`Product` was in conflict with another product. This is the result of duplicate unique values such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`.' - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse_409' - '413': - description: 413 Request Entity Too Large - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - example: - errors: {} - status: 413 - title: The request payload is too large. The maximum items allowed in the array is 50 - type: /api-docs/getting-started/api-status-codes - '422': - description: '`Product` was not valid. This is the result of missing required fields or invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse_422' - x-codegen-request-body-name: products - post: - tags: - - Products - summary: Create a Product - description: |- - Creates a *Product*. Only one product can be created at a time. - - **Required Fields:** - - `name` - - `type` - - `weight` - - `price` - - **Read-Only Fields** - - `id` - - `date_created` - - `date_modified` - - `calculated_price` - - `base_variant_id` - - **Limits** - - 250 characters product name length. - - **Usage Notes** - * `POST` requests to `/products` accept a `video` array. - * `POST` requests to `/products/{product_id}/videos` accept a `video` object. - operationId: createProduct - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - '207': - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - - '409': - description: | - `Product` was in conflict with another product. This is the result of duplicate unique values, such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: product - delete: - tags: - - Products - summary: Delete Products - description: |- - To delete *Product* objects, you must include a filter. This prevents inadvertently deleting all *Product* objects in a store. - - > #### Note - > The maximum number of products you can delete at one time is 250. - - **Example**: - To delete products with the id's of 1,2 and 3, use `DELETE /v3/catalog/products?id:in=1,2,3`. - operationId: deleteProducts - parameters: - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - - name: price - in: query - description: | - Filter items by price. - schema: - type: number - - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - - name: date_modified - in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - schema: - type: string - format: date-time - - name: date_last_imported - in: query - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - schema: - type: string - format: date-time - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: is_featured - in: query - description: | - Filter items by is_featured. - schema: - type: integer - - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - - name: type - in: query - description: 'Filter items by type: `physical` or `digital`.' - schema: - type: string - enum: - - digital - - physical - - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - - name: keyword - in: query - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - schema: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/products/{product_id}': - get: - tags: - - Products - summary: Get a Product - description: Returns a single *Product*. Optional parameters can be passed in. - operationId: getProductById - parameters: - - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 174 - name: 1L Le Parfait Jar - type: physical - sku: '' - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 1 - width: 0 - depth: 0 - height: 0 - price: 7.95 - cost_price: 0 - retail_price: 10 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: '' - calculated_price: 7.95 - categories: - - 23 - - 21 - channels: - - 1 - brand_id: 36 - option_set_id: 55 - option_set_display: right - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - reviews_rating_sum: 0 - reviews_count: 0 - total_sold: 7 - fixed_cost_shipping_price: 0 - is_free_shipping: false - is_visible: true - is_featured: false - related_products: - - -1 - warranty: '' - bin_picking_number: '' - layout_file: product.html - upc: '' - mpn: '' - gtin: '' - search_keywords: 'jar, glass' - availability: available - availability_description: '' - gift_wrapping_options_type: any - gift_wrapping_options_list: [] - sort_order: 0 - condition: New - is_condition_shown: false - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: '' - meta_keywords: [] - meta_description: '' - date_created: '2018-08-15T14:48:46+00:00' - date_modified: '2018-09-05T20:42:07+00:00' - view_count: 10 - preorder_release_date: '2018-09-05T20:42:07+00:00' - preorder_message: '' - is_preorder_only: false - is_price_hidden: false - price_hidden_label: '' - custom_url: - url: /all/1l-le-parfait-jar/ - is_customized: true - base_variant_id: 345 - open_graph_type: product - open_graph_title: '' - open_graph_description: '' - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Products - summary: Update a Product - description: | - Updates a *Product*. - - **Read-Only Fields** - - id - - date_created - - date_modified - - calculated_price - - base_variant_id - operationId: updateProduct - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: 12345678905 - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - '201': - description: Created - content: - application/json: - schema: - type: object - properties: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - `Product` was in conflict with another product. This is caused by: duplicate unique values, such as name or SKU; a missing category, brand, or tax_class with which the product is being associated; or a conflicting bulk pricing rule. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: product - delete: - tags: - - Products - summary: Delete a Product - description: Deletes a *Product*. - operationId: deleteProductById - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/images': - get: - tags: - - Product Images - summary: Get All Product Images - description: Returns a list of *Product Images*. Optional parameters can be passed in. - operationId: getProductImages - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Collection Response - type: object - properties: - data: - type: array - items: - title: Product Image - type: object - allOf: - - $ref: '#/components/schemas/productImage_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - - id: 382 - product_id: 158 - is_thumbnail: true - sort_order: 0 - description: '' - image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - - id: 383 - product_id: 158 - is_thumbnail: false - sort_order: 0 - description: '' - image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '204': - description: | - There are not any images on this product. - content: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Images - summary: Create a Product Image - description: |- - Creates a *Product Image*. - - **Required Fields** - - `image_file`, or - - `image_url` - - **Usage Notes** - - `image_url` - `255` character limit - - For file uploads, use the `multipart/form-data` media type - - Only one image at a time can be created - - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. - operationId: createProductImage - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Image Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. - multipart/form-data: - schema: - title: Product Image Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. - required: true - responses: - '200': - description: Success - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - A `multipart/form-data` media type. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: |- - Unprocessable Entity. - - May occur if the `Content-Type` header is set to `multipart/form-data` rather than `application/json` when creating a product image using `image_url`. - content: - application/json: - schema: - required: - - status - - title - - type - type: object - properties: - status: - type: number - title: - minLength: 1 - type: string - type: - minLength: 1 - type: string - description: '' - example: - status: 422 - title: image_url must be present if uploading by url - type: /api-docs/getting-started/api-status-codes - x-codegen-request-body-name: productImage - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/images/{image_id}': - get: - tags: - - Product Images - summary: Get a Product Image - description: Returns a single *Product Image*. Optional parameters can be passed in. - operationId: getProductImageById - parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - $ref: '#/components/schemas/productImage_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Images - summary: Update a Product Image - description: |- - Updates a *Product Image*. - - **Usage Notes** - - `image_url` - `255` character limit - - For file uploads, send a POST request using the `multipart/form-data` media type - operationId: updateProductImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productImage_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '201': - description: Created - content: - application/json: - schema: - type: object - properties: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productImage - delete: - tags: - - Product Images - summary: Delete a Product Image - description: Deletes a *Product Image*. - operationId: deleteProductImage - parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ImageIdParam' - '/catalog/products/{product_id}/videos': - get: - tags: - - Product Videos - summary: Get All Product Videos - description: Returns a list of *Product Videos*. Optional parameters can be passed in. - operationId: getProductVideos - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productVideo_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - type: youtube - video_id: PqBTp23RLhI - product_id: 192 - sort_order: 1 - title: Creating and Editing Banners | BigCommerce Tutorials - description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' - length: '01:54' - - id: 7 - type: youtube - video_id: EhYBjzqd-nI - product_id: 192 - sort_order: 2 - title: BigCommerce Company Values - description: |- - These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. - - Join the BigCommerce team and help us build software that changes lives! - - https://www.bigcommerce.com/careers/ - length: '03:30' - - id: 8 - type: youtube - video_id: vAUdo4kRjrU - product_id: 192 - sort_order: 3 - title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce - description: |- - We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: - - “I am given the freedom and trust to make a difference.” - - “Everyone believes in the product and growing the company.” - - “I'm appreciated for the work I do and there is room to grown within the company.” - - Work With Us! - http://www.bigcommerce.com/careers.php - length: '01:37' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Videos - summary: Create a Product Video - description: |- - Creates a *Product Video*. - - **Required Fields** - * video_id - - **Read-Only Fields** - * id - - Publicly accessible URLs are valid parameters. - Videos must be loaded through YouTube at this time. - operationId: createProductVideo - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Video Post - description: | - The model for a POST to create a video on a product. - allOf: - - title: Product Video Base - description: Common Product Video properties. - properties: - title: - maxLength: 255 - minLength: 0 - type: string - example: Writing Great Documentation - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - example: A video about documenation - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - example: 1 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - - properties: - video_id: - type: string - maxLength: 25 - minLength: 0 - description: | - The ID of the video on a host site. - x-required: - - post - example: z3fRu9pkuXE - type: object - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productVideo - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/videos/{id}': - get: - tags: - - Product Videos - summary: Get a Product Video - description: Returns a single *Product Video*. Optional parameters can be passed in. - operationId: getProductVideoById - parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - $ref: '#/components/schemas/productVideo_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Videos - summary: Update a Product Video - description: |- - Updates a *Product Video. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateProductVideo - parameters: - - $ref: '#/components/parameters/ContentType' - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Product Video Put - description: | - The model for a PUT to update a video on a product. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productVideo - delete: - tags: - - Product Videos - summary: Delete a Product Video - description: Deletes a *Product Video*. - operationId: deleteProductVideo - parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VideoIdParam' - '/catalog/products/{product_id}/variants': - get: - tags: - - Product Variants - summary: Get All Product Variants - description: Returns a list of product *Variants*. Optional parameters can be passed in. - operationId: getVariantsByProductId - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 382 - product_id: 192 - sku: SMIT - sku_id: 348 - price: 10 - calculated_price: 10 - sale_price: 8 - retail_price: 10 - map_price: {} - weight: 4 - calculated_weight: 2 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 0 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 174 - label: Beige - option_id: 220 - option_display_name: Color - - id: 383 - product_id: 192 - sku: SMIT-1 - sku_id: 349 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 175 - label: Grey - option_id: 220 - option_display_name: Color - - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variants - summary: Create a Product Variant - description: |- - Creates a *Product Variant*. - - **Required Fields** - * sku - * option_values - - **Read-Only Fields** - * id - - **Limits** - * 600 SKUs per product limit. - * 255 characters SKU length limit. - - Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. - operationId: createVariant - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productVariant_Post' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - examples: - example-1: - value: - data: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - example-2: - value: - data: - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Variant - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/variants/{variant_id}': - get: - tags: - - Product Variants - summary: Get a Product Variant - description: Returns a single product *Variant*. Optional parameters can be passed in. - operationId: getVariantById - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variants - summary: Update a Product Variant - description: Updates a product *Variant*. - operationId: updateVariant - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productVariant_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - bin_picking_number: '0' - calculated_price: 85 - calculated_weight: 1 - cost_price: 0 - depth: 22 - fixed_cost_shipping_price: 0 - gtin: '' - height: 14.6 - id: 65 - inventory_level: 0 - inventory_warning_level: 0 - is_free_shipping: false - map_price: 0 - mpn: TR-SML02 - option_values: [] - price: 89 - product_id: 81 - purchasing_disabled: true - purchasing_disabled_message: This item is not available. - retail_price: 89 - sale_price: 85 - sku: OTS - sku_id: 10 - upc: '' - weight: 1 - width: 2 - meta: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Variant - delete: - tags: - - Product Variants - summary: Delete a Product Variant - description: Deletes a product *Variant*. - operationId: deleteVariantById - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/metafields': - get: - tags: - - Product Variants Metafields - summary: Get All Product Variant Metafields - description: Returns a list of product variant *Metafields*. Optional parameters can be passed in. - operationId: getVariantMetafieldsByProductIdAndVariantId - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/categoriesTree_Resp' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variants Metafields - summary: Create a Product Variant Metafield - description: |- - Creates a product variant *Metafield*. - - **Required Fields:** - * permission_set - * namespace - * key - * value - - **Read-Only Fields** - * id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createVariantMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: variant - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique-key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': - get: - tags: - - Product Variants Metafields - summary: Get a Product Variant Metafields - description: Returns a single product variant *Metafield*. Optional parameters can be passed in. - operationId: getVariantMetafieldByProductIdAndVariantId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: variant - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variants Metafields - summary: Update Product Variant Metafields - description: "Updates a product variant *Metafield*.\n\n**Required Fields:**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " - operationId: updateVariantMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: variant - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Product Variants Metafields - summary: Delete a Variant Metafield - description: Deletes a product variant *Metafield*. - operationId: deleteVariantMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/image': - post: - tags: - - Product Variants - summary: Create a Variant Image - description: |- - Creates a *Variant Image*. - - The image will show on the storefront when the value is selected. - - **Required Fields** - - image_file: Form posts. Files larger than 1 MB are not accepted - - image_url: Any publicly available URL - operationId: createVariantImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - multipart/form-data: - schema: - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - required: false - responses: - '200': - description: '`image_url` is returned for both `image_file` and `image_url`.' - content: - application/json: - schema: - title: Image Response - type: object - properties: - data: - title: Resource Image - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - example: - data: - image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Image was not valid. This is the result of a missing `image_file` field or of an incorrect file type. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '500': - description: Returns for an `image_file` larger than 1 MB. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/options': - get: - tags: - - Product Variant Options - summary: Get All Product Variant Options - description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. ' - operationId: getOptions - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productOption_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get all product options - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variant Options - summary: Create a Product Variant Option - description: |- - Creates a *Variant Option*. - - **Required Fields** - * display_name - * type - * option_values - - **Read-Only Fields** - * id - - **Limits** - * 255 characters option name length. - - **Notes** - - * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. - * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. - * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. - * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. - operationId: createOption - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Option Post - description: The model for a POST to create options on a product. - allOf: - - title: Option Base - description: Common Option properties. - properties: - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - description: The values for option config can vary based on the Modifier created. - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - x-required: - - post - - put - items: - title: Option Value - allOf: - - title: Option Value Base - description: Common Option Value properties. - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - required: - - label - - sort_order - - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - type: object - image_url: - type: string - description: Publicly available image url - type: object - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - description: Common Option properties. - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - description: The values for option config can vary based on the Modifier created. - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - x-required: - - post - - put - items: - title: Option Value - allOf: - - title: Option Value Base - description: Common Option Value properties. - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - required: - - label - - sort_order - - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - type: object - image_url: - type: string - description: Publicly available image url - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - examples: - example-1: - value: - data: - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: earliest - date_earliest_value: '2022-08-24T00:00:00+00:00' - date_latest_value: '2022-08-27T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: none - sort_order: 1 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - image_url: string - name: Add-a-$5-Donation1535042499-187 - meta: {} - example-2: - value: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - '409': - description: | - Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - Option was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Option - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/options/{option_id}': - get: - tags: - - Product Variant Options - summary: Get a Product Variant Option - description: Returns a single *Variant Option*. Optional parameters can be passed in. - operationId: getOptionById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - $ref: '#/components/schemas/productOption_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variant Options - summary: Update a Product Variant Option - description: |- - Updates a *Variant Option*. - - **Read-Only Fields** - * id - operationId: updateOption - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Option Put - description: The model for a PUT to update options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - '409': - description: | - The `Option` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Option` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: option - delete: - tags: - - Product Variant Options - summary: Delete a Product Variant Option - description: Deletes a *Variant Option*. - operationId: deleteOptionById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - '/catalog/products/{product_id}/options/{option_id}/values': - get: - tags: - - Product Variant Option Values - summary: Get All Product Variant Option Values - description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in. - operationId: getOptionValues - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Collection Response - type: object - properties: - data: - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get Option Values response. - example: - data: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - meta: - pagination: - total: 4 - count: 4 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Variant Option Values - summary: Create a Product Variant Option Value - description: |- - Creates a *Variant Option Value*. - - **Required Fields** - * label - * sort_order - - **Read-Only Fields** - * id - - **Limits** - * 250 option values per option limit. - operationId: createOptionValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Option Value Post - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '422': - description: | - The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: OptionValue - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - '/catalog/products/{product_id}/options/{option_id}/values/{value_id}': - get: - tags: - - Product Variant Option Values - summary: Get a Product Variant Option Value - description: Returns a single *Variant Option Value*. Optional parameters can be passed in. - operationId: getOptionValueById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variant Option Values - summary: Update a Product Variant Option Value - description: |- - Updates a *Variant Option Value*. - - **Read-Only Fields** - * id - operationId: updateOptionValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - requestBody: - description: | - A BigCommerce `OptionValue` object. - content: - application/json: - schema: - title: Option Value Put - description: The model for a PUT to update option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '404': - description: No option(s) were found with this query. - content: {} - '422': - description: | - The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: OptionValue - delete: - tags: - - Product Variant Option Values - summary: Delete a Product Variant Option Value - description: Deletes a *Variant Option Value*. - operationId: deleteOptionValueById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/modifiers': - get: - tags: - - Product Modifiers - summary: Get All Product Modifiers - description: Returns a list of all *Product Modifiers*. Optional parameters can be passed in. - operationId: getModifiers - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productModifier_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Modifier Collection Response return for /GET All Modifiers. - example: - data: - - id: 206 - product_id: 158 - name: Insurance - display_name: Insurace - type: checkbox - required: true - config: - checkbox_label: $5 for insurance - checked_by_default: false - option_values: - - id: 183 - option_id: 206 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 184 - option_id: 206 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Modifiers - summary: Create a Product Modifier - description: |- - Creates a *Product Modifier*. - - **Required Fields** - * `required` - * `display_name` - * `type` - - **Read-Only Fields** - * `id` - - **Notes** - It takes two separate requests to create a new checkbox modifier with option values. Perform a request to create a modifier, then perform a second request to update option values. - operationId: createModifier - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Modifier Post - description: The model for a POST to create a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - required: - - display_name - type: object - properties: - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - x-required: - - post - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `Modifier` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Modifier - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}': - get: - tags: - - Product Modifiers - summary: Get a Modifier - description: Returns a single *Product Modifier*. Optional parameters can be passed in. - operationId: getModifierById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - $ref: '#/components/schemas/productModifier_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Modifiers - summary: Update a Modifier - description: Updates a *Product Modifier*. - operationId: updateModifier - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Put - description: The model for a PUT to update a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: 'Part of Modifier Value Response ' - description: Common Modifier properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `Modifier` was in conflict with another modifier or option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Modifier - delete: - tags: - - Product Modifiers - summary: Delete a Modifier - description: Deletes a *Product Modifier*. - operationId: deleteModifierById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values': - get: - tags: - - Product Modifier Values - summary: Get All Modifier Values - description: Returns a list of all product *Modifier Values*. Optional parameters can be passed in. - operationId: getModifierValues - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productModifierOptionValue_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Returns for GET All Modifier Values on a Product - example: - data: - - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 191 - option_id: 222 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Modifier Values - summary: Create Modifier Value - description: |- - Creates a *Modifier Value*. - - **Required Fields** - * label - * sort_order - - **Read-Only Fields** - * id - operationId: createModifierValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Value Post - description: The model for a POST to create a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '422': - description: | - The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ModifierValue - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': - get: - tags: - - Product Modifier Values - summary: Get a Modifier Value - description: Returns a single *Modifier Value*. Optional parameters can be passed in. - operationId: getModifierValueById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - $ref: '#/components/schemas/productModifierOptionValue_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - security: - - X-Auth-Token: [] - put: - tags: - - Product Modifier Values - summary: Update a Modifier Value - description: |- - Updates a *Modifier Value*. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateModifierValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Value Put - description: The model for a PUT to update a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '422': - description: | - The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ModifierValue - delete: - tags: - - Product Modifier Values - summary: Delete Modifier Value - description: Deletes a *Modifier Value*. - operationId: deleteModifierValueById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': - post: - tags: - - Product Modifier Images - summary: Create Modifier Image - description: |- - Creates a *Modifier Image*. - - The image will show on the storefront when the value is selected. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - operationId: createModifierImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - title: Image Response - type: object - properties: - data: - title: Resource Image - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - example: - data: - image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Modifier image was not valid. This is the result of missing `image_file` fields, or of a non-URL value for the `image_file` field. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/complex-rules': - get: - tags: - - Product Complex Rules - summary: Get Complex Rules - description: Returns a list of all product *Complex Rules*. Optional parameters may be passed in. - operationId: getComplexRules - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Complex Rule Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/complexRule_Base' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Complex Rule Response - example: - data: - - id: 82 - product_id: 195 - sort_order: 0 - enabled: true - stop: false - price_adjuster: - adjuster: relative - adjuster_value: 8 - weight_adjuster: {} - purchasing_disabled: false - purchasing_disabled_message: '' - purchasing_hidden: false - image_url: '' - conditions: - - rule_id: 82 - modifier_id: 221 - modifier_value_id: 175 - variant_id: 1 - combination_id: 0 - - id: 83 - product_id: 195 - sort_order: 1 - enabled: true - stop: false - price_adjuster: {} - weight_adjuster: - adjuster: relative - adjuster_value: 3 - purchasing_disabled: false - purchasing_disabled_message: '' - purchasing_hidden: false - image_url: '' - conditions: - - rule_id: 83 - modifier_id: 221 - modifier_value_id: 174 - variant_id: 1 - combination_id: 0 - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Complex Rules - summary: Create a Complex Rule - description: |- - Creates a product *Complex Rule*. - - **Required Fields** - - modifier_id - - modifier_value_id - - modifier_value_id - - variant_id - - **Read-Only Fields** - - complex_rule_id - - conditions_id - - rule_id - - combination_id - - id - operationId: createComplexRule - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Complex Rule - type: object - properties: - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ComplexRule - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/complex-rules/{complex_rule_id}': - get: - tags: - - Product Complex Rules - summary: Get a Complex Rule - description: Returns a single *Complex Rule*. Optional parameters can be passed in. - operationId: getComplexRuleById - parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Complex Rules - summary: Update a Complex Rule - description: |- - Updates a *Complex Rule*. - - **Required Fields**: - - none - - **Read-Only Fields**: - - complex_rule_id - - conditions_id - - rule_id - - combination_id - - id - operationId: updateComplexRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - requestBody: - content: - application/json: - schema: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ComplexRule - delete: - tags: - - Product Complex Rules - summary: Delete a Complex Rule - description: Deletes a product *Complex Rule*. - operationId: deleteComplexRuleById - parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ComplexRuleIdParam' - '/catalog/products/{product_id}/custom-fields': - get: - tags: - - Product Custom Fields - summary: Get Custom Fields - description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. - operationId: getCustomFields - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - name: Release year - value: '1987' - id: 1 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: '?page=1&limit=50' - current: '?page=1&limit=50' - next: '?page=1&limit=50' - post: - tags: - - Product Custom Fields - summary: Create a Custom Fields - description: |- - Creates a *Custom Field*. - - **Required Fields:** - - name - - value - - **Read-Only:** - - id - - **Limits** - - 200 custom fields per product limit. - - 255 characters per custom field limit. - operationId: createCustomField - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Custom Field - required: - - name - - value - type: object - properties: - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: CustomField - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/custom-fields/{custom_field_id}': - get: - tags: - - Product Custom Fields - summary: Get a Custom Field - description: Returns a single *Custom Field*. Optional parameters can be passed in. - operationId: getCustomFieldById - parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productCustomField_Base' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Custom Fields - summary: Update a Custom Field - description: |- - Updates a *Custom Field*. - - **Required Fields** - - none - - **Read-Only** - - id - operationId: updateCustomField - parameters: - - $ref: '#/components/parameters/ContentType' - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: CustomField - delete: - tags: - - Product Custom Fields - summary: Delete a Custom Field - description: Deletes a product *Custom Field*. - operationId: deleteCustomFieldById - parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - responses: - '204': - description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' - content: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/CustomFieldIdParam' - '/catalog/products/{product_id}/bulk-pricing-rules': - get: - tags: - - Product Bulk Pricing Rules - summary: Get All Bulk Pricing Rules - description: Returns a list of *Bulk Pricing Rules*. Optional parameters can be passed in. - operationId: getBulkPricingRules - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - - id: 84 - quantity_min: 4 - quantity_max: 0 - type: price - amount: 1 - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Bulk Pricing Rules - summary: Create a Bulk Pricing Rule - description: |- - Creates a *Bulk Pricing Rule*. - - **Required Fields** - - quantity_min - - quantity_max - - type - - amount - - **Read-Only Fields** - - id - - **Limits** - - 50 bulk pricing rule per product limit. - operationId: createBulkPricingRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/bulkPricingRule_Full' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - title: Meta - type: object - description: Empty meta object; may be used later. - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: BulkPricingRule - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': - get: - tags: - - Product Bulk Pricing Rules - summary: Get a Bulk Pricing Rule - description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. - operationId: getBulkPricingRuleById - parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Bulk Pricing Rules - summary: Update a Bulk Pricing Rule - description: |- - Updates a *Bulk Pricing Rule*. - - **Required Fields** - * none - - **Read-Only Fields** - - id - operationId: updateBulkPricingRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Bulk Pricing Rule - required: - - amount - - quantity_max - - quantity_min - - type - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. - Required in /POST. - example: 10 - x-required: - - post - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - Required in /POST. - example: 50 - x-required: - - post - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - Required in /POST. - example: price - enum: - - price - - percent - - fixed - x-required: - - post - amount: - type: integer - description: |- - The discount can be a fixed dollar amount or a percentage. For a fixed dollar amount enter it as an integer and the response will return as an integer. For percentage enter the amount as the percentage divided by 100 using string format. For example 10% percent would be “.10”. The response will return as an integer. - Required in /POST. - description: Common BulkPricingRule properties - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: BulkPricingRule - delete: - tags: - - Product Bulk Pricing Rules - summary: Delete a Bulk Pricing Rule - description: Deletes a *Bulk Pricing Rule*. - operationId: deleteBulkPricingRuleById - parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/BulkPricingRuleIdParam' - '/catalog/products/{product_id}/metafields': - get: - tags: - - Product Metafields - summary: Get All Product Metafields - description: Returns a list of *Product Metafields*. Optional parameters can be passed in. - operationId: getProductMetafieldsByProductId - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: product - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Sublocation - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: product - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Metafields - summary: Create a Product Metafield - description: |- - Creates a *Product Metafield*. - - **Required Fields:** - * permission_set - * namespace - * key - * value - - **Read-Only Fields** - * id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createProductMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: product - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: |- - The HTTP status code. - title: - type: string - description: |- - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/metafields/{metafield_id}': - get: - tags: - - Product Metafields - summary: Get a Product Metafield - description: Returns a single *Product Metafield*. Optional parameters can be passed in. - operationId: getProductMetafieldByProductId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Metafields - summary: Update a Product Metafield - description: "Updates a *Product Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified using the API account that created the metafield:\n\t* `namespace`\n\t* `key`\n\t* `permission_set`\n\t* `value`\n\n**Usage Notes**\n* Attempting to modify the `namespace`, `key`, `permission_set`, or `value` field using an API account different from the one used to create those metafields will result in a `403` error message. " - operationId: updateProductMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Product Metafields - summary: Delete a Product Metafield - description: Deletes a *Product Metafield*. - operationId: deleteProductMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/products/{product_id}/reviews': - get: - tags: - - Product Reviews - summary: Get Product Reviews - description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. - operationId: getProductReviews - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: status - in: query - description: 'Filter items by status. `1` for approved, `0` for pending.' - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Collection Response - type: object - properties: - data: - type: array - items: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaCollection_Full' - '204': - description: | - There are no reviews on this product. - content: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Reviews - summary: Create a Product Review - description: |- - Creates a *Product Review*. - - **Required Fields** - - title - - date_reviewed - - **Read-Only Fields** - * id - operationId: createProductReview - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Review Post - description: | - The model for a POST to create a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productReview - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/reviews/{review_id}': - get: - tags: - - Product Reviews - summary: Get a Product Review - description: Returns a single *Product Review*. Optional parameters maybe passed in. - operationId: getProductReviewById - parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Reviews - summary: Update a Product Review - description: |- - Updates a *Product Review*. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateProductReview - parameters: - - $ref: '#/components/parameters/ContentType' - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - requestBody: - description: | - A BigCommerce `ProductReview` object. - content: - application/json: - schema: - title: Product Review Put - description: | - The model for a PUT to update a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productReview - delete: - tags: - - Product Reviews - summary: Delete a Product Review - description: Deletes a *Product Review*. - operationId: deleteProductReview - parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ReviewIdParam' - '/catalog/categories': - get: - tags: - - Category - summary: Get All Categories - description: Returns a list of *Categories*. Optional filter parameters can be passed in. - operationId: getCategories - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: 'name:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - - name: 'parent_id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: 'page_title:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Base - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 19 - parent_id: 0 - name: Garden - description:

This is the garden description

- views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Category - summary: Create a Category - description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." - operationId: createCategory - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Category - type: object - description: Common Category object properties. - properties: - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the category should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - '409': - description: | - The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: category - delete: - tags: - - Category - summary: Delete Categories - description: |- - Deletes *Category* objects. At least one filter parameter is required to perform the `DELETE` operation. - - **Usage Notes** - - - Sending a `DELETE`request without specifying a filter parameter will result in a `422` error. - - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a category. - operationId: deleteCategories - parameters: - - name: id - in: query - description: Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: 'name:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: 'parent_id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'page_title:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/categories/{category_id}': - get: - tags: - - Category - summary: Get a Category - description: Returns a single *Category*. Optional parameters can be passed in. - operationId: getCategoryById - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Category - summary: Update a Category - description: |- - Updates a *Category*. - - **Required Fields** - * none - - **Read-Only Fields** - - id - operationId: updateCategory - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Category - type: object - description: Common Category object properties. - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - title: Category - type: object - description: Common Category object properties. - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - meta: - title: Meta - type: object - description: Empty meta object; may be used later. - '207': - $ref: '#/components/responses/General207Status' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: 'The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: 'The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: category - delete: - tags: - - Category - summary: Delete a Category - description: Deletes a *Category*. - operationId: deleteCategoryById - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/categories/{category_id}/metafields': - get: - tags: - - Category Metafields - summary: Get All Category Metafields - description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in. - operationId: getCategoryMetafieldsByCategoryId - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: category - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: category - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Category Metafields - summary: Create a Category Metafield - description: |- - Creates a *Category Metafield*. - - **Required Fields:** - - permission_set - - namespace - - key - - value - - **Read-Only Fields** - - id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createCategoryMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate, unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/categories/{category_id}/metafields/{metafield_id}': - get: - tags: - - Category Metafields - summary: Get a Category Metafield - description: Returns a single *Category Metafield*. Optional parameters can be passed in. - operationId: getCategoryMetafieldByCategoryId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Category Metafields - summary: Update a Category Metafield - description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " - operationId: updateCategoryMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Category Metafields - summary: Delete a Category Metafield - description: Deletes a *Category Metafield*. - operationId: deleteCategoryMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/categories/{category_id}/image': - post: - tags: - - Category Images - summary: Create a Category Image - description: |- - Create a *Category Image*. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - - Only one image at a time can be created. - Limit image size to 1MB. - To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. - operationId: createCategoryImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Image was not valid. This is the result of a missing `image_file` field or an incorrect file type. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - delete: - tags: - - Category Images - summary: Delete a Category Image - description: Deletes a *Cateogory Image*. - operationId: deleteCategoryImage - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/brands': - get: - tags: - - Brands - summary: Get All Brands - description: Returns a list of *Brands*. Optional filter parameters can be passed in. - operationId: getBrands - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/brand_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 35 - name: Sagaform - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: '' - search_keywords: '' - custom_url: - url: /brands/Sagaform.html - is_customized: false - - id: 36 - name: OFS - page_title: OFS - meta_keywords: - - modern - - ' clean' - - ' contemporary' - meta_description: OFS is a modern brand. - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/OFS.html - is_customized: false - - id: 37 - name: Common Good - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/k/screen%20shot%202018-05-07%20at%2012.24.24%20pm_1525785365__65102.png' - search_keywords: '' - custom_url: - url: /brands/Common-Good.html - is_customized: false - - id: 38 - name: BigCommerce - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: '' - search_keywords: '' - custom_url: - url: /bigcommerce/ - is_customized: false - - id: 39 - name: Test Brand One - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/q/apihqggzm__53766.jpg' - search_keywords: '' - custom_url: - url: /test-brand-one/ - is_customized: false - - id: 40 - name: Fog Linen Work - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /fog-linen-work/ - is_customized: false - - id: 41 - name: Barr-Co. - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /barr-co/ - is_customized: false - - id: 42 - name: Thames & Hudson - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /thames-hudson/ - is_customized: false - - id: 43 - name: Able Brewing - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /able-brewing/ - is_customized: false - - id: 44 - name: Chemex - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /chemex/ - is_customized: false - - id: 45 - name: Kinfolk - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /kinfolk/ - is_customized: false - - id: 46 - name: Iris Hantverk - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /iris-hantverk/ - is_customized: false - - id: 47 - name: Gather Journal - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /gather-journal/ - is_customized: false - - id: 48 - name: Openhouse Magazine - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /openhouse-magazine/ - is_customized: false - - id: 49 - name: Smith Journal - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /smith-journal/ - is_customized: false - meta: - pagination: - total: 15 - count: 15 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Brands - summary: Create a Brand - description: |- - Creates a *Brand*. - - **Required Fields** - - name - - **Read-Only Fields** - - id - - **Limits** - - 30,000 brands per store limit - operationId: createBrand - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Brand - type: object - description: Common brand properties. - properties: - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - description: The custom URL for the brand on the storefront. - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - required: - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '207': - $ref: '#/components/responses/General207Status' - '409': - description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: 'Brand was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Brand - delete: - tags: - - Brands - summary: Delete Brands - description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' - operationId: deleteBrands - parameters: - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/brands/{brand_id}': - get: - tags: - - Brands - summary: Get a Brand - description: Returns a single *Brand*. Optional filter parameters can be passed in. - operationId: getBrandById - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - $ref: '#/components/schemas/brand_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Brands - summary: Update a Brand - description: |- - Updates a *Brand*. - - **Required Fields** - - None - - **Read-Only Fields** - - id - - To update a *Brand Image*, send a request with an `image_url`. - operationId: updateBrand - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - example: - - 'modern, clean, contemporary' - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - example: - - 'modern, clean, contemporary' - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '207': - $ref: '#/components/responses/General207Status' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `Brand` was in conflict with another product. This is the result of duplicate unique values, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Brand` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: brand - delete: - tags: - - Brands - summary: Delete a Brand - description: Deletes a *Brand*. - operationId: deleteBrandById - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/brands/{brand_id}/metafields': - get: - tags: - - Brand Metafields - summary: Get All Brand Metafields - description: 'Returns a list of *Brand Metafields*. Optional filter parameters can be passed in. ' - operationId: getBrandMetafieldsByBrandId - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: brand - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Brand location - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: brand - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Brand Metafields - summary: Create a Brand Metafield - description: |- - Creates a *Brand Metafield*. - - **Required Fields** - - permission_set - - namespace - - key - - value - - **Read-Only Fields** - - id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createBrandMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - examples: - example-1: - value: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - example-2: - value: - data: - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: category - resource_id: 111 - description: Location in the warehouse. - date_created: '2018-05-07T20:14:17+00:00' - date_modified: '2018-05-07T20:14:17+00:00' - meta: {} - example-3: - value: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located. - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/brands/{brand_id}/metafields/{metafield_id}': - get: - tags: - - Brand Metafields - summary: Get a Brand Metafields - description: Returns a *Brand Metafield*. Optional filter parameters can be passed in. - operationId: getBrandMetafieldByBrandId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Brand Metafields - summary: Update a Brand Metafield - description: "Updates a *Brand Metafield*.\n\n**Required Fields** \n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message.\n* The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center." - operationId: updateBrandMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Brand Metafields - summary: Delete a Brand Metafield - description: Deletes a *Brand Metafield*. - operationId: deleteBrandMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/brands/{brand_id}/image': - post: - tags: - - Brand Images - summary: Create a Brand Image - description: |- - Creates a *Brand Image*. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - - **Read-Only Fields** - - id - - Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. - operationId: createBrandImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: 'Image was not valid. This is the result of a missing `image_file` field, or of an incorrect file type. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - delete: - tags: - - Brand Images - summary: Delete a Brand Image - description: Deletes a *Brand Image*. - operationId: deleteBrandImage - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/variants': - get: - tags: - - Variants - summary: Get All Variants - description: Returns a list of all variants in your catalog. Optional parameters can be passed in. - operationId: getVariants - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: product_id - in: query - description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Variants - summary: Update Variants (Batch) - description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' - operationId: updateVariantsBatch - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Variants Collection Put - type: array - items: - title: Variant Put - type: object - description: | - The model for a PUT to update variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Collection Meta - type: object - properties: - pagination: - title: Pagination - type: object - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - description: 'Data about the response, including pagination and collection totals.' - '413': - description: '' - content: - application/json: - example: - errors: {} - status: 413 - title: The request payload is too large. The maximum items allowed in the array is 50 - type: /api-docs/getting-started/api-status-codes - '422': - description: | - This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Variants Batch Error Response - type: object - properties: - batch_errors: - type: array - items: - title: Error Response - type: object - allOf: - - title: Base Error - type: object - properties: - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - instance: - type: string - description: | - Error payload for the BigCommerce API. - - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - description: | - Errors during batch usage for the BigCommerce API. - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/summary': - get: - tags: - - Summary - summary: Get a Catalog Summary - description: |- - Returns a lightweight inventory summary from the BigCommerce Catalog. - - The inventory summary includes: - * "inventory_count" - * "variant_count" - * "inventory_value" - * "highest_variant_price" - * "average_variant_price" - * "lowest_variant_price" - * "oldest_variant_date" - * "newest_variant_date" - * "primary_category_id" - * "primary_category_name" - operationId: getCatalogSummary - responses: - '200': - description: '' - content: - application/json: - schema: - title: Catalog Summary Response - type: object - properties: - data: - title: Catalog Summary - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/categories/{category_id}/products/sort-order': - get: - tags: - - Product Sort Order - summary: Get Product Sort Order - description: |- - Returns a list of products and their sort order for a specific category. - - **Usage Notes** - * Data pairs are displayed in ascending order based on products' `sort_order` values. - * `null` values are allowed for products without specified `sort_order` values. - * Products with `sort_order` value of `null` will be displayed after products with valid numerical values. - * The priorities for determining product sort order on a storefront are the following: - - Priority 1: Manually specified sort order on Category Level (API). - - Priority 2: Manually specified sort order on Product (Global) Level (UI/API). - - Priority 3: Default sorting by Product ID (newly added products go first) (UI/API). - operationId: getsortorders - parameters: - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: {} - '404': - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - put: - tags: - - Product Sort Order - summary: Update Product Sort Order - description: Updates sort order of products within a specific category. - operationId: updatesortorder - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/productSortOrder' - required: false - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/productSortOrder' - '404': - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - '422': - description: |- - Unprocessable entity. - - Please verify if all requested products are assigned to the category. - - Please verify if all required fields are present in the request body and are filled with values correctly. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/trees/categories': - get: - summary: Get All Categories - description: |- - Returns a list of categories. - - To get a specific category in a tree, provide a category id. - tags: - - Categories Batch - parameters: - - name: 'category_uuid:in' - in: query - schema: - type: string - - name: 'category_uuid:not_in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - - name: 'category_id:not_in' - in: query - schema: - type: string - - name: 'tree_id:in' - in: query - schema: - type: string - - name: 'tree_id:not_in' - in: query - schema: - type: string - - name: 'parent_id:in' - in: query - schema: - type: string - - name: 'parent_id:not_in' - in: query - schema: - type: string - - name: name - in: query - schema: - type: string - - name: 'name:like' - in: query - schema: - type: string - - name: page_title - in: query - schema: - type: string - - name: 'page_title:like' - in: query - schema: - type: string - - name: keyword - in: query - schema: - type: string - - name: is_visible - in: query - schema: - type: boolean - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: include_fields - in: query - schema: - type: string - - name: exclude_fields - in: query - schema: - type: string - responses: - '200': - description: List of categories. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/MetaPagination' - examples: - example-1: - value: - data: - - id: 0 - parent_id: 2 - name: Bath - description:

We offer a wide variety of products perfect for relaxing

- views: 1050 - sort_order: 3 - page_title: Bath - meta_keywords: - - string - meta_description: string - layout_file: category.html - image_url: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - is_visible: true - search_keywords: string - default_product_sort: use_store_settings - url: - path: string - is_customized: true - meta: - pagination: - total: 246 - count: 5 - per_page: 5 - current_page: 1 - total_pages: 50 - links: - previous: '?limit=5&page=1' - current: '?limit=5&page=2' - next: '?limit=5&page=3' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: getAllCategories - post: - summary: Create Categories - description: |- - Creates new categories. - - Creating a category requires: - - `name` - - `url` - - `tree_id` or `parent_id` - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Categories Batch - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateCategories' - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessResponse' - '207': - description: Multi-Status - content: - application/json: - schema: - $ref: '#/components/schemas/PartialSuccessResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '422': - description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: createCategories - put: - summary: Update Categories - description: |- - Updates existing categories. - - To update a specific category in a tree, provide a category id. - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Categories Batch - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateCategories' - responses: - '200': - description: OK - '204': - description: No Content - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessNoContentResponse' - '207': - description: Partial success - content: - application/json: - schema: - $ref: '#/components/schemas/PartialSuccessNoContentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '422': - description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: updateCategories - delete: - summary: Delete Categories - description: |- - Deletes categories. - - To delete a specific category in a tree, provide a category id. - tags: - - Categories Batch - parameters: - - name: 'category_uuid:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - - name: 'tree_id:in' - in: query - schema: - type: string - - name: 'parent_id:in' - in: query - schema: - type: string - responses: - '204': - description: Categories are deleted - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessNoContentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '500': - description: Server error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: deleteTreeCategories - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/trees': - get: - summary: Get All Category Trees - description: Returns a list of *Category Trees*. - operationId: GetCategoryTrees - parameters: - - name: 'id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '200': - description: List of category trees. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Tree' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - example: - data: - - id: 0 - name: string - channels: - - 0 - meta: - pagination: - total: 246 - count: 5 - per_page: 5 - current_page: 1 - total_pages: 50 - links: - next: '?limit=5&page=2' - current: '?limit=5&page=1' - tags: - - Category Trees - put: - summary: Upsert Category Trees - description: | - Upserts *Category Trees*. - - If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. - - **Usage Notes** - * `channel_id` is required to create a *Category Tree*. You can assign one `channel_id` to one category tree. - parameters: - - $ref: '#/components/parameters/ContentType' - operationId: UpsertCategoryTrees - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Tree' - example: - - id: 0 - name: string - channels: - - 0 - responses: - '200': - description: Created a category tree. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/Tree' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 0 - name: string - channels: - - 0 - meta: - type: object - properties: {} - description: Empty meta object; reserved for use later. - '422': - description: The Channel was not valid. See the response for more details. - content: - application/json: - schema: - $ref: '#/components/schemas/beta4ErrorResponse' - example: - status: 0 - title: string - type: string - instance: string - errors: - additionalProp1: string - additionalProp2: string - additionalProp3: string - tags: - - Category Trees - delete: - summary: Delete Category Trees - description: Deletes *Category Trees*. A filter must be supplied with the endpoint. - operationId: DeleteCategoryTrees - parameters: - - name: 'id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - tags: - - Category Trees - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/trees/{tree_id}/categories': - get: - summary: Get a Category Tree - description: Returns a *Category Tree*. - operationId: GetCategoryTreeByTreeId - parameters: - - name: depth - description: Max depth for a tree of categories. - in: query - schema: - type: integer - responses: - '200': - description: Categories tree - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/CategoryNode' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - - id: 0 - parent_id: 0 - depth: 0 - path: - - 0 - name: string - is_visible: true - children: - - string - meta: - type: object - properties: {} - description: Empty meta object; reserved for use later. - '404': - description: The tree was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/beta4ErrorResponse' - example: - status: 0 - title: string - type: string - instance: string - errors: - additionalProp1: string - additionalProp2: string - additionalProp3: string - tags: - - Category Trees - parameters: - - $ref: '#/components/parameters/Accept' - - schema: - type: string - name: tree_id - in: path - required: true - '/catalog/products/channel-assignments': - get: - summary: Get Products Channel Assignments - description: Returns a list of products channel assignments. - operationId: GetProductsChannelAssignments - tags: - - Products Channel Assignments - parameters: - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '200': - description: Collection of channel assignments. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/ProductChannelAssignment' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - put: - summary: Create Products Channel Assignments - description: Creates products channel assignments. - operationId: CreateProductsChannelAssignments - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Products Channel Assignments - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ProductChannelAssignment' - responses: - '204': - description: Updated - '422': - description: Error response for batch PUT of Channel Assignments. Includes the errors for each reference id. - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - delete: - summary: Delete Products Channel Assignments - description: Delete products channel assignments. A filter must be supplied. - operationId: DeleteProductsChannelAssignments - tags: - - Products Channel Assignments - parameters: - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - '422': - description: At least one filter must be provided in order to delete channel assignments - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/products/category-assignments': - get: - summary: Get Products Category Assignments - description: Returns a list of products category assignments. - operationId: GetProductsCategoryAssignments - tags: - - Products Category Assignments - parameters: - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - responses: - '200': - description: Collection of category assignments. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/ProductCategoryAssignment' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - put: - summary: Create Products Category Assignments. - description: Creates products category assignments. - operationId: CreateProductsCategoryAssignments - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Products Category Assignments - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ProductCategoryAssignment' - responses: - '204': - description: Updated - '422': - description: Error response for batch PUT of Category Assignments. Includes the errors for each reference id. - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - delete: - summary: Delete Products Category Assignments - description: Deletes products category assignments. A filter must be supplied. - operationId: DeleteProductsCategoryAssignments - tags: - - Products Category Assignments - parameters: - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - '422': - description: At least one filter must be provided in order to delete category assignments - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - parameters: - - $ref: '#/components/parameters/Accept' -components: - schemas: - formData_ImageFileParam: - type: string - description: | - An image file. Supported MIME types include GIF, JPEG, and PNG. - format: binary - productModifier_Base: - title: productModifier_Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - $ref: '#/components/schemas/config_Full' - display_name: - type: string - description: The name of the option shown on the storefront. - description: Common Modifier properties. - x-internal: false - productModifier_Full: - title: productModifier_Full - description: Product Modifier - allOf: - - $ref: '#/components/schemas/productModifier_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - option_values: - type: array - items: - $ref: '#/components/schemas/productModifierOptionValue_Full' - x-internal: false - productModifier_Post: - title: productModifier_Post - description: The model for a POST to create a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - required: - - display_name - type: object - properties: - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - x-required: - - post - x-internal: false - productModifier_Put: - title: productModifier_Put - description: The model for a PUT to update a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - x-internal: false - productModifierOptionValue_Base: - title: productModifierOptionValue_Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. - nullable: true - adjusters: - $ref: '#/components/schemas/adjusters_Full' - description: Common Product Modifer `option_value` properties. - x-internal: false - productModifierOptionValue_Full: - title: productModifierOptionValue_Full - description: Product Modifer `option_value`. - allOf: - - $ref: '#/components/schemas/productModifierOptionValue_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - option_id: - type: integer - x-internal: false - productModifierOptionValue_Post: - title: productModifierOptionValue_Post - description: The model for a POST to create a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - x-internal: false - productModifierOptionValue_Put: - title: productModifierOptionValue_Put - description: The model for a PUT to update a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - x-internal: false - resp_productionOption: - title: resp_productionOption - type: object - properties: - data: - $ref: '#/components/schemas/productOption_Full' - meta: - title: Meta - type: object - properties: - 'null': - type: string - description: Empty meta object; may be used later. - x-internal: false - productOption_Base: - title: productOption_Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - $ref: '#/components/schemas/productOptionConfig_Full' - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - $ref: '#/components/schemas/productOptionOptionValue_Full' - description: Common Option properties. - x-internal: false - productOption_Full: - title: productOption_Full - allOf: - - $ref: '#/components/schemas/productOption_Base' - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - x-internal: false - productOption_Post: - title: productOption_Post - description: The model for a POST to create options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - x-internal: false - productOption_Put: - title: productOption_Put - description: The model for a PUT to update options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - x-internal: false - categoriesTree_Resp: - title: categoriesTree_Resp - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/categoriesTreeNode_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Returns the categories tree, a nested lineage of the categories with parent->child relationship. The Category objects returned are simplified versions of the category objects returned in the rest of this API. - x-internal: false - categoriesTreeNode_Full: - title: categoriesTreeNode_Full - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the category; increments sequentially. - example: 26 - parent_id: - type: integer - description: | - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - example: 25 - name: - type: string - description: | - The name displayed for the category. Name is unique with respect to the category's siblings. - example: Bath - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - example: true - url: - type: string - description: | - The custom URL for the category on the storefront. - example: /towels/bath-towels/ - description: Used to reflect parent <> child category relationships. Used by Category Tree. - x-internal: false - category_Full: - title: category_Full - type: object - description: Common Category object properties. - x-internal: false - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - $ref: '#/components/schemas/customUrl_Full' - required: - - parent_id - - name - brand_Full: - title: brand_Full - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - $ref: '#/components/schemas/customUrl_Full' - description: Common Brand properties. - x-internal: false - productVariant_Base: - title: productVariant_Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - mpn: - type: string - description: The Manufacturer Part Number (MPN) for the variant. - gtin: - type: string - example: '012345678905' - description: Common Variant properties. - x-internal: false - x-examples: - example-1: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - productVariant_Full: - title: productVariant_Full - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - $ref: '#/components/schemas/productVariantOptionValue_Full' - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - calculated_weight: - type: number - x-internal: false - description: '' - x-examples: - example-1: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - productVariant_Post: - title: productVariant_Post - description: | - The model for a POST to create variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - image_url: - type: string - description: Publicly available image url - gtin: - type: string - description: Global Trade Item Number - example: '012345678905' - mpn: - type: string - description: Manufacturer Part Number - example: HV-HM02 - description: Common Variant properties. - - type: object - properties: - product_id: - type: integer - x-required: - - post - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - $ref: '#/components/schemas/productVariantOptionValue_Full' - x-required: - - post - x-internal: false - variantCollection_Put: - title: variantCollection_Put - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - x-internal: false - variant_Put: - title: variant_Put - description: | - The model for a PUT to update variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - x-required: - - put - x-internal: false - productVariant_Post_Product: - title: productVariant_Post_Product - description: | - The model for a POST to create variants on a product. - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - option_values: - type: array - items: - title: Option Value Product Post - type: object - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - x-required: - - post - x-internal: false - productVariant_Put_Product: - title: productVariant_Put_Product - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - product_id: - type: integer - sku: - maxLength: 255 - minLength: 1 - type: string - description: | - The model for a PUT to update variants on a product. - x-internal: false - productVariantOptionValue_Full: - title: productVariantOptionValue_Full - allOf: - - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - - $ref: '#/components/schemas/productVariantOptionValue_Base' - x-internal: false - productOptionValue_Post_Product: - title: productOptionValue_Post_Product - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - x-internal: false - productVariantOptionValue_Base: - title: productVariantOptionValue_Base - type: object - properties: - id: - type: integer - description: '`option_value` ID.' - example: 146 - option_id: - type: integer - description: '`option` ID.' - example: 151 - description: Common Product Variant Option properties. - x-internal: false - productVariantOptionValue_Post: - title: productVariantOptionValue_Post - type: object - properties: - id: - type: integer - x-required: - - post - option_id: - type: integer - x-required: - - post - description: The model for a POST to create option values on a variant. - x-internal: false - resp_productOptionValue: - title: resp_productOptionValue - type: object - properties: - data: - $ref: '#/components/schemas/productOptionOptionValue_Full' - meta: - title: Meta - type: object - properties: - 'null': - type: string - description: Empty meta object; may be used later. - x-internal: false - productOptionOptionValue_Base: - title: productOptionOptionValue_Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. - nullable: true - description: Common Product Option `option_value` properties. - x-internal: false - productOptionOptionValue_Full: - title: productOptionOptionValue_Full - description: Product Option `option_value`. - allOf: - - $ref: '#/components/schemas/productOptionOptionValue_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-internal: false - productOptionValue_Post: - title: productOptionValue_Post - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - x-internal: false - productOptionValue_Put: - title: productOptionValue_Put - description: The model for a PUT to update option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - x-internal: false - productImage_Base: - title: productImage_Base - type: object - properties: - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Limit of 1MB per file. - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - image_url: - type: string - description: 'Must be a fully qualified URL path, including protocol. Limit of 8MB per file.' - description: Common ProductImage properties. - x-internal: false - productImage_Post: - title: productImage_Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. - x-internal: false - productImage_Put: - title: productImage_Put - description: The model for a PUT to update applicable Product Image fields. - allOf: - - title: Product Image Base - type: object - properties: - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - description: Common ProductImage properties. - - $ref: '#/components/schemas/productImage_Base' - x-internal: false - productVideo_Base: - title: productVideo_Base - type: object - description: | - The model for a POST to create a video on a product. - x-internal: false - properties: - title: - type: string - maxLength: 255 - minLength: 0 - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - example: Writing Great Documentation - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - example: A video about documenation - sort_order: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - example: 1 - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - video_id: - type: string - description: The ID of the video on a host site. - example: z3fRu9pkuXE - productVideo_Full: - title: productVideo_Full - description: | - A product video model. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - x-internal: false - productVideo_Post: - title: productVideo_Post - description: | - The model for a POST to create a video on a product. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - x-internal: false - productVideo_Put: - title: productVideo_Put - description: | - The model for a PUT to update a video on a product. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - x-required: - - put - x-internal: false - productReview_Base: - title: productReview_Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - productReview_Full: - title: productReview_Full - description: | - A product review model. - allOf: - - $ref: '#/components/schemas/productReview_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - x-internal: false - productReview_Post: - title: productReview_Post - description: | - The model for a POST to create a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - productReview_Put: - title: productReview_Put - description: | - The model for a PUT to update a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - resp_productImage: - title: resp_productImage - type: object - properties: - data: - $ref: '#/components/schemas/productImage_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - x-internal: false - resourceImage_Full: - title: resourceImage_Full - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - x-internal: false - product_Post: - title: product_Post - description: The model for a POST to create a product. - allOf: - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Post_Product' - x-internal: false - product_Put: - title: product_Put - description: The model for a PUT to update a product. - allOf: - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Put_Product' - x-internal: false - catalogSummary_Full: - title: catalogSummary_Full - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - x-internal: false - metafield_Base: - title: metafield_Base - type: object - description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' - x-internal: false - properties: - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - required: - - permission_set - - namespace - - key - - value - complexRule_Base: - title: complexRule_Base - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - $ref: '#/components/schemas/adjuster_Full' - weight_adjuster: - $ref: '#/components/schemas/adjuster_Full' - conditions: - type: array - items: - $ref: '#/components/schemas/complexRuleConditionBase' - description: Common ComplexRule properties. - x-internal: false - productCustomField_Base: - title: productCustomField_Base - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - x-internal: false - productCustomField_Post: - title: productCustomField_Post - description: The model for a POST to create a custom field on a product. - allOf: - - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - x-internal: false - productCustomField_Put: - title: productCustomField_Put - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. Required to update existing custom field in /PUT request. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: The model for a PUT to update a custom field on a product. - x-internal: false - complexRuleConditionBase: - title: complexRuleConditionBase - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - x-internal: false - customUrl_Full: - title: customUrl_Full - type: object - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Product URL on the storefront. - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - description: The custom URL for the product on the storefront. - x-internal: false - bulkPricingRule_Full: - title: bulkPricingRule_Full - type: object - description: Common Bulk Pricing Rule properties - x-internal: false - properties: - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. - Required in /POST. - example: 10 - x-required: - - post - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - Required in /POST. - example: 50 - x-required: - - post - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - Required in /POST. - example: price - enum: - - price - - percent - - fixed - x-required: - - post - amount: - oneOf: - - type: number - example: 10 - - type: string - example: '.10' - description: |- - You can express the adjustment type as either a fixed dollar amount or a percentage. Send a number; the response will return a number for `price` and `fixed` adjustments. - Divide the adjustment percentage by 100 and send the result in string format. For example, represent 10% as “.10”. The response will return a float value for both `price` and `percentage` adjustments. - Required in /POST. - required: - - quantity_min - - quantity_max - - type - - amount - bulkPricingRuleFull_Response: - title: Bulk Pricing Rule - type: object - x-internal: false - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. - example: 10 - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - example: 50 - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - example: price - enum: - - price - - percent - - fixed - amount: - type: number - description: |- - The adjustment amount. Depending on the rule `type`, may represent a fixed dollar amount or a percentage. - example: 10 - x-stoplight: - id: 386de544af45e - productOptionConfig_Full: - title: productOptionConfig_Full - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - x-internal: false - adjuster_Full: - title: adjuster_Full - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - x-internal: false - resp_variantBatchError: - title: resp_variantBatchError - type: object - properties: - batch_errors: - type: array - items: - title: Error Response - type: object - allOf: - - $ref: '#/components/schemas/error_Base' - - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - description: | - Errors during batch usage for the BigCommerce API. - x-internal: false - metaCollection_open: - title: Response meta - type: object - properties: {} - additionalProperties: true - description: Response metadata. - metaCollection_Full: - title: metaCollection_Full - type: object - properties: - pagination: - $ref: '#/components/schemas/pagination_Full' - description: 'Data about the response, including pagination and collection totals.' - x-internal: false - pagination_Full: - title: pagination_Full - type: object - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - x-internal: false - metaEmpty_Full: - type: object - title: Response meta - properties: {} - additionalProperties: true - description: Response metadata. - errorResponse_Full: - title: errorResponse_Full - allOf: - - $ref: '#/components/schemas/error_Base' - - type: object - properties: - errors: - $ref: '#/components/schemas/detailedErrors' - x-internal: false - error_Base: - title: error_Base - type: object - properties: - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - instance: - type: string - description: | - Error payload for the BigCommerce API. - x-internal: false - errorMultiStatus: - title: errorMultiStatus - type: object - properties: - status: - type: integer - minLength: 3 - maxLength: 3 - description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' - title: - type: string - description: A summary of the failure or partial success. - type: - type: string - description: A BigCommerce-defined error signifier. - errors: - $ref: '#/components/schemas/detailedErrors' - errorNotFound: - title: errorNotFound - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-internal: false - giftCertificate_Full: - title: giftCertificate_Full - type: object - properties: - code: - type: string - description: | - The gift-certificate code. - example: MB345 - original_balance: - type: number - description: | - The balance on a gift certificate when it was purchased. - format: float - example: 100 - starting_balance: - type: number - description: | - The balance on a gift certificate at the time of this purchase. - format: float - example: 100 - remaining_balance: - type: number - description: | - The remaining balance on a gift certificate. - format: float - example: 35.42 - status: - type: string - description: | - The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate purchase is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired. - enum: - - active - - pending - - disabled - - expired - description: A gift-certificate model. - x-internal: false - errorNoContent: - title: errorNoContent - type: object - properties: - status: - type: integer - description: | - 204 HTTP status code. - title: - type: string - description: The error title describing the situation. - type: - type: string - instance: - type: string - description: No-content response for the BigCommerce API. - x-internal: false - detailedErrors: - title: detailedErrors - description: Each key-value pair describes a failure or partial success case. - type: object - properties: {} - additionalProperties: true - x-internal: false - product_Full: - title: product_Full - allOf: - - type: object - properties: - id: - minimum: 1 - type: integer - description: ID of the product. Read-Only. - readOnly: true - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - date_created: - type: string - description: | - The date on which the product was created. - format: date-time - example: '2018-08-15T14:49:05+00:00' - date_modified: - type: string - description: | - The date on which the product was modified. - format: date-time - example: '2018-08-24T14:41:00+00:00' - base_variant_id: - type: integer - description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. - calculated_price: - type: number - description: 'The price of the product as seen on the storefront. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`.' - format: float - options: - type: array - items: - $ref: '#/components/schemas/productOption_Base' - modifiers: - type: array - items: - $ref: '#/components/schemas/productModifier_Full' - map_price: - type: number - description: Minimum Advertised Price. - option_set_id: - type: integer - description: Indicates that the product is in an Option Set (legacy V2 concept). - option_set_display: - type: string - description: Legacy template setting which controls if the option set shows up to the side of or below the product image and description. - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - x-internal: false - productImage_Full: - title: productImage_Full - description: Common ProductImage properties. - allOf: - - $ref: '#/components/schemas/productImage_Base' - - title: productImage - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - description: Common ProductImage properties. - x-internal: false - product_Put_Collection: - title: product_Put_Collection - description: The model for batch updating products. - x-internal: false - allOf: - - items: - $ref: '#/components/schemas/product_Base' - x-examples: - example-1: - - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: list - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - type: array - config_Full: - title: config_Full - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - x-internal: false - adjusters_Full: - title: adjusters_Full - type: object - properties: - price: - $ref: '#/components/schemas/adjuster_Full' - weight: - $ref: '#/components/schemas/adjuster_Full' - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - x-internal: false - variant_Base: - title: variant_Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - description: |- - Variant properties used on: - * `/catalog/products/variants` - * `/catalog/variants` - x-internal: false - product_Base: - title: product_Base - type: object - description: |- - Shared `Product` properties used in: - * `POST` - * `PUT` - * `GET` - x-internal: false - x-examples: - example-1: - id: 0 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - channels: - - 1 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability_description: string - availability: available - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - properties: - name: - maxLength: 250 - minLength: 1 - type: string - description: | - A unique product name. - example: Smith Journal 13 - x-required: - - post - type: - type: string - description: | - The product type. One of: `physical` - a physical stock unit, `digital` - a digital download. - example: physical - enum: - - physical - - digital - x-required: - - post - sku: - maxLength: 255 - minLength: 0 - type: string - description: | - A unique user-defined product code/stock keeping unit (SKU). - example: SM-13 - description: - type: string - description: | - The product description, which can include HTML formatting. - example: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Weight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store - format: float - width: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Width of the product, which can be used when calculating shipping costs. - format: float - depth: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Depth of the product, which can be used when calculating shipping costs. - format: float - height: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Height of the product, which can be used when calculating shipping costs. - format: float - price: - minimum: 0 - type: number - description: | - The price of the product. The price should include or exclude tax, based on the store settings. - format: float - cost_price: - minimum: 0 - type: number - description: | - The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store. - format: float - retail_price: - minimum: 0 - type: number - description: | - The retail cost of the product. If entered, the retail cost price will be shown on the product page. - format: float - sale_price: - minimum: 0 - type: number - description: | - If entered, the sale price will be used instead of value in the price field when calculating the product's cost. - format: float - map_price: - type: number - description: Minimum Advertised Price - tax_class_id: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) - product_tax_code: - maxLength: 255 - minLength: 0 - type: string - description: | - Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation. - categories: - type: array - description: | - An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values. - x-required: - - post - items: - type: integer - channels: - type: array - description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' - items: - type: number - example: 1 - brand_id: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - A product can be added to an existing brand during a product /PUT or /POST. - inventory_level: - maximum: 2147483647 - minimum: 0 - type: integer - description: | - Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. - inventory_warning_level: - maximum: 2147483647 - minimum: 0 - type: integer - description: | - Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the `inventory_tracking` field) for this to take any effect. - inventory_tracking: - type: string - description: | - The type of inventory tracking for the product. Values are: `none` - inventory levels will not be tracked; `product` - inventory levels will be tracked using the `inventory_level` and `inventory_warning_level` fields; `variant` - inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels. - enum: - - none - - product - - variant - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: float - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the product has free shipping. If `true`, the shipping cost for the product will be zero. - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the product will be displayed. If `false`, the product will be hidden from view. - is_featured: - type: boolean - description: | - Flag to determine whether the product should be included in the `featured products` panel when viewing the store. - related_products: - type: array - description: | - An array of IDs for the related products. - items: - type: integer - warranty: - maxLength: 65535 - minLength: 0 - type: string - description: | - Warranty information displayed on the product page. Can include HTML formatting. - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: | - The BIN picking number for the product. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - upc: - type: string - maxLength: 32 - minLength: 0 - description: | - The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the product when searching the store. - availability_description: - maxLength: 255 - minLength: 0 - type: string - description: | - Availability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.' - availability: - type: string - description: | - Availability of the product. (Corresponds to the product's [Purchasability](https://support.bigcommerce.com/s/article/Adding-Products-v3?language=en_US#sections) section in the control panel.) Supported values: `available` - the product is available for purchase; `disabled` - the product is listed on the storefront, but cannot be purchased; `preorder` - the product is listed for pre-orders. - enum: - - available - - disabled - - preorder - gift_wrapping_options_type: - type: string - description: | - Type of gift-wrapping options. Values: `any` - allow any gift-wrapping options in the store; `none` - disallow gift-wrapping on the product; `list` – provide a list of IDs in the `gift_wrapping_options_list` field. - enum: - - any - - none - - list - gift_wrapping_options_list: - type: array - description: | - A list of gift-wrapping option IDs. - items: - type: integer - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results. - condition: - type: string - description: | - The product condition. Will be shown on the product page if the `is_condition_shown` field's value is `true`. Possible values: `New`, `Used`, `Refurbished`. - enum: - - New - - Used - - Refurbished - is_condition_shown: - type: boolean - description: | - Flag used to determine whether the product condition is shown to the customer on the product page. - order_quantity_minimum: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The minimum quantity an order must contain, to be eligible to purchase this product. - order_quantity_maximum: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The maximum quantity an order can contain when purchasing the product. - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the product page. If not defined, the product name will be used as the meta title. - meta_keywords: - type: array - description: | - Custom meta keywords for the product page. If not defined, the store's default keywords will be used. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the product page. If not defined, the store's default meta description will be used. - view_count: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The number of times the product has been viewed. - preorder_release_date: - type: string - description: | - Pre-order release date. See the `availability` field for details on setting a product's availability to accept pre-orders. - format: date-time - nullable: true - preorder_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the `%%DATE%%` placeholder, which will be substituted for the release date. - is_preorder_only: - type: boolean - description: | - If set to true then on the preorder release date the preorder status will automatically be removed. - If set to false, then on the release date the preorder status **will not** be removed. It will need to be changed manually either in the - control panel or using the API. Using the API set `availability` to `available`. - is_price_hidden: - type: boolean - description: | - False by default, indicating that this product's price should be shown on the product page. If set to `true`, the price is hidden. (NOTE: To successfully set `is_price_hidden` to `true`, the `availability` value must be `disabled`.) - price_hidden_label: - maxLength: 200 - minLength: 0 - type: string - description: | - By default, an empty string. If `is_price_hidden` is `true`, the value of `price_hidden_label` is displayed instead of the price. (NOTE: To successfully set a non-empty string value with `is_price_hidden` set to `true`, the `availability` value must be `disabled`.) - custom_url: - $ref: '#/components/schemas/customUrl_Full' - open_graph_type: - type: string - description: | - Type of product, defaults to `product`. - enum: - - product - - album - - book - - drink - - food - - game - - movie - - song - - tv_show - open_graph_title: - type: string - description: | - Title of the product, if not specified the product name will be used instead. - open_graph_description: - type: string - description: | - Description to use for the product, if not specified then the meta_description will be used instead. - open_graph_use_meta_description: - type: boolean - description: | - Flag to determine if product description or open graph description is used. - open_graph_use_product_name: - type: boolean - description: | - Flag to determine if product name or open graph name is used. - open_graph_use_image: - type: boolean - description: | - Flag to determine if product image or open graph image is used. - brand_name or brand_id: - type: string - description: The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using `brand_name` it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only the `brand_id`. - example: Common Good - gtin: - type: string - description: Global Trade Item Number - mpn: - type: string - description: Manufacturer Part Number - reviews_rating_sum: - type: integer - description: | - The total (cumulative) rating for the product. - example: 3 - reviews_count: - type: integer - description: | - The number of times the product has been rated. - example: 4 - total_sold: - type: integer - description: | - The total quantity of this product sold. - example: 80 - custom_fields: - type: array - items: - $ref: '#/components/schemas/productCustomField_Put' - bulk_pricing_rules: - type: array - items: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - images: - type: array - items: - $ref: '#/components/schemas/productImage_Full' - videos: - type: array - items: - $ref: '#/components/schemas/productVideo_Full' - required: - - name - - type - - weight - - price - metafield_Full: - title: metafield_Full - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - - $ref: '#/components/schemas/metafield_Base' - - type: object - properties: - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID of the resource with which the metafield is associated. - example: 111 - x-required: - - post - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - x-internal: false - productVariant_Put: - title: productVariant_Put - description: The model for a PUT to update variants on a product. - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - product_id: - type: integer - x-required: - - post - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - x-internal: false - errorResponse_409: - title: errorResponse_409 - allOf: - - type: object - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - type: object - properties: - errors: - $ref: '#/components/schemas/detailedErrors' - x-internal: false - errorResponse_422: - title: errorResponse_422 - allOf: - - type: object - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - type: object - properties: - errors: - $ref: '#/components/schemas/detailedErrors' - x-internal: false - productSortOrder: - title: productSortOrder - required: - - product_id - - sort_order - type: object - properties: - product_id: - minimum: 1 - type: integer - description: The ID of the associated product. - example: 99 - sort_order: - minimum: 0 - type: integer - example: 4 - description: The relative priority of the product among other products inside the category. - x-internal: false - betacategory_Full: - type: object - description: Common Category object properties. - title: category_Full - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - required: - - post - name: - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - minLength: 1 - maxLength: 50 - example: Bath - required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example: We offer a wide variety of products perfect for relaxing - views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - minimum: -2147483648 - maximum: 2147483647 - example: 3 - page_title: - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - minLength: 0 - maxLength: 255 - example: Bath - search_keywords: - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - minLength: 0 - maxLength: 255 - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - minLength: 0 - maxLength: 65535 - layout_file: - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. - minLength: 0 - maxLength: 500 - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - x-url: true - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - custom_url: - $ref: '#/components/schemas/betacustomUrl_Full' - required: - - parent_id - - name - x-tags: - - Models - betametaCollection_Full: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: metaCollection_Full - properties: - pagination: - $ref: '#/components/schemas/betapagination_Full' - x-tags: - - Models - betapagination_Full: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: pagination_Full - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - x-tags: - - Models - betametaEmpty_Full: - type: object - title: Response meta - properties: {} - additionalProperties: true - description: Response metadata. - x-tags: - - Models - betaerrorResponse_Full: - allOf: - - $ref: '#/components/schemas/betaerror_Base' - - type: object - properties: - errors: - $ref: '#/components/schemas/betadetailedErrors' - title: errorResponse_Full - x-tags: - - Models - betaerror_Base: - 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 - title: error_Base - x-tags: - - Models - betaerrorNotFound: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: errorNotFound - x-tags: - - Models - betaerrorNoContent: - description: No-content response for the BigCommerce API. - type: object - properties: - status: - description: | - 204 HTTP status code. - type: integer - title: - description: The error title describing the situation. - type: string - type: - type: string - instance: - type: string - title: errorNoContent - x-tags: - - Models - betadetailedErrors: - type: object - title: detailedErrors - properties: {} - additionalProperties: true - x-tags: - - Models - betaerrorResponse_409: - title: errorResponse_409 - allOf: - - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - properties: - errors: - $ref: '#/components/schemas/betadetailedErrors' - type: object - x-tags: - - Models - betaerrorResponse_422: - title: errorResponse_422 - allOf: - - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - properties: - errors: - $ref: '#/components/schemas/betadetailedErrors' - type: object - x-tags: - - Models - custom_url: - type: object - description: The custom URL for the category on the storefront. - title: Custom Url Category - properties: - url: - type: string - description: | - Category URL on the storefront. - x-url: true - minLength: 0 - maxLength: 255 - example: /shoes - required: - - post - - put - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - required: - - post - - put - x-tags: - - Models - betacustomUrl_Full: - type: object - description: The custom URL for the product on the storefront. - title: customUrl_Full - properties: - url: - type: string - description: | - Product URL on the storefront. - x-url: true - minLength: 0 - maxLength: 255 - example: /shoes - required: - - post - - put - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - required: - - post - - put - x-tags: - - Models - CreateCategories: - type: array - items: - allOf: - - $ref: '#/components/schemas/TreeIdCreateData' - - $ref: '#/components/schemas/ParentIdCreateData' - - $ref: '#/components/schemas/CategoryDataPOST' - x-tags: - - Models - title: Create Categories - UpdateCategories: - x-tags: - - Models - type: array - items: - allOf: - - $ref: '#/components/schemas/TreeIdUpdateData' - - $ref: '#/components/schemas/CategoryIdUpdateData' - - $ref: '#/components/schemas/CategoryUuidData' - - $ref: '#/components/schemas/ParentIdUpdateData' - - $ref: '#/components/schemas/CategoryDataPUT' - Category: - x-tags: - - Models - title: Category - allOf: - - $ref: '#/components/schemas/id' - - $ref: '#/components/schemas/parent_id' - - $ref: '#/components/schemas/name' - - $ref: '#/components/schemas/description' - - $ref: '#/components/schemas/views' - - $ref: '#/components/schemas/sort_order' - - $ref: '#/components/schemas/page_title' - - $ref: '#/components/schemas/meta_keywords' - - $ref: '#/components/schemas/meta_description' - - $ref: '#/components/schemas/layout_file' - - $ref: '#/components/schemas/image_url' - - $ref: '#/components/schemas/is_visible' - - $ref: '#/components/schemas/search_keywords' - - $ref: '#/components/schemas/default_product_sort' - - type: object - properties: - url: - $ref: '#/components/schemas/Url' - x-examples: {} - CategoryUuidData: - type: object - x-tags: - - Models - properties: - category_uuid: - type: string - format: uuid - title: category_uuid - CategoryIdUpdateData: - type: object - properties: - category_id: - type: integer - required: - - category_id - x-tags: - - Models - ParentIdCreateData: - type: object - properties: - parent_id: - type: integer - required: - - parent_id - x-tags: - - Models - TreeIdCreateData: - type: object - properties: - tree_id: - type: integer - required: - - tree_id - x-tags: - - Models - ParentIdUpdateData: - type: object - properties: - parent_id: - type: integer - x-tags: - - Models - TreeIdUpdateData: - type: object - x-tags: - - Models - properties: - tree_id: - type: integer - required: - - tree_id - CategoryData: - allOf: - - type: object - properties: - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - image_url: - type: string - url: - $ref: '#/components/schemas/Url' - CategoryDataPUT: - allOf: - - $ref: '#/components/schemas/CategoryData' - - $ref: '#/components/schemas/default_product_sort' - CategoryDataPOST: - allOf: - - $ref: '#/components/schemas/CategoryData' - - $ref: '#/components/schemas/default_product_sort' - required: - - name - - url - Urls: - type: array - items: - $ref: '#/components/schemas/Url' - x-tags: - - Models - Url: - type: object - properties: - path: - type: string - is_customized: - type: boolean - x-tags: - - Models - MetaPagination: - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - example: 246 - minimum: 0 - count: - type: integer - example: 5 - minimum: 0 - per_page: - type: integer - example: 5 - minimum: 0 - current_page: - type: integer - example: 1 - minimum: 1 - total_pages: - type: integer - example: 50 - minimum: 0 - links: - type: object - properties: - previous: - type: string - example: '?limit=5&page=1' - current: - type: string - example: '?limit=5&page=2' - next: - type: string - example: '?limit=5&page=3' - x-tags: - - Models - DetailedErrors: - description: | - Details of errors. - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - ErrorRequest: - type: object - properties: - errors: - type: array - items: - $ref: '#/components/schemas/ErrorBasic' - x-tags: - - Models - ErrorBasic: - type: object - properties: - status: - description: | - The HTTP status code. - type: integer - title: - description: | - The error title describing the particular error. - type: string - type: - type: string - x-tags: - - Models - ErrorAdditional: - type: object - properties: - errors: - $ref: '#/components/schemas/DetailedErrors' - x-tags: - - Models - MetaError: - allOf: - - $ref: '#/components/schemas/ErrorBasic' - - $ref: '#/components/schemas/ErrorAdditional' - x-tags: - - Models - MetaData: - type: object - properties: - total: - type: integer - success: - type: integer - failed: - type: integer - x-tags: - - Models - SuccessNoContentResponse: - type: object - properties: - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - PartialSuccessNoContentResponse: - type: object - properties: - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - PartialSuccessResponse: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - SuccessResponse: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - ErrorResponse: - type: object - properties: - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - Tree: - type: object - properties: - id: - type: integer - name: - type: string - minLength: 1 - maxLength: 255 - channels: - type: array - items: - type: integer - x-tags: - - Models - CategoryNode: - type: object - properties: - id: - type: integer - parent_id: - type: integer - depth: - type: integer - path: - type: array - items: - type: integer - name: - type: string - is_visible: - type: boolean - children: - type: array - items: - $ref: '#/components/schemas/CategoryNode' - x-tags: - - Models - beta4Category: - type: object - properties: - id: - type: integer - parent_id: - type: integer - tree_id: - type: integer - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - default_product_sort: - type: string - image_url: - type: string - custom_url: - $ref: '#/components/schemas/CustomUrl' - x-tags: - - Models - beta4CategoryData: - type: object - properties: - tree_id: - type: integer - parent_id: - type: integer - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - default_product_sort: - type: string - image_url: - type: string - custom_url: - $ref: '#/components/schemas/CustomUrl' - x-tags: - - Models - CustomUrl: - type: object - properties: - url: - type: string - is_customized: - type: boolean - x-tags: - - Models - MetaPaginationObject: - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - example: 246 - minimum: 0 - count: - type: integer - example: 5 - minimum: 0 - per_page: - type: integer - example: 5 - minimum: 0 - current_page: - type: integer - example: 1 - minimum: 1 - total_pages: - type: integer - example: 50 - minimum: 0 - links: - type: object - properties: - next: - type: string - example: '?limit=5&page=2' - current: - type: string - example: '?limit=5&page=1' - x-tags: - - Models - beta4DetailedErrors: - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - 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 - x-tags: - - Models - beta4ErrorResponse: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - errors: - $ref: '#/components/schemas/beta4DetailedErrors' - x-tags: - - Models - ProductsChannelCount: - type: object - description: The count of product in the channels. - properties: - channel_id: - description: Channel ID. - type: integer - minimum: 1 - product_count: - type: integer - minimum: 0 - x-tags: - - Models - ProductsCategoriesCount: - properties: - product_id: - type: integer - minimum: 1 - channels: - type: array - items: - $ref: '#/components/schemas/CategoriesCount' - x-tags: - - Models - CategoriesCount: - properties: - channel_id: - type: integer - minimum: 1 - category_count: - type: integer - minimum: 0 - x-tags: - - Models - ProductChannelAssignment: - properties: - product_id: - type: integer - channel_id: - type: integer - x-tags: - - Models - ProductCategoryAssignment: - properties: - product_id: - type: integer - category_id: - type: integer - x-tags: - - Models - beta5DetailedErrors: - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - beta5ErrorResponse: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - errors: - $ref: '#/components/schemas/beta5DetailedErrors' - x-tags: - - Models - default_product_sort: - title: default_product_sort - type: object - properties: - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - name: - title: name - type: object - properties: - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - description: - title: description - type: object - properties: - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - title: views - type: object - properties: - views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - title: sort_order - type: object - properties: - sort_order: - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - title: page_title - type: object - properties: - page_title: - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - title: search_keywords - type: object - properties: - search_keywords: - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - title: meta_keywords - type: object - properties: - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - layout_file: - title: layout_file - type: object - properties: - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. - example: category.html - is_visible: - title: is_visible - type: object - properties: - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - image_url: - title: image_url - type: object - properties: - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - meta_description: - title: meta_description - type: object - properties: - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - id: - title: id - type: object - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - title: parent_id - type: object - properties: - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - responses: - BrandCollectionResponse: - description: '' - content: - application/json: - schema: - title: Brand Collection Response - type: object - properties: - data: - type: array - items: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - BrandImageUpload: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - BrandResponse: - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - BulkPricingRuleCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/bulkPricingRuleFull_Response' - meta: - $ref: '#/components/schemas/metaCollection_Full' - BulkPricingRuleResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/bulkPricingRuleFull_Response' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - CatalogSummaryResponse: - description: '' - content: - application/json: - schema: - title: Catalog Summary Response - type: object - properties: - data: - title: Catalog Summary - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - CatalogVariantCollectionResponse: - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - $ref: '#/components/schemas/metaCollection_Full' - CategoryCollectionResponse: - description: '' - content: - application/json: - schema: - title: Category Base - type: object - properties: - data: - type: array - items: - type: object - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 19 - parent_id: 0 - name: Garden - description:

This is the garden description

- views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - CategoryResponse: - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - ComplexRuleCollectionResponse: - description: '' - content: - application/json: - schema: - title: Complex Rule Collection Response - type: object - properties: - data: - type: array - items: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Complex Rule Response - ComplexRuleResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - CustomFieldCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - name: Release year - value: '1987' - id: 1 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: '?page=1&limit=50' - current: '?page=1&limit=50' - next: '?page=1&limit=50' - CustomFieldResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - Error404Response: - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - Error422Response: - description: |- - Unprocessable entity. - - Please verify if all requested products are assigned to the category. - - Please verify if all required fields are present in the request body and are filled with values correctly. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - General207Status: - description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - MetafieldCollectionResponse: - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: Common Metafield properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: read - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - MetafieldResponse: - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located - id: 4 - key: location_id - namespace: App Namespace - permission_set: app_only - resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' - meta: {} - ModifierCollectionResponse: - description: '' - content: - application/json: - schema: - title: Modifier Collection Response - type: object - properties: - data: - type: array - items: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Modifier Collection Response return for /GET All Modifiers. - example: - data: - - id: 206 - product_id: 158 - name: Insurance - display_name: Insurace - type: checkbox - required: true - config: - checkbox_label: $5 for insurance - checked_by_default: false - option_values: - - id: 183 - option_id: 206 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 184 - option_id: 206 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ModifierResponse: - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - ModifierValueCollectionResponse: - description: '' - content: - application/json: - schema: - title: Modifier Value Collection Response - type: object - properties: - data: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Returns for GET All Modifier Values on a Product - example: - data: - - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 191 - option_id: 222 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ModifierValueResponse: - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - OptionCollectionResponse: - description: '' - content: - application/json: - schema: - title: Option Collection Response - type: object - properties: - data: - type: array - items: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get all product options - example: - data: - - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - OptionResponse: - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - OptionValueCollectionResponse: - description: '' - content: - application/json: - schema: - title: Option Value Collection Response - type: object - properties: - data: - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get Option Values response. - example: - data: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - meta: - pagination: - total: 4 - count: 4 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - OptionValueResponse: - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - ProductCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - ProductImageCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Image Collection Response - type: object - properties: - data: - type: array - items: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - - id: 382 - product_id: 158 - is_thumbnail: true - sort_order: 0 - description: '' - image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - - id: 383 - product_id: 158 - is_thumbnail: false - sort_order: 0 - description: '' - image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ProductImageResponse: - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - ProductResponse: - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - ProductReviewCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Review Collection Response - type: object - properties: - data: - type: array - items: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaCollection_Full' - ProductReviewResponse: - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: -39218623 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - ProductSortOrderResponse: - description: '' - content: - application/json: - schema: - type: object - ProductVideoCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Video Collection Response - type: object - properties: - data: - type: array - items: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - title: Collection Meta - type: object - description: 'Data about the response, including pagination and collection totals.' - example: - data: - - id: 6 - type: youtube - video_id: PqBTp23RLhI - product_id: 192 - sort_order: 1 - title: Creating and Editing Banners | BigCommerce Tutorials - description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' - length: '01:54' - - id: 7 - type: youtube - video_id: EhYBjzqd-nI - product_id: 192 - sort_order: 2 - title: BigCommerce Company Values - description: |- - These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. - - Join the BigCommerce team and help us build software that changes lives! - - https://www.bigcommerce.com/careers/ - length: '03:30' - - id: 8 - type: youtube - video_id: vAUdo4kRjrU - product_id: 192 - sort_order: 3 - title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce - description: |- - We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: - - “I am given the freedom and trust to make a difference.” - - “Everyone believes in the product and growing the company.” - - “I'm appreciated for the work I do and there is room to grown within the company.” - - Work With Us! - http://www.bigcommerce.com/careers.php - length: '01:37' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ProductVideoResponse: - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - VariantCollectionResponse: - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Collection Meta - type: object - description: 'Data about the response, including pagination and collection totals.' - VariantResponse: - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - betaCategoryCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - title: Category Base - properties: - data: - type: array - items: {} - meta: - $ref: '#/components/schemas/betametaCollection_Full' - examples: - response: - value: - data: - - id: 19 - parent_id: 0 - name: Garden - description: This is the garden description - views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - betaCategoryResponse: - description: '' - content: - application/json: - schema: - type: object - title: Category Response - properties: - data: - $ref: '#/components/schemas/betacategory_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - parameters: - FilterTemplateFileParam: - name: template_file - in: query - description: 'The template file, for example: `pages/home`.' - schema: - type: string - FilterIdParam: - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - FilterSkuParam: - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - FilterNameParam: - name: name - in: query - description: | - Filter items by name. - schema: - type: string - FilterEmailParam: - name: email - in: query - description: | - Filter items by email. - schema: - type: string - FilterSourceParam: - name: source - in: query - description: | - Filter items by source. - schema: - type: string - FilterOrderIdParam: - name: order_id - in: query - description: | - Filter items by order_id. - schema: - type: integer - FilterUpcParam: - name: upc - in: query - description: | - Filter items by upc. - schema: - type: string - FilterPriceParam: - name: price - in: query - description: | - Filter items by price. - schema: - type: number - FilterSalePriceParam: - name: sale_price - in: query - description: | - Filter items by sale_price. - schema: - type: number - FilterRetailPriceParam: - name: retail_price - in: query - description: | - Filter items by retail_price. - schema: - type: number - FilterMapPriceParam: - name: map_price - in: query - description: | - Filter items by map_price. - schema: - type: number - FilterCalculatedPriceParam: - name: calculated_price - in: query - description: | - Filter items by calculated_price. - schema: - type: number - FilterWeightParam: - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - FilterConditionParam: - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - FilterBrandIdParam: - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - FilterDateModifiedParam: - name: date_modified - in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - schema: - type: string - format: date-time - FilterDateCreatedParam: - name: date_created - in: query - description: | - Filter items by date_created. - schema: - type: string - format: date-time - FilterDateLastImportedParam: - name: date_last_imported - in: query - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - schema: - type: string - format: date-time - FilterIsVisibleParam: - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - FilterIsFeaturedParam: - name: is_featured - in: query - description: | - Filter items by is_featured. - schema: - type: integer - FilterIsFreeShippingParam: - name: is_free_shipping - in: query - description: | - Filter items by is_free_shipping. - schema: - type: integer - FilterInventoryLevelParam: - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - FilterInventoryLowParam: - name: inventory_low - in: query - description: | - Filter items by inventory_low. Values: 1, 0. - schema: - type: integer - FilterOutOfStockParam: - name: out_of_stock - in: query - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - schema: - type: integer - FilterTotalSoldParam: - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - ProductFilterTypeParam: - name: type - in: query - description: 'Filter items by type: `physical` or `digital`.' - schema: - type: string - enum: - - digital - - physical - FilterCategoriesParam: - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - FilterKeywordParam: - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - ProductFilterKeywordParam: - name: keyword - in: query - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - schema: - type: string - ProductFilterKeywordContextParam: - name: keyword_context - in: query - description: Set context for a product search. - schema: - type: string - enum: - - shopper - - merchant - FilterStatusParam: - name: status - in: query - description: | - Filter items by status. - schema: - type: integer - FilterIncludeParam: - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - FilterIncludeFieldsParam: - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - FilterExcludeFieldsParam: - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - FilterParentIdParam: - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - FilterPageTitleParam: - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - FilterAvailabilityParam: - name: availability - in: query - description: | - Filter items by availability. Values are: available, disabled, preorder. - schema: - type: string - enum: - - available - - disabled - - preorder - FilterProductIdParam: - name: product_id - in: query - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - schema: - type: string - FilterVariantIdParam: - name: variant_id - in: query - description: | - The ID of the `Variant` whose prices were requested. - schema: - type: integer - FilterCurrencyParam: - name: currency - in: query - description: | - Filter items by currency. - schema: - type: string - format: ISO-4217 - PageParam: - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - LimitParam: - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - DirectionParam: - name: direction - in: query - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - schema: - type: string - enum: - - asc - - desc - ProductSortParam: - name: sort - in: query - description: | - Field name to sort by. - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - ProductIdParam: - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - ReviewIdParam: - name: review_id - description: | - The ID of the `review` that is being operated on. - required: true - in: path - schema: - type: integer - ImageIdParam: - name: image_id - description: | - The ID of the `Image` that is being operated on. - required: true - in: path - schema: - type: integer - VideoIdParam: - name: id - description: The BigCommerce ID of the `Video` - required: true - in: path - schema: - type: integer - ComplexRuleIdParam: - name: complex_rule_id - description: | - The ID of the `ComplexRule`. - required: true - in: path - schema: - type: integer - ConfigurableFieldIdParam: - name: configurable_field_id - description: | - The ID of the `ConfigurableField`. - required: true - in: path - schema: - type: integer - CustomFieldIdParam: - name: custom_field_id - description: | - The ID of the `CustomField`. - required: true - in: path - schema: - type: integer - BulkPricingRuleIdParam: - name: bulk_pricing_rule_id - description: | - The ID of the `BulkPricingRule`. - required: true - in: path - schema: - type: integer - ModifierIdParam: - name: modifier_id - description: | - The ID of the `Modifier`. - required: true - in: path - schema: - type: integer - ValueIdParam: - name: value_id - description: | - The ID of the `Modifier/Option Value`. - required: true - in: path - schema: - type: integer - OptionIdParam: - name: option_id - description: | - The ID of the `Option`. - required: true - in: path - schema: - type: integer - VariantIdParam: - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - CategoryIdParam: - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - BrandIdParam: - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - MetafieldIdParam: - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - MetafieldKeyParam: - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - MetafieldNamespaceParam: - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - OrderIdParam: - name: order_id - in: path - description: | - The ID of the `Order` to which the transactions belong. - required: true - schema: - type: integer - 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' - product_id: - name: product_id - in: query - description: |- - A comma-separated list of ids of Products whose prices were requested. For example: - `?product_id=:id` - `?product_id:in=77,80,81` - schema: - type: string - FilterIdIn: - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdNotIn: - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdMax: - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdMin: - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdGreater: - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdLess: - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - betaFilterTemplateFileParam: - in: query - name: template_file - description: 'The template file, for example: `pages/home`.' - required: false - schema: - type: string - betaFilterIdParam: - name: id - description: | - Filter items by id. - required: false - in: query - schema: - type: integer - betaFilterSkuParam: - name: sku - description: | - Filter items by sku. - required: false - in: query - schema: - type: string - betaFilterNameParam: - name: name - description: | - Filter items by name. - required: false - in: query - schema: - type: string - betaFilterEmailParam: - name: email - description: | - Filter items by email. - required: false - in: query - schema: - type: string - betaFilterSourceParam: - name: source - description: | - Filter items by source. - required: false - in: query - schema: - type: string - betaFilterOrderIdParam: - name: order_id - description: | - Filter items by order_id. - required: false - in: query - schema: - type: integer - betaFilterUpcParam: - name: upc - description: | - Filter items by upc. - required: false - in: query - schema: - type: string - betaFilterPriceParam: - name: price - description: | - Filter items by price. - required: false - in: query - schema: - type: number - betaFilterSalePriceParam: - name: sale_price - description: | - Filter items by sale_price. - required: false - in: query - schema: - type: number - betaFilterRetailPriceParam: - name: retail_price - description: | - Filter items by retail_price. - required: false - in: query - schema: - type: number - betaFilterMapPriceParam: - name: map_price - description: | - Filter items by map_price. - required: false - in: query - schema: - type: number - betaFilterCalculatedPriceParam: - name: calculated_price - description: | - Filter items by calculated_price. - required: false - in: query - schema: - type: number - betaFilterWeightParam: - name: weight - description: | - Filter items by weight. - required: false - in: query - schema: - type: number - betaFilterConditionParam: - name: condition - description: | - Filter items by condition. - required: false - in: query - schema: - type: string - enum: - - new - - used - - refurbished - betaFilterBrandIdParam: - name: brand_id - description: | - Filter items by brand_id. - required: false - in: query - schema: - type: integer - betaFilterDateModifiedParam: - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - required: false - in: query - schema: - type: string - format: date-time - betaFilterDateCreatedParam: - name: date_created - description: | - Filter items by date_created. - required: false - in: query - schema: - type: string - format: date-time - betaFilterDateLastImportedParam: - name: date_last_imported - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false - in: query - schema: - type: string - format: date-time - betaFilterIsVisibleParam: - name: is_visible - description: 'Filter items by if visible on the storefront. ' - required: false - in: query - schema: - type: boolean - betaFilterIsFeaturedParam: - name: is_featured - description: | - Filter items by is_featured. - required: false - in: query - schema: - type: integer - betaFilterIsFreeShippingParam: - name: is_free_shipping - description: | - Filter items by is_free_shipping. - required: false - in: query - schema: - type: integer - betaFilterInventoryLevelParam: - name: inventory_level - description: | - Filter items by inventory_level. - required: false - in: query - schema: - type: integer - betaFilterInventoryLowParam: - name: inventory_low - description: | - Filter items by inventory_low. Values: 1, 0. - required: false - in: query - schema: - type: integer - betaFilterOutOfStockParam: - name: out_of_stock - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - required: false - in: query - schema: - type: integer - betaFilterTotalSoldParam: - name: total_sold - description: | - Filter items by total_sold. - required: false - in: query - schema: - type: integer - betaProductFilterTypeParam: - name: type - description: 'Filter items by type: `physical` or `digital`.' - required: false - in: query - schema: - type: string - enum: - - digital - - physical - betaFilterCategoriesParam: - name: categories - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - required: false - in: query - schema: - type: integer - betaFilterKeywordParam: - name: keyword - description: 'Filter items by keywords. eg. new, towel, bath' - required: false - in: query - schema: - type: string - betaProductFilterKeywordParam: - name: keyword - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - required: false - in: query - schema: - type: string - betaProductFilterKeywordContextParam: - name: keyword_context - description: Set context for a product search. - required: false - in: query - schema: - type: string - enum: - - shopper - - merchant - betaFilterStatusParam: - name: status - description: | - Filter items by status. - required: false - in: query - schema: - type: integer - betaFilterIncludeParam: - name: include - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - required: false - in: query - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - betaFilterIncludeFieldsParam: - name: include_fields - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - required: false - in: query - schema: - type: string - betaFilterExcludeFieldsParam: - name: exclude_fields - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - required: false - in: query - schema: - type: string - betaFilterParentIdParam: - name: parent_id - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - required: false - in: query - schema: - type: integer - betaFilterPageTitleParam: - name: page_title - description: | - Filter items by page_title. - required: false - in: query - schema: - type: string - betaFilterAvailabilityParam: - name: availability - description: | - Filter items by availability. Values are: available, disabled, preorder. - required: false - in: query - schema: - type: string - enum: - - available - - disabled - - preorder - betaFilterProductIdParam: - name: product_id - in: query - required: false - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - schema: - type: string - betaFilterVariantIdParam: - name: variant_id - in: query - required: false - description: | - The ID of the `Variant` whose prices were requested. - schema: - type: integer - betaFilterCurrencyParam: - name: currency - description: | - Filter items by currency. - required: false - in: query - schema: - type: string - format: ISO-4217 - betaPageParam: - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer - betaLimitParam: - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer - betaDirectionParam: - name: direction - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - required: false - in: query - schema: - type: string - enum: - - asc - - desc - betaProductSortParam: - name: sort - description: | - Field name to sort by. - required: false - in: query - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - betaFilterIdIn: - in: query - name: 'id:in' - schema: - type: array - items: - type: integer - betaFilterIdNotIn: - in: query - name: 'id:not_in' - schema: - type: array - items: - type: integer - betaFilterIdMax: - in: query - name: 'id:max' - schema: - type: array - items: - type: integer - betaFilterIdMin: - in: query - name: 'id:min' - schema: - type: array - items: - type: integer - betaFilterIdGreater: - in: query - name: 'id:greater' - schema: - type: array - items: - type: integer - betaFilterIdLess: - in: query - name: 'id:less' - schema: - type: array - items: - type: integer - securitySchemes: - X-Auth-Token: - name: X-Auth-Token - description: |- - ### OAuth scopes - - | UI Name | Permission | Parameter | - |:--------|:-----------|:----------| - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | - - ### Authentication header - - | Header | Argument | Description | - |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | - - ### Further reading - - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). - - For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). - - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). - type: apiKey - in: header - +openapi: '3.0.3' +info: + title: Catalog + description: |- + The Catalog API allows you to manage products, categories, bulk pricing rules, and more. To learn more about catalog resources see [Catalog Overview](/api-docs/store-management/catalog/catalog-overview). + + - [Authentication](#authentication) + - [Resources](#resources) + + ## Resources + + ### Webhooks + * [Category](/api-docs/store-management/webhooks/events#category) + + ### Related Endpoints + * [Catalog API](/docs/rest-management/catalog) + + Manage channel-specific categories. + + Create and manage category trees for BigCommerce stores. + + Create and manage products assignments. + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Brands + - name: Brand Images + - name: Brand Metafields + - name: Category + - name: Categories + - name: Categories Batch + - name: Category Metafields + - name: Category Images + - name: Product Sort Order + - name: Products + - name: Product Bulk Pricing Rules + - name: Product Complex Rules + - name: Product Custom Fields + - name: Product Images + - name: Product Metafields + - name: Product Modifiers + - name: Product Modifier Values + - name: Product Modifier Images + - name: Product Options + - name: Product Option Values + - name: Product Reviews + - name: Product Variants + - name: Product Variants Metafields + - name: Product Variant Options + - name: Product Variant Option Values + - name: Product Videos + - name: Products Channel Assignments + - name: Products Category Assignments + - name: Summary + - name: Variants + - name: Category Trees +paths: + '/catalog/products': + get: + tags: + - Products + summary: Get All Products + description: Returns a list of **Products**. Optional filter parameters can be passed in. + operationId: getProducts + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: upc + in: query + description: | + Filter items by upc. + schema: + type: string + - name: price + in: query + description: | + Filter items by price. + schema: + type: number + - name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + - name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + - name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + - name: date_modified + in: query + description: 'Filter items by `date_modified`. ' + schema: + type: string + format: date-time + - name: 'date_modified:max' + in: query + description: 'Filter items by `date_modified`. For example, `date_modified:max=2020-06-15`.' + schema: + type: string + - name: 'date_modified:min' + in: query + description: 'Filter items by `date_modified`. For example, `date_modified:min=2018-06-15`.' + schema: + type: string + - name: date_last_imported + in: query + description: Filter items by date_last_imported. + schema: + type: string + format: date-time + - name: 'date_last_imported:max' + in: query + description: 'Filter items by date_last_imported. For example, `date_last_imported:max=2020-06-15`.' + schema: + type: string + - name: 'date_last_imported:min' + in: query + description: 'Filter items by date_last_imported. For example, `date_last_imported:min=2018-06-15`.' + schema: + type: string + - name: is_visible + in: query + description: Filter items based on whether the product is currently visible on the storefront. + schema: + type: boolean + - name: is_featured + in: query + description: 'Filter items by is_featured. `1` for true, `0` for false.' + schema: + type: integer + enum: + - 1 + - 0 + - name: is_free_shipping + in: query + description: 'Filter items by is_free_shipping. `1` for true, `0` for false.' + schema: + type: integer + - name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + - name: 'inventory_level:in' + in: query + schema: + type: integer + - name: 'inventory_level:not_in' + in: query + schema: + type: integer + - name: 'inventory_level:min' + in: query + schema: + type: integer + - name: 'inventory_level:max' + in: query + schema: + type: integer + - name: 'inventory_level:greater' + in: query + schema: + type: integer + - name: 'inventory_level:less' + in: query + schema: + type: integer + - name: inventory_low + in: query + description: | + Filter items by inventory_low. Values: 1, 0. + schema: + type: integer + - name: out_of_stock + in: query + description: | + Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. + schema: + type: integer + - name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + - name: type + in: query + description: Filter items by type. + schema: + type: string + enum: + - digital + - physical + - name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + - name: keyword + in: query + description: Filter items by keywords found in the `name` or `sku` fields + schema: + type: string + - name: keyword_context + in: query + description: Set context used by the search algorithm to return results targeted towards the specified group. Use `merchant` to help merchants search their own catalog. Use `shopper` to return shopper-facing search results. + schema: + type: string + enum: + - shopper + - merchant + - name: status + in: query + description: | + Filter items by status. + schema: + type: integer + - name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: availability + in: query + description: | + Filter items by availability. Values are: available, disabled, preorder. + schema: + type: string + enum: + - available + - disabled + - preorder + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: direction + in: query + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + schema: + type: string + enum: + - asc + - desc + - name: sort + in: query + description: | + Field name to sort by. Note: Since `id` increments when new products are added, you can use that field to sort by product create date. + schema: + type: string + enum: + - id + - name + - sku + - price + - date_modified + - date_last_imported + - inventory_level + - is_visible + - total_sold + - name: 'categories:in' + in: query + description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' + schema: + type: integer + - name: sku + in: query + description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' + schema: + type: string + - name: 'sku:in' + in: query + description: Filter items by SKU. + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + put: + tags: + - Products + summary: Update Products (Batch) + description: |- + Updates products in batches. Batches are limited to 10 products. + + **Required Fields** + * `id` - product `id` is required for batch updates to products. + + **Read-Only Fields** + - `id` + - `date_created` + - `date_modified` + - `calculated_price` + - `base_variant_id` + operationId: updateProducts + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Put_Collection' + examples: + example-1: + value: + - name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + examples: + example-1: + value: + data: + - id: 1 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: + pagination: + total: 36 + count: 36 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: string + current: '?page=1&limit=50' + next: string + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: '`Product` was in conflict with another product. This is the result of duplicate unique values such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`.' + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse_409' + '413': + description: 413 Request Entity Too Large + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + example: + errors: {} + status: 413 + title: The request payload is too large. The maximum items allowed in the array is 50 + type: /api-docs/getting-started/api-status-codes + '422': + description: '`Product` was not valid. This is the result of missing required fields or invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse_422' + x-codegen-request-body-name: products + post: + tags: + - Products + summary: Create a Product + description: |- + Creates a *Product*. Only one product can be created at a time. + + **Required Fields:** + - `name` + - `type` + - `weight` + - `price` + + **Read-Only Fields** + - `id` + - `date_created` + - `date_modified` + - `calculated_price` + - `base_variant_id` + + **Limits** + - 250 characters product name length. + + **Usage Notes** + * `POST` requests to `/products` accept a `video` array. + * `POST` requests to `/products/{product_id}/videos` accept a `video` object. + operationId: createProduct + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + '207': + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + + '409': + description: | + `Product` was in conflict with another product. This is the result of duplicate unique values, such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: product + delete: + tags: + - Products + summary: Delete Products + description: |- + To delete *Product* objects, you must include a filter. This prevents inadvertently deleting all *Product* objects in a store. + + > #### Note + > The maximum number of products you can delete at one time is 250. + + **Example**: + To delete products with the id's of 1,2 and 3, use `DELETE /v3/catalog/products?id:in=1,2,3`. + operationId: deleteProducts + parameters: + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: sku + in: query + description: | + Filter items by sku. + schema: + type: string + - name: price + in: query + description: | + Filter items by price. + schema: + type: number + - name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + - name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + - name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + - name: date_modified + in: query + description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' + schema: + type: string + format: date-time + - name: date_last_imported + in: query + description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: + type: string + format: date-time + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: is_featured + in: query + description: | + Filter items by is_featured. + schema: + type: integer + - name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + - name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + - name: type + in: query + description: 'Filter items by type: `physical` or `digital`.' + schema: + type: string + enum: + - digital + - physical + - name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + - name: keyword + in: query + description: | + Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. + schema: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/products/{product_id}': + get: + tags: + - Products + summary: Get a Product + description: Returns a single *Product*. Optional parameters can be passed in. + operationId: getProductById + parameters: + - name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 174 + name: 1L Le Parfait Jar + type: physical + sku: '' + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 1 + width: 0 + depth: 0 + height: 0 + price: 7.95 + cost_price: 0 + retail_price: 10 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: '' + calculated_price: 7.95 + categories: + - 23 + - 21 + brand_id: 36 + option_set_id: 55 + option_set_display: right + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + reviews_rating_sum: 0 + reviews_count: 0 + total_sold: 7 + fixed_cost_shipping_price: 0 + is_free_shipping: false + is_visible: true + is_featured: false + related_products: + - -1 + warranty: '' + bin_picking_number: '' + layout_file: product.html + upc: '' + mpn: '' + gtin: '' + search_keywords: 'jar, glass' + availability: available + availability_description: '' + gift_wrapping_options_type: any + gift_wrapping_options_list: [] + sort_order: 0 + condition: New + is_condition_shown: false + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: '' + meta_keywords: [] + meta_description: '' + date_created: '2018-08-15T14:48:46+00:00' + date_modified: '2018-09-05T20:42:07+00:00' + view_count: 10 + preorder_release_date: '2018-09-05T20:42:07+00:00' + preorder_message: '' + is_preorder_only: false + is_price_hidden: false + price_hidden_label: '' + custom_url: + url: /all/1l-le-parfait-jar/ + is_customized: true + base_variant_id: 345 + open_graph_type: product + open_graph_title: '' + open_graph_description: '' + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Products + summary: Update a Product + description: | + Updates a *Product*. + + **Read-Only Fields** + - id + - date_created + - date_modified + - calculated_price + - base_variant_id + operationId: updateProduct + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: 12345678905 + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + '201': + description: Created + content: + application/json: + schema: + type: object + properties: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + `Product` was in conflict with another product. This is caused by: duplicate unique values, such as name or SKU; a missing category, brand, or tax_class with which the product is being associated; or a conflicting bulk pricing rule. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: product + delete: + tags: + - Products + summary: Delete a Product + description: Deletes a *Product*. + operationId: deleteProductById + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/images': + get: + tags: + - Product Images + summary: Get All Product Images + description: Returns a list of *Product Images*. Optional parameters can be passed in. + operationId: getProductImages + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Collection Response + type: object + properties: + data: + type: array + items: + title: Product Image + type: object + allOf: + - $ref: '#/components/schemas/productImage_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + - id: 382 + product_id: 158 + is_thumbnail: true + sort_order: 0 + description: '' + image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + - id: 383 + product_id: 158 + is_thumbnail: false + sort_order: 0 + description: '' + image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '204': + description: | + There are not any images on this product. + content: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Images + summary: Create a Product Image + description: |- + Creates a *Product Image*. + + **Required Fields** + - `image_file`, or + - `image_url` + + **Usage Notes** + - `image_url` - `255` character limit + - For file uploads, use the `multipart/form-data` media type + - Only one image at a time can be created + - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. + operationId: createProductImage + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Image Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + multipart/form-data: + schema: + title: Product Image Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + A `multipart/form-data` media type. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: |- + Unprocessable Entity. + + May occur if the `Content-Type` header is set to `multipart/form-data` rather than `application/json` when creating a product image using `image_url`. + content: + application/json: + schema: + required: + - status + - title + - type + type: object + properties: + status: + type: number + title: + minLength: 1 + type: string + type: + minLength: 1 + type: string + description: '' + example: + status: 422 + title: image_url must be present if uploading by url + type: /api-docs/getting-started/api-status-codes + x-codegen-request-body-name: productImage + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/images/{image_id}': + get: + tags: + - Product Images + summary: Get a Product Image + description: Returns a single *Product Image*. Optional parameters can be passed in. + operationId: getProductImageById + parameters: + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + $ref: '#/components/schemas/productImage_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Images + summary: Update a Product Image + description: |- + Updates a *Product Image*. + + **Usage Notes** + - `image_url` - `255` character limit + - For file uploads, send a POST request using the `multipart/form-data` media type + operationId: updateProductImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productImage_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '201': + description: Created + content: + application/json: + schema: + type: object + properties: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productImage + delete: + tags: + - Product Images + summary: Delete a Product Image + description: Deletes a *Product Image*. + operationId: deleteProductImage + parameters: + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ImageIdParam' + '/catalog/products/{product_id}/videos': + get: + tags: + - Product Videos + summary: Get All Product Videos + description: Returns a list of *Product Videos*. Optional parameters can be passed in. + operationId: getProductVideos + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productVideo_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + type: youtube + video_id: PqBTp23RLhI + product_id: 192 + sort_order: 1 + title: Creating and Editing Banners | BigCommerce Tutorials + description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' + length: '01:54' + - id: 7 + type: youtube + video_id: EhYBjzqd-nI + product_id: 192 + sort_order: 2 + title: BigCommerce Company Values + description: |- + These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. + + Join the BigCommerce team and help us build software that changes lives! + + https://www.bigcommerce.com/careers/ + length: '03:30' + - id: 8 + type: youtube + video_id: vAUdo4kRjrU + product_id: 192 + sort_order: 3 + title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce + description: |- + We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: + + “I am given the freedom and trust to make a difference.” + + “Everyone believes in the product and growing the company.” + + “I'm appreciated for the work I do and there is room to grown within the company.” + + Work With Us! + http://www.bigcommerce.com/careers.php + length: '01:37' + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Videos + summary: Create a Product Video + description: |- + Creates a *Product Video*. + + **Required Fields** + * video_id + + **Read-Only Fields** + * id + + Publicly accessible URLs are valid parameters. + Videos must be loaded through YouTube at this time. + operationId: createProductVideo + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Video Post + description: | + The model for a POST to create a video on a product. + allOf: + - title: Product Video Base + description: Common Product Video properties. + properties: + title: + maxLength: 255 + minLength: 0 + type: string + example: Writing Great Documentation + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + example: A video about documenation + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + example: 1 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + - properties: + video_id: + type: string + maxLength: 25 + minLength: 0 + description: | + The ID of the video on a host site. + x-required: + - post + example: z3fRu9pkuXE + type: object + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productVideo + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/videos/{id}': + get: + tags: + - Product Videos + summary: Get a Product Video + description: Returns a single *Product Video*. Optional parameters can be passed in. + operationId: getProductVideoById + parameters: + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + $ref: '#/components/schemas/productVideo_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Videos + summary: Update a Product Video + description: |- + Updates a *Product Video. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateProductVideo + parameters: + - $ref: '#/components/parameters/ContentType' + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Product Video Put + description: | + The model for a PUT to update a video on a product. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productVideo + delete: + tags: + - Product Videos + summary: Delete a Product Video + description: Deletes a *Product Video*. + operationId: deleteProductVideo + parameters: + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VideoIdParam' + '/catalog/products/{product_id}/variants': + get: + tags: + - Product Variants + summary: Get All Product Variants + description: Returns a list of product *Variants*. Optional parameters can be passed in. + operationId: getVariantsByProductId + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 382 + product_id: 192 + sku: SMIT + sku_id: 348 + price: 10 + calculated_price: 10 + sale_price: 8 + retail_price: 10 + map_price: {} + weight: 4 + calculated_weight: 2 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 0 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 174 + label: Beige + option_id: 220 + option_display_name: Color + - id: 383 + product_id: 192 + sku: SMIT-1 + sku_id: 349 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 175 + label: Grey + option_id: 220 + option_display_name: Color + - id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variants + summary: Create a Product Variant + description: |- + Creates a *Product Variant*. + + **Required Fields** + * sku + * option_values + + **Read-Only Fields** + * id + + **Limits** + * 600 SKUs per product limit. + * 255 characters SKU length limit. + + Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. + operationId: createVariant + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productVariant_Post' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + examples: + example-1: + value: + data: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + example-2: + value: + data: + id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Variant + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/variants/{variant_id}': + get: + tags: + - Product Variants + summary: Get a Product Variant + description: Returns a single product *Variant*. Optional parameters can be passed in. + operationId: getVariantById + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variants + summary: Update a Product Variant + description: Updates a product *Variant*. + operationId: updateVariant + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productVariant_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + bin_picking_number: '0' + calculated_price: 85 + calculated_weight: 1 + cost_price: 0 + depth: 22 + fixed_cost_shipping_price: 0 + gtin: '' + height: 14.6 + id: 65 + inventory_level: 0 + inventory_warning_level: 0 + is_free_shipping: false + map_price: 0 + mpn: TR-SML02 + option_values: [] + price: 89 + product_id: 81 + purchasing_disabled: true + purchasing_disabled_message: This item is not available. + retail_price: 89 + sale_price: 85 + sku: OTS + sku_id: 10 + upc: '' + weight: 1 + width: 2 + meta: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Variant + delete: + tags: + - Product Variants + summary: Delete a Product Variant + description: Deletes a product *Variant*. + operationId: deleteVariantById + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/metafields': + get: + tags: + - Product Variants Metafields + summary: Get All Product Variant Metafields + description: Returns a list of product variant *Metafields*. Optional parameters can be passed in. + operationId: getVariantMetafieldsByProductIdAndVariantId + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/categoriesTree_Resp' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variants Metafields + summary: Create a Product Variant Metafield + description: |- + Creates a product variant *Metafield*. + + **Required Fields:** + * permission_set + * namespace + * key + * value + + **Read-Only Fields** + * id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createVariantMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: variant + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique-key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': + get: + tags: + - Product Variants Metafields + summary: Get a Product Variant Metafields + description: Returns a single product variant *Metafield*. Optional parameters can be passed in. + operationId: getVariantMetafieldByProductIdAndVariantId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: variant + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variants Metafields + summary: Update Product Variant Metafields + description: "Updates a product variant *Metafield*.\n\n**Required Fields:**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " + operationId: updateVariantMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: variant + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Product Variants Metafields + summary: Delete a Variant Metafield + description: Deletes a product variant *Metafield*. + operationId: deleteVariantMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/image': + post: + tags: + - Product Variants + summary: Create a Variant Image + description: |- + Creates a *Variant Image*. + + The image will show on the storefront when the value is selected. + + **Required Fields** + - image_file: Form posts. Files larger than 1 MB are not accepted + - image_url: Any publicly available URL + operationId: createVariantImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + multipart/form-data: + schema: + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + required: false + responses: + '200': + description: '`image_url` is returned for both `image_file` and `image_url`.' + content: + application/json: + schema: + title: Image Response + type: object + properties: + data: + title: Resource Image + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + example: + data: + image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Image was not valid. This is the result of a missing `image_file` field or of an incorrect file type. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '500': + description: Returns for an `image_file` larger than 1 MB. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/options': + get: + tags: + - Product Variant Options + summary: Get All Product Variant Options + description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. ' + operationId: getOptions + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productOption_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get all product options + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variant Options + summary: Create a Product Variant Option + description: |- + Creates a *Variant Option*. + + **Required Fields** + * display_name + * type + * option_values + + **Read-Only Fields** + * id + + **Limits** + * 255 characters option name length. + + **Notes** + + * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. + * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. + * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. + * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. + operationId: createOption + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Option Post + description: The model for a POST to create options on a product. + allOf: + - title: Option Base + description: Common Option properties. + properties: + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + description: The values for option config can vary based on the Modifier created. + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + x-required: + - post + - put + items: + title: Option Value + allOf: + - title: Option Value Base + description: Common Option Value properties. + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + required: + - label + - sort_order + - properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + type: object + image_url: + type: string + description: Publicly available image url + type: object + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + description: Common Option properties. + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + description: The values for option config can vary based on the Modifier created. + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + x-required: + - post + - put + items: + title: Option Value + allOf: + - title: Option Value Base + description: Common Option Value properties. + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + required: + - label + - sort_order + - properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + type: object + image_url: + type: string + description: Publicly available image url + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + examples: + example-1: + value: + data: + id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: earliest + date_earliest_value: '2022-08-24T00:00:00+00:00' + date_latest_value: '2022-08-27T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: none + sort_order: 1 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + image_url: string + name: Add-a-$5-Donation1535042499-187 + meta: {} + example-2: + value: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + '409': + description: | + Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + Option was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Option + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/options/{option_id}': + get: + tags: + - Product Variant Options + summary: Get a Product Variant Option + description: Returns a single *Variant Option*. Optional parameters can be passed in. + operationId: getOptionById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + $ref: '#/components/schemas/productOption_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variant Options + summary: Update a Product Variant Option + description: |- + Updates a *Variant Option*. + + **Read-Only Fields** + * id + operationId: updateOption + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Option Put + description: The model for a PUT to update options on a product. + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + '409': + description: | + The `Option` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Option` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: option + delete: + tags: + - Product Variant Options + summary: Delete a Product Variant Option + description: Deletes a *Variant Option*. + operationId: deleteOptionById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + '/catalog/products/{product_id}/options/{option_id}/values': + get: + tags: + - Product Variant Option Values + summary: Get All Product Variant Option Values + description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in. + operationId: getOptionValues + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Collection Response + type: object + properties: + data: + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get Option Values response. + example: + data: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + meta: + pagination: + total: 4 + count: 4 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Variant Option Values + summary: Create a Product Variant Option Value + description: |- + Creates a *Variant Option Value*. + + **Required Fields** + * label + * sort_order + + **Read-Only Fields** + * id + + **Limits** + * 250 option values per option limit. + operationId: createOptionValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Option Value Post + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '422': + description: | + The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: OptionValue + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + '/catalog/products/{product_id}/options/{option_id}/values/{value_id}': + get: + tags: + - Product Variant Option Values + summary: Get a Product Variant Option Value + description: Returns a single *Variant Option Value*. Optional parameters can be passed in. + operationId: getOptionValueById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variant Option Values + summary: Update a Product Variant Option Value + description: |- + Updates a *Variant Option Value*. + + **Read-Only Fields** + * id + operationId: updateOptionValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + requestBody: + description: | + A BigCommerce `OptionValue` object. + content: + application/json: + schema: + title: Option Value Put + description: The model for a PUT to update option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '404': + description: No option(s) were found with this query. + content: {} + '422': + description: | + The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: OptionValue + delete: + tags: + - Product Variant Option Values + summary: Delete a Product Variant Option Value + description: Deletes a *Variant Option Value*. + operationId: deleteOptionValueById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + - $ref: '#/components/parameters/ValueIdParam' + '/catalog/products/{product_id}/modifiers': + get: + tags: + - Product Modifiers + summary: Get All Product Modifiers + description: Returns a list of all *Product Modifiers*. Optional parameters can be passed in. + operationId: getModifiers + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productModifier_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Modifier Collection Response return for /GET All Modifiers. + example: + data: + - id: 206 + product_id: 158 + name: Insurance + display_name: Insurace + type: checkbox + required: true + config: + checkbox_label: $5 for insurance + checked_by_default: false + option_values: + - id: 183 + option_id: 206 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 184 + option_id: 206 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Modifiers + summary: Create a Product Modifier + description: |- + Creates a *Product Modifier*. + + **Required Fields** + * `required` + * `display_name` + * `type` + + **Read-Only Fields** + * `id` + + **Notes** + It takes two separate requests to create a new checkbox modifier with option values. Perform a request to create a modifier, then perform a second request to update option values. + operationId: createModifier + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Modifier Post + description: The model for a POST to create a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - required: + - display_name + type: object + properties: + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + x-required: + - post + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `Modifier` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Modifier + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}': + get: + tags: + - Product Modifiers + summary: Get a Modifier + description: Returns a single *Product Modifier*. Optional parameters can be passed in. + operationId: getModifierById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + $ref: '#/components/schemas/productModifier_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Modifiers + summary: Update a Modifier + description: Updates a *Product Modifier*. + operationId: updateModifier + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Put + description: The model for a PUT to update a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: 'Part of Modifier Value Response ' + description: Common Modifier properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `Modifier` was in conflict with another modifier or option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Modifier + delete: + tags: + - Product Modifiers + summary: Delete a Modifier + description: Deletes a *Product Modifier*. + operationId: deleteModifierById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values': + get: + tags: + - Product Modifier Values + summary: Get All Modifier Values + description: Returns a list of all product *Modifier Values*. Optional parameters can be passed in. + operationId: getModifierValues + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productModifierOptionValue_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Returns for GET All Modifier Values on a Product + example: + data: + - id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 191 + option_id: 222 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Modifier Values + summary: Create Modifier Value + description: |- + Creates a *Modifier Value*. + + **Required Fields** + * label + * sort_order + + **Read-Only Fields** + * id + operationId: createModifierValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Value Post + description: The model for a POST to create a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '422': + description: | + The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ModifierValue + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': + get: + tags: + - Product Modifier Values + summary: Get a Modifier Value + description: Returns a single *Modifier Value*. Optional parameters can be passed in. + operationId: getModifierValueById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + $ref: '#/components/schemas/productModifierOptionValue_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + security: + - X-Auth-Token: [] + put: + tags: + - Product Modifier Values + summary: Update a Modifier Value + description: |- + Updates a *Modifier Value*. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateModifierValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Value Put + description: The model for a PUT to update a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '422': + description: | + The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ModifierValue + delete: + tags: + - Product Modifier Values + summary: Delete Modifier Value + description: Deletes a *Modifier Value*. + operationId: deleteModifierValueById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + - $ref: '#/components/parameters/ValueIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': + post: + tags: + - Product Modifier Images + summary: Create Modifier Image + description: |- + Creates a *Modifier Image*. + + The image will show on the storefront when the value is selected. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + operationId: createModifierImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + title: Image Response + type: object + properties: + data: + title: Resource Image + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + example: + data: + image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Modifier image was not valid. This is the result of missing `image_file` fields, or of a non-URL value for the `image_file` field. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + - $ref: '#/components/parameters/ValueIdParam' + '/catalog/products/{product_id}/complex-rules': + get: + tags: + - Product Complex Rules + summary: Get Complex Rules + description: Returns a list of all product *Complex Rules*. Optional parameters may be passed in. + operationId: getComplexRules + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Complex Rule Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/complexRule_Base' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Complex Rule Response + example: + data: + - id: 82 + product_id: 195 + sort_order: 0 + enabled: true + stop: false + price_adjuster: + adjuster: relative + adjuster_value: 8 + weight_adjuster: {} + purchasing_disabled: false + purchasing_disabled_message: '' + purchasing_hidden: false + image_url: '' + conditions: + - rule_id: 82 + modifier_id: 221 + modifier_value_id: 175 + variant_id: 1 + combination_id: 0 + - id: 83 + product_id: 195 + sort_order: 1 + enabled: true + stop: false + price_adjuster: {} + weight_adjuster: + adjuster: relative + adjuster_value: 3 + purchasing_disabled: false + purchasing_disabled_message: '' + purchasing_hidden: false + image_url: '' + conditions: + - rule_id: 83 + modifier_id: 221 + modifier_value_id: 174 + variant_id: 1 + combination_id: 0 + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Complex Rules + summary: Create a Complex Rule + description: |- + Creates a product *Complex Rule*. + + **Required Fields** + - modifier_id + - modifier_value_id + - modifier_value_id + - variant_id + + **Read-Only Fields** + - complex_rule_id + - conditions_id + - rule_id + - combination_id + - id + operationId: createComplexRule + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Complex Rule + type: object + properties: + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ComplexRule + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/complex-rules/{complex_rule_id}': + get: + tags: + - Product Complex Rules + summary: Get a Complex Rule + description: Returns a single *Complex Rule*. Optional parameters can be passed in. + operationId: getComplexRuleById + parameters: + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Complex Rules + summary: Update a Complex Rule + description: |- + Updates a *Complex Rule*. + + **Required Fields**: + - none + + **Read-Only Fields**: + - complex_rule_id + - conditions_id + - rule_id + - combination_id + - id + operationId: updateComplexRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + + requestBody: + content: + application/json: + schema: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ComplexRule + delete: + tags: + - Product Complex Rules + summary: Delete a Complex Rule + description: Deletes a product *Complex Rule*. + operationId: deleteComplexRuleById + parameters: + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ComplexRuleIdParam' + '/catalog/products/{product_id}/custom-fields': + get: + tags: + - Product Custom Fields + summary: Get Custom Fields + description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. + operationId: getCustomFields + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - name: Release year + value: '1987' + id: 1 + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: '?page=1&limit=50' + current: '?page=1&limit=50' + next: '?page=1&limit=50' + post: + tags: + - Product Custom Fields + summary: Create a Custom Fields + description: |- + Creates a *Custom Field*. + + **Required Fields:** + - name + - value + + **Read-Only:** + - id + + **Limits** + - 200 custom fields per product limit. + - 255 characters per custom field limit. + operationId: createCustomField + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Custom Field + required: + - name + - value + type: object + properties: + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: CustomField + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/custom-fields/{custom_field_id}': + get: + tags: + - Product Custom Fields + summary: Get a Custom Field + description: Returns a single *Custom Field*. Optional parameters can be passed in. + operationId: getCustomFieldById + parameters: + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productCustomField_Base' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Custom Fields + summary: Update a Custom Field + description: |- + Updates a *Custom Field*. + + **Required Fields** + - none + + **Read-Only** + - id + operationId: updateCustomField + parameters: + - $ref: '#/components/parameters/ContentType' + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: CustomField + delete: + tags: + - Product Custom Fields + summary: Delete a Custom Field + description: Deletes a product *Custom Field*. + operationId: deleteCustomFieldById + parameters: + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + responses: + '204': + description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' + content: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/CustomFieldIdParam' + '/catalog/products/{product_id}/bulk-pricing-rules': + get: + tags: + - Product Bulk Pricing Rules + summary: Get All Bulk Pricing Rules + description: Returns a list of *Bulk Pricing Rules*. Optional parameters can be passed in. + operationId: getBulkPricingRules + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + - id: 84 + quantity_min: 4 + quantity_max: 0 + type: price + amount: 1 + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Bulk Pricing Rules + summary: Create a Bulk Pricing Rule + description: |- + Creates a *Bulk Pricing Rule*. + + **Required Fields** + - quantity_min + - quantity_max + - type + - amount + + **Read-Only Fields** + - id + + **Limits** + - 50 bulk pricing rule per product limit. + operationId: createBulkPricingRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/bulkPricingRule_Full' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + title: Meta + type: object + description: Empty meta object; may be used later. + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: BulkPricingRule + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': + get: + tags: + - Product Bulk Pricing Rules + summary: Get a Bulk Pricing Rule + description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. + operationId: getBulkPricingRuleById + parameters: + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Bulk Pricing Rules + summary: Update a Bulk Pricing Rule + description: |- + Updates a *Bulk Pricing Rule*. + + **Required Fields** + * none + + **Read-Only Fields** + - id + operationId: updateBulkPricingRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Bulk Pricing Rule + required: + - amount + - quantity_max + - quantity_min + - type + type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. + Required in /POST. + example: 10 + x-required: + - post + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + Required in /POST. + example: 50 + x-required: + - post + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + Required in /POST. + example: price + enum: + - price + - percent + - fixed + x-required: + - post + amount: + type: integer + description: |- + The discount can be a fixed dollar amount or a percentage. For a fixed dollar amount enter it as an integer and the response will return as an integer. For percentage enter the amount as the percentage divided by 100 using string format. For example 10% percent would be “.10”. The response will return as an integer. + Required in /POST. + description: Common BulkPricingRule properties + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: BulkPricingRule + delete: + tags: + - Product Bulk Pricing Rules + summary: Delete a Bulk Pricing Rule + description: Deletes a *Bulk Pricing Rule*. + operationId: deleteBulkPricingRuleById + parameters: + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/BulkPricingRuleIdParam' + '/catalog/products/{product_id}/metafields': + get: + tags: + - Product Metafields + summary: Get All Product Metafields + description: Returns a list of *Product Metafields*. Optional parameters can be passed in. + operationId: getProductMetafieldsByProductId + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: product + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Sublocation + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: product + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Metafields + summary: Create a Product Metafield + description: |- + Creates a *Product Metafield*. + + **Required Fields:** + * permission_set + * namespace + * key + * value + + **Read-Only Fields** + * id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createProductMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: product + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: |- + The HTTP status code. + title: + type: string + description: |- + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/metafields/{metafield_id}': + get: + tags: + - Product Metafields + summary: Get a Product Metafield + description: Returns a single *Product Metafield*. Optional parameters can be passed in. + operationId: getProductMetafieldByProductId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Metafields + summary: Update a Product Metafield + description: "Updates a *Product Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified using the API account that created the metafield:\n\t* `namespace`\n\t* `key`\n\t* `permission_set`\n\t* `value`\n\n**Usage Notes**\n* Attempting to modify the `namespace`, `key`, `permission_set`, or `value` field using an API account different from the one used to create those metafields will result in a `403` error message. " + operationId: updateProductMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Product Metafields + summary: Delete a Product Metafield + description: Deletes a *Product Metafield*. + operationId: deleteProductMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/products/{product_id}/reviews': + get: + tags: + - Product Reviews + summary: Get Product Reviews + description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. + operationId: getProductReviews + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: status + in: query + description: 'Filter items by status. `1` for approved, `0` for pending.' + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Collection Response + type: object + properties: + data: + type: array + items: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaCollection_Full' + '204': + description: | + There are no reviews on this product. + content: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Reviews + summary: Create a Product Review + description: |- + Creates a *Product Review*. + + **Required Fields** + - title + - date_reviewed + + **Read-Only Fields** + * id + operationId: createProductReview + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Review Post + description: | + The model for a POST to create a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productReview + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/reviews/{review_id}': + get: + tags: + - Product Reviews + summary: Get a Product Review + description: Returns a single *Product Review*. Optional parameters maybe passed in. + operationId: getProductReviewById + parameters: + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Reviews + summary: Update a Product Review + description: |- + Updates a *Product Review*. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateProductReview + parameters: + - $ref: '#/components/parameters/ContentType' + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + requestBody: + description: | + A BigCommerce `ProductReview` object. + content: + application/json: + schema: + title: Product Review Put + description: | + The model for a PUT to update a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productReview + delete: + tags: + - Product Reviews + summary: Delete a Product Review + description: Deletes a *Product Review*. + operationId: deleteProductReview + parameters: + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ReviewIdParam' + '/catalog/categories': + get: + tags: + - Category + summary: Get All Categories + description: Returns a list of *Categories*. Optional filter parameters can be passed in. + operationId: getCategories + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: 'name:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + - name: 'parent_id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: 'page_title:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Base + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 19 + parent_id: 0 + name: Garden + description:

This is the garden description

+ views: 0 + sort_order: 2 + page_title: page title + meta_keywords: + - meta keyword + meta_description: meta description + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: search keywords + default_product_sort: use_store_settings + custom_url: + url: /garden/ + is_customized: false + - id: 20 + parent_id: 0 + name: Publications + description: '' + views: 0 + sort_order: 4 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /publications/ + is_customized: false + - id: 21 + parent_id: 0 + name: Kitchen + description: '' + views: 0 + sort_order: 3 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /kitchen/ + is_customized: false + - id: 22 + parent_id: 0 + name: Utility + description: '' + views: 0 + sort_order: 5 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /utility/ + is_customized: false + - id: 23 + parent_id: 0 + name: Shop All + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /shop-all/ + is_customized: false + - id: 39 + parent_id: 19 + name: Bath + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /garden/bath/ + is_customized: false + meta: + pagination: + total: 6 + count: 6 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Category + summary: Create a Category + description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." + operationId: createCategory + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Category + type: object + description: Common Category object properties. + properties: + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the category should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '207': + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + '409': + description: | + The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: category + delete: + tags: + - Category + summary: Delete Categories + description: |- + Deletes *Category* objects. At least one filter parameter is required to perform the `DELETE` operation. + + **Usage Notes** + + - Sending a `DELETE`request without specifying a filter parameter will result in a `422` error. + - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a category. + operationId: deleteCategories + parameters: + - name: id + in: query + description: Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: 'name:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: 'parent_id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'page_title:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/categories/{category_id}': + get: + tags: + - Category + summary: Get a Category + description: Returns a single *Category*. Optional parameters can be passed in. + operationId: getCategoryById + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Category + summary: Update a Category + description: |- + Updates a *Category*. + + **Required Fields** + * none + + **Read-Only Fields** + - id + operationId: updateCategory + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Category + type: object + description: Common Category object properties. + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + title: Category + type: object + description: Common Category object properties. + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + meta: + title: Meta + type: object + description: Empty meta object; may be used later. + '207': + $ref: '#/components/responses/General207Status' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: 'The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: 'The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: category + delete: + tags: + - Category + summary: Delete a Category + description: Deletes a *Category*. + operationId: deleteCategoryById + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/categories/{category_id}/metafields': + get: + tags: + - Category Metafields + summary: Get All Category Metafields + description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in. + operationId: getCategoryMetafieldsByCategoryId + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: category + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: category + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Category Metafields + summary: Create a Category Metafield + description: |- + Creates a *Category Metafield*. + + **Required Fields:** + - permission_set + - namespace + - key + - value + + **Read-Only Fields** + - id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createCategoryMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate, unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/categories/{category_id}/metafields/{metafield_id}': + get: + tags: + - Category Metafields + summary: Get a Category Metafield + description: Returns a single *Category Metafield*. Optional parameters can be passed in. + operationId: getCategoryMetafieldByCategoryId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Category Metafields + summary: Update a Category Metafield + description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " + operationId: updateCategoryMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Category Metafields + summary: Delete a Category Metafield + description: Deletes a *Category Metafield*. + operationId: deleteCategoryMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/categories/{category_id}/image': + post: + tags: + - Category Images + summary: Create a Category Image + description: |- + Create a *Category Image*. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + + Only one image at a time can be created. + Limit image size to 1MB. + To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. + operationId: createCategoryImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Image was not valid. This is the result of a missing `image_file` field or an incorrect file type. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + delete: + tags: + - Category Images + summary: Delete a Category Image + description: Deletes a *Cateogory Image*. + operationId: deleteCategoryImage + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/brands': + get: + tags: + - Brands + summary: Get All Brands + description: Returns a list of *Brands*. Optional filter parameters can be passed in. + operationId: getBrands + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/brand_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 35 + name: Sagaform + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: '' + search_keywords: '' + custom_url: + url: /brands/Sagaform.html + is_customized: false + - id: 36 + name: OFS + page_title: OFS + meta_keywords: + - modern + - ' clean' + - ' contemporary' + meta_description: OFS is a modern brand. + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/OFS.html + is_customized: false + - id: 37 + name: Common Good + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/k/screen%20shot%202018-05-07%20at%2012.24.24%20pm_1525785365__65102.png' + search_keywords: '' + custom_url: + url: /brands/Common-Good.html + is_customized: false + - id: 38 + name: BigCommerce + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: '' + search_keywords: '' + custom_url: + url: /bigcommerce/ + is_customized: false + - id: 39 + name: Test Brand One + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/q/apihqggzm__53766.jpg' + search_keywords: '' + custom_url: + url: /test-brand-one/ + is_customized: false + - id: 40 + name: Fog Linen Work + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /fog-linen-work/ + is_customized: false + - id: 41 + name: Barr-Co. + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /barr-co/ + is_customized: false + - id: 42 + name: Thames & Hudson + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /thames-hudson/ + is_customized: false + - id: 43 + name: Able Brewing + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /able-brewing/ + is_customized: false + - id: 44 + name: Chemex + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /chemex/ + is_customized: false + - id: 45 + name: Kinfolk + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /kinfolk/ + is_customized: false + - id: 46 + name: Iris Hantverk + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /iris-hantverk/ + is_customized: false + - id: 47 + name: Gather Journal + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /gather-journal/ + is_customized: false + - id: 48 + name: Openhouse Magazine + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /openhouse-magazine/ + is_customized: false + - id: 49 + name: Smith Journal + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /smith-journal/ + is_customized: false + meta: + pagination: + total: 15 + count: 15 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Brands + summary: Create a Brand + description: |- + Creates a *Brand*. + + **Required Fields** + - name + + **Read-Only Fields** + - id + + **Limits** + - 30,000 brands per store limit + operationId: createBrand + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Brand + type: object + description: Common brand properties. + properties: + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + description: The custom URL for the brand on the storefront. + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + required: + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '207': + $ref: '#/components/responses/General207Status' + '409': + description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: 'Brand was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Brand + delete: + tags: + - Brands + summary: Delete Brands + description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' + operationId: deleteBrands + parameters: + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/brands/{brand_id}': + get: + tags: + - Brands + summary: Get a Brand + description: Returns a single *Brand*. Optional filter parameters can be passed in. + operationId: getBrandById + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + $ref: '#/components/schemas/brand_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Brands + summary: Update a Brand + description: |- + Updates a *Brand*. + + **Required Fields** + - None + + **Read-Only Fields** + - id + + To update a *Brand Image*, send a request with an `image_url`. + operationId: updateBrand + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + example: + - 'modern, clean, contemporary' + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + example: + - 'modern, clean, contemporary' + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '207': + $ref: '#/components/responses/General207Status' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `Brand` was in conflict with another product. This is the result of duplicate unique values, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Brand` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: brand + delete: + tags: + - Brands + summary: Delete a Brand + description: Deletes a *Brand*. + operationId: deleteBrandById + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/brands/{brand_id}/metafields': + get: + tags: + - Brand Metafields + summary: Get All Brand Metafields + description: 'Returns a list of *Brand Metafields*. Optional filter parameters can be passed in. ' + operationId: getBrandMetafieldsByBrandId + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: brand + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Brand location + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: brand + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Brand Metafields + summary: Create a Brand Metafield + description: |- + Creates a *Brand Metafield*. + + **Required Fields** + - permission_set + - namespace + - key + - value + + **Read-Only Fields** + - id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createBrandMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + examples: + example-1: + value: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + example-2: + value: + data: + id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: category + resource_id: 111 + description: Location in the warehouse. + date_created: '2018-05-07T20:14:17+00:00' + date_modified: '2018-05-07T20:14:17+00:00' + meta: {} + example-3: + value: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located. + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/brands/{brand_id}/metafields/{metafield_id}': + get: + tags: + - Brand Metafields + summary: Get a Brand Metafields + description: Returns a *Brand Metafield*. Optional filter parameters can be passed in. + operationId: getBrandMetafieldByBrandId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Brand Metafields + summary: Update a Brand Metafield + description: "Updates a *Brand Metafield*.\n\n**Required Fields** \n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message.\n* The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center." + operationId: updateBrandMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Brand Metafields + summary: Delete a Brand Metafield + description: Deletes a *Brand Metafield*. + operationId: deleteBrandMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/brands/{brand_id}/image': + post: + tags: + - Brand Images + summary: Create a Brand Image + description: |- + Creates a *Brand Image*. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + + **Read-Only Fields** + - id + + Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. + operationId: createBrandImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: 'Image was not valid. This is the result of a missing `image_file` field, or of an incorrect file type. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + delete: + tags: + - Brand Images + summary: Delete a Brand Image + description: Deletes a *Brand Image*. + operationId: deleteBrandImage + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/variants': + get: + tags: + - Variants + summary: Get All Variants + description: Returns a list of all variants in your catalog. Optional parameters can be passed in. + operationId: getVariants + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: sku + in: query + description: | + Filter items by sku. + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: product_id + in: query + description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Variants + summary: Update Variants (Batch) + description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' + operationId: updateVariantsBatch + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Variants Collection Put + type: array + items: + title: Variant Put + type: object + description: | + The model for a PUT to update variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + title: Collection Meta + type: object + properties: + pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + '413': + description: '' + content: + application/json: + example: + errors: {} + status: 413 + title: The request payload is too large. The maximum items allowed in the array is 50 + type: /api-docs/getting-started/api-status-codes + '422': + description: | + This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Variants Batch Error Response + type: object + properties: + batch_errors: + type: array + items: + title: Error Response + type: object + allOf: + - title: Base Error + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + - type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + description: | + Errors during batch usage for the BigCommerce API. + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/summary': + get: + tags: + - Summary + summary: Get a Catalog Summary + description: |- + Returns a lightweight inventory summary from the BigCommerce Catalog. + + The inventory summary includes: + * "inventory_count" + * "variant_count" + * "inventory_value" + * "highest_variant_price" + * "average_variant_price" + * "lowest_variant_price" + * "oldest_variant_date" + * "newest_variant_date" + * "primary_category_id" + * "primary_category_name" + operationId: getCatalogSummary + responses: + '200': + description: '' + content: + application/json: + schema: + title: Catalog Summary Response + type: object + properties: + data: + title: Catalog Summary + type: object + properties: + inventory_count: + type: integer + description: | + A count of all inventory items in the catalog. + example: 2000 + inventory_value: + type: number + description: | + Total value of store's inventory. + format: double + example: 267000 + primary_category_id: + type: integer + description: | + ID of the category containing the most products. + example: 23 + primary_category_name: + type: string + description: | + Name of the category containing the most products. + example: Shop All + variant_count: + type: integer + description: Total number of variants + example: 46 + highest_variant_price: + type: number + description: Highest priced variant + format: double + example: 249 + average_variant_price: + type: number + description: Average price of all variants + format: double + example: 83.07978261 + lowest_variant_price: + type: string + description: Lowest priced variant in the store + example: '7' + oldest_variant_date: + type: string + example: '2018-08-15T00:00:00+00:00' + newest_variant_date: + type: string + example: '2018-08-16T00:00:00+00:00' + description: Catalog Summary object describes a lightweight summary of the catalog. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/categories/{category_id}/products/sort-order': + get: + tags: + - Product Sort Order + summary: Get Product Sort Order + description: |- + Returns a list of products and their sort order for a specific category. + + **Usage Notes** + * Data pairs are displayed in ascending order based on products' `sort_order` values. + * `null` values are allowed for products without specified `sort_order` values. + * Products with `sort_order` value of `null` will be displayed after products with valid numerical values. + * The priorities for determining product sort order on a storefront are the following: + - Priority 1: Manually specified sort order on Category Level (API). + - Priority 2: Manually specified sort order on Product (Global) Level (UI/API). + - Priority 3: Default sorting by Product ID (newly added products go first) (UI/API). + operationId: getsortorders + parameters: + - name: category_id + in: path + description: The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: {} + '404': + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + put: + tags: + - Product Sort Order + summary: Update Product Sort Order + description: Updates sort order of products within a specific category. + operationId: updatesortorder + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/productSortOrder' + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/productSortOrder' + '404': + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + '422': + description: |- + Unprocessable entity. + + Please verify if all requested products are assigned to the category. + + Please verify if all required fields are present in the request body and are filled with values correctly. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/trees/categories': + get: + summary: Get All Categories + description: |- + Returns a list of categories. + + To get a specific category in a tree, provide a category id. + tags: + - Categories Batch + parameters: + - name: 'category_uuid:in' + in: query + schema: + type: string + - name: 'category_uuid:not_in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + - name: 'category_id:not_in' + in: query + schema: + type: string + - name: 'tree_id:in' + in: query + schema: + type: string + - name: 'tree_id:not_in' + in: query + schema: + type: string + - name: 'parent_id:in' + in: query + schema: + type: string + - name: 'parent_id:not_in' + in: query + schema: + type: string + - name: name + in: query + schema: + type: string + - name: 'name:like' + in: query + schema: + type: string + - name: page_title + in: query + schema: + type: string + - name: 'page_title:like' + in: query + schema: + type: string + - name: keyword + in: query + schema: + type: string + - name: is_visible + in: query + schema: + type: boolean + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: include_fields + in: query + schema: + type: string + - name: exclude_fields + in: query + schema: + type: string + responses: + '200': + description: List of categories. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/MetaPagination' + examples: + example-1: + value: + data: + - id: 0 + parent_id: 2 + name: Bath + description:

We offer a wide variety of products perfect for relaxing

+ views: 1050 + sort_order: 3 + page_title: Bath + meta_keywords: + - string + meta_description: string + layout_file: category.html + image_url: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + is_visible: true + search_keywords: string + default_product_sort: use_store_settings + url: + path: string + is_customized: true + meta: + pagination: + total: 246 + count: 5 + per_page: 5 + current_page: 1 + total_pages: 50 + links: + previous: '?limit=5&page=1' + current: '?limit=5&page=2' + next: '?limit=5&page=3' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: getAllCategories + post: + summary: Create Categories + description: |- + Creates new categories. + + Creating a category requires: + - `name` + - `url` + - `tree_id` or `parent_id` + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Categories Batch + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateCategories' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessResponse' + '207': + description: Multi-Status + content: + application/json: + schema: + $ref: '#/components/schemas/PartialSuccessResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '422': + description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: createCategories + put: + summary: Update Categories + description: |- + Updates existing categories. + + To update a specific category in a tree, provide a category id. + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Categories Batch + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateCategories' + responses: + '200': + description: OK + '204': + description: No Content + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessNoContentResponse' + '207': + description: Partial success + content: + application/json: + schema: + $ref: '#/components/schemas/PartialSuccessNoContentResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '422': + description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: updateCategories + delete: + summary: Delete Categories + description: |- + Deletes categories. + + To delete a specific category in a tree, provide a category id. + tags: + - Categories Batch + parameters: + - name: 'category_uuid:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + - name: 'tree_id:in' + in: query + schema: + type: string + - name: 'parent_id:in' + in: query + schema: + type: string + responses: + '204': + description: Categories are deleted + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessNoContentResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '500': + description: Server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: deleteTreeCategories + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/trees': + get: + summary: Get All Category Trees + description: Returns a list of *Category Trees*. + operationId: GetCategoryTrees + parameters: + - name: 'id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '200': + description: List of category trees. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tree' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + example: + data: + - id: 0 + name: string + channels: + - 0 + meta: + pagination: + total: 246 + count: 5 + per_page: 5 + current_page: 1 + total_pages: 50 + links: + next: '?limit=5&page=2' + current: '?limit=5&page=1' + tags: + - Category Trees + put: + summary: Upsert Category Trees + description: | + Upserts *Category Trees*. + + If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. + + **Usage Notes** + * `channel_id` is required to create a *Category Tree*. You can assign one `channel_id` to one category tree. + parameters: + - $ref: '#/components/parameters/ContentType' + operationId: UpsertCategoryTrees + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tree' + example: + - id: 0 + name: string + channels: + - 0 + responses: + '200': + description: Created a category tree. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Tree' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 0 + name: string + channels: + - 0 + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. + '422': + description: The Channel was not valid. See the response for more details. + content: + application/json: + schema: + $ref: '#/components/schemas/beta4ErrorResponse' + example: + status: 0 + title: string + type: string + instance: string + errors: + additionalProp1: string + additionalProp2: string + additionalProp3: string + tags: + - Category Trees + delete: + summary: Delete Category Trees + description: Deletes *Category Trees*. A filter must be supplied with the endpoint. + operationId: DeleteCategoryTrees + parameters: + - name: 'id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + tags: + - Category Trees + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/trees/{tree_id}/categories': + get: + summary: Get a Category Tree + description: Returns a *Category Tree*. + operationId: GetCategoryTreeByTreeId + parameters: + - name: depth + description: Max depth for a tree of categories. + in: query + schema: + type: integer + responses: + '200': + description: Categories tree + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CategoryNode' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + - id: 0 + parent_id: 0 + depth: 0 + path: + - 0 + name: string + is_visible: true + children: + - string + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. + '404': + description: The tree was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/beta4ErrorResponse' + example: + status: 0 + title: string + type: string + instance: string + errors: + additionalProp1: string + additionalProp2: string + additionalProp3: string + tags: + - Category Trees + parameters: + - $ref: '#/components/parameters/Accept' + - schema: + type: string + name: tree_id + in: path + required: true + '/catalog/products/channel-assignments': + get: + summary: Get Products Channel Assignments + description: Returns a list of products channel assignments. + operationId: GetProductsChannelAssignments + tags: + - Products Channel Assignments + parameters: + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '200': + description: Collection of channel assignments. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ProductChannelAssignment' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + put: + summary: Create Products Channel Assignments + description: Creates products channel assignments. + operationId: CreateProductsChannelAssignments + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Products Channel Assignments + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductChannelAssignment' + responses: + '204': + description: Updated + '422': + description: Error response for batch PUT of Channel Assignments. Includes the errors for each reference id. + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + delete: + summary: Delete Products Channel Assignments + description: Delete products channel assignments. A filter must be supplied. + operationId: DeleteProductsChannelAssignments + tags: + - Products Channel Assignments + parameters: + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + '422': + description: At least one filter must be provided in order to delete channel assignments + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/products/category-assignments': + get: + summary: Get Products Category Assignments + description: Returns a list of products category assignments. + operationId: GetProductsCategoryAssignments + tags: + - Products Category Assignments + parameters: + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + responses: + '200': + description: Collection of category assignments. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ProductCategoryAssignment' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + put: + summary: Create Products Category Assignments. + description: Creates products category assignments. + operationId: CreateProductsCategoryAssignments + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Products Category Assignments + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductCategoryAssignment' + responses: + '204': + description: Updated + '422': + description: Error response for batch PUT of Category Assignments. Includes the errors for each reference id. + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + delete: + summary: Delete Products Category Assignments + description: Deletes products category assignments. A filter must be supplied. + operationId: DeleteProductsCategoryAssignments + tags: + - Products Category Assignments + parameters: + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + '422': + description: At least one filter must be provided in order to delete category assignments + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + parameters: + - $ref: '#/components/parameters/Accept' +components: + schemas: + formData_ImageFileParam: + type: string + description: | + An image file. Supported MIME types include GIF, JPEG, and PNG. + format: binary + productModifier_Base: + title: productModifier_Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + $ref: '#/components/schemas/config_Full' + display_name: + type: string + description: The name of the option shown on the storefront. + description: Common Modifier properties. + x-internal: false + productModifier_Full: + title: productModifier_Full + description: Product Modifier + allOf: + - $ref: '#/components/schemas/productModifier_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + option_values: + type: array + items: + $ref: '#/components/schemas/productModifierOptionValue_Full' + x-internal: false + productModifier_Post: + title: productModifier_Post + description: The model for a POST to create a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - required: + - display_name + type: object + properties: + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + x-required: + - post + x-internal: false + productModifier_Put: + title: productModifier_Put + description: The model for a PUT to update a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + x-internal: false + productModifierOptionValue_Base: + title: productModifierOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + adjusters: + $ref: '#/components/schemas/adjusters_Full' + description: Common Product Modifer `option_value` properties. + x-internal: false + productModifierOptionValue_Full: + title: productModifierOptionValue_Full + description: Product Modifer `option_value`. + allOf: + - $ref: '#/components/schemas/productModifierOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + option_id: + type: integer + x-internal: false + productModifierOptionValue_Post: + title: productModifierOptionValue_Post + description: The model for a POST to create a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + x-internal: false + productModifierOptionValue_Put: + title: productModifierOptionValue_Put + description: The model for a PUT to update a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + x-internal: false + resp_productionOption: + title: resp_productionOption + type: object + properties: + data: + $ref: '#/components/schemas/productOption_Full' + meta: + title: Meta + type: object + properties: + 'null': + type: string + description: Empty meta object; may be used later. + x-internal: false + productOption_Base: + title: productOption_Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + $ref: '#/components/schemas/productOptionConfig_Full' + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + $ref: '#/components/schemas/productOptionOptionValue_Full' + description: Common Option properties. + x-internal: false + productOption_Full: + title: productOption_Full + allOf: + - $ref: '#/components/schemas/productOption_Base' + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + x-internal: false + productOption_Post: + title: productOption_Post + description: The model for a POST to create options on a product. + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + x-internal: false + productOption_Put: + title: productOption_Put + description: The model for a PUT to update options on a product. + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + x-internal: false + categoriesTree_Resp: + title: categoriesTree_Resp + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/categoriesTreeNode_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Returns the categories tree, a nested lineage of the categories with parent->child relationship. The Category objects returned are simplified versions of the category objects returned in the rest of this API. + x-internal: false + categoriesTreeNode_Full: + title: categoriesTreeNode_Full + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the category; increments sequentially. + example: 26 + parent_id: + type: integer + description: | + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + example: 25 + name: + type: string + description: | + The name displayed for the category. Name is unique with respect to the category's siblings. + example: Bath + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + example: true + url: + type: string + description: | + The custom URL for the category on the storefront. + example: /towels/bath-towels/ + description: Used to reflect parent <> child category relationships. Used by Category Tree. + x-internal: false + category_Full: + title: category_Full + type: object + description: Common Category object properties. + x-internal: false + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + $ref: '#/components/schemas/customUrl_Full' + required: + - parent_id + - name + brand_Full: + title: brand_Full + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + $ref: '#/components/schemas/customUrl_Full' + description: Common Brand properties. + x-internal: false + productVariant_Base: + title: productVariant_Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + mpn: + type: string + description: The Manufacturer Part Number (MPN) for the variant. + gtin: + type: string + example: '012345678905' + description: Common Variant properties. + x-internal: false + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + productVariant_Full: + title: productVariant_Full + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + $ref: '#/components/schemas/productVariantOptionValue_Full' + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + calculated_weight: + type: number + x-internal: false + description: '' + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + productVariant_Post: + title: productVariant_Post + description: | + The model for a POST to create variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + image_url: + type: string + description: Publicly available image url + gtin: + type: string + description: Global Trade Item Number + example: '012345678905' + mpn: + type: string + description: Manufacturer Part Number + example: HV-HM02 + description: Common Variant properties. + - type: object + properties: + product_id: + type: integer + x-required: + - post + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + $ref: '#/components/schemas/productVariantOptionValue_Full' + x-required: + - post + x-internal: false + variantCollection_Put: + title: variantCollection_Put + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + x-internal: false + variant_Put: + title: variant_Put + description: | + The model for a PUT to update variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + x-required: + - put + x-internal: false + productVariant_Post_Product: + title: productVariant_Post_Product + description: | + The model for a POST to create variants on a product. + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + option_values: + type: array + items: + title: Option Value Product Post + type: object + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + x-required: + - post + x-internal: false + productVariant_Put_Product: + title: productVariant_Put_Product + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + product_id: + type: integer + sku: + maxLength: 255 + minLength: 1 + type: string + description: | + The model for a PUT to update variants on a product. + x-internal: false + productVariantOptionValue_Full: + title: productVariantOptionValue_Full + allOf: + - type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + - $ref: '#/components/schemas/productVariantOptionValue_Base' + x-internal: false + productOptionValue_Post_Product: + title: productOptionValue_Post_Product + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + x-internal: false + productVariantOptionValue_Base: + title: productVariantOptionValue_Base + type: object + properties: + id: + type: integer + description: '`option_value` ID.' + example: 146 + option_id: + type: integer + description: '`option` ID.' + example: 151 + description: Common Product Variant Option properties. + x-internal: false + productVariantOptionValue_Post: + title: productVariantOptionValue_Post + type: object + properties: + id: + type: integer + x-required: + - post + option_id: + type: integer + x-required: + - post + description: The model for a POST to create option values on a variant. + x-internal: false + resp_productOptionValue: + title: resp_productOptionValue + type: object + properties: + data: + $ref: '#/components/schemas/productOptionOptionValue_Full' + meta: + title: Meta + type: object + properties: + 'null': + type: string + description: Empty meta object; may be used later. + x-internal: false + productOptionOptionValue_Base: + title: productOptionOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + description: Common Product Option `option_value` properties. + x-internal: false + productOptionOptionValue_Full: + title: productOptionOptionValue_Full + description: Product Option `option_value`. + allOf: + - $ref: '#/components/schemas/productOptionOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-internal: false + productOptionValue_Post: + title: productOptionValue_Post + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + x-internal: false + productOptionValue_Put: + title: productOptionValue_Put + description: The model for a PUT to update option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + x-internal: false + productImage_Base: + title: productImage_Base + type: object + properties: + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Limit of 1MB per file. + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + image_url: + type: string + description: 'Must be a fully qualified URL path, including protocol. Limit of 8MB per file.' + description: Common ProductImage properties. + x-internal: false + productImage_Post: + title: productImage_Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. + x-internal: false + productImage_Put: + title: productImage_Put + description: The model for a PUT to update applicable Product Image fields. + allOf: + - title: Product Image Base + type: object + properties: + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + description: Common ProductImage properties. + - $ref: '#/components/schemas/productImage_Base' + x-internal: false + productVideo_Base: + title: productVideo_Base + type: object + description: | + The model for a POST to create a video on a product. + x-internal: false + properties: + title: + type: string + maxLength: 255 + minLength: 0 + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + example: Writing Great Documentation + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + example: A video about documenation + sort_order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + example: 1 + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + video_id: + type: string + description: The ID of the video on a host site. + example: z3fRu9pkuXE + productVideo_Full: + title: productVideo_Full + description: | + A product video model. + allOf: + - $ref: '#/components/schemas/productVideo_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + x-internal: false + productVideo_Post: + title: productVideo_Post + description: | + The model for a POST to create a video on a product. + allOf: + - $ref: '#/components/schemas/productVideo_Base' + x-internal: false + productVideo_Put: + title: productVideo_Put + description: | + The model for a PUT to update a video on a product. + allOf: + - $ref: '#/components/schemas/productVideo_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + x-required: + - put + x-internal: false + productReview_Base: + title: productReview_Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + x-internal: false + productReview_Full: + title: productReview_Full + description: | + A product review model. + allOf: + - $ref: '#/components/schemas/productReview_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + x-internal: false + productReview_Post: + title: productReview_Post + description: | + The model for a POST to create a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + x-internal: false + productReview_Put: + title: productReview_Put + description: | + The model for a PUT to update a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + x-internal: false + resp_productImage: + title: resp_productImage + type: object + properties: + data: + $ref: '#/components/schemas/productImage_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + x-internal: false + resourceImage_Full: + title: resourceImage_Full + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + x-internal: false + product_Post: + title: product_Post + description: The model for a POST to create a product. + allOf: + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Post_Product' + x-internal: false + product_Put: + title: product_Put + description: The model for a PUT to update a product. + allOf: + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Put_Product' + x-internal: false + catalogSummary_Full: + title: catalogSummary_Full + type: object + properties: + inventory_count: + type: integer + description: | + A count of all inventory items in the catalog. + example: 2000 + inventory_value: + type: number + description: | + Total value of store's inventory. + format: double + example: 267000 + primary_category_id: + type: integer + description: | + ID of the category containing the most products. + example: 23 + primary_category_name: + type: string + description: | + Name of the category containing the most products. + example: Shop All + variant_count: + type: integer + description: Total number of variants + example: 46 + highest_variant_price: + type: number + description: Highest priced variant + format: double + example: 249 + average_variant_price: + type: number + description: Average price of all variants + format: double + example: 83.07978261 + lowest_variant_price: + type: string + description: Lowest priced variant in the store + example: '7' + oldest_variant_date: + type: string + example: '2018-08-15T00:00:00+00:00' + newest_variant_date: + type: string + example: '2018-08-16T00:00:00+00:00' + description: Catalog Summary object describes a lightweight summary of the catalog. + x-internal: false + metafield_Base: + title: metafield_Base + type: object + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + x-internal: false + properties: + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + required: + - permission_set + - namespace + - key + - value + complexRule_Base: + title: complexRule_Base + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + $ref: '#/components/schemas/adjuster_Full' + weight_adjuster: + $ref: '#/components/schemas/adjuster_Full' + conditions: + type: array + items: + $ref: '#/components/schemas/complexRuleConditionBase' + description: Common ComplexRule properties. + x-internal: false + productCustomField_Base: + title: productCustomField_Base + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + x-internal: false + productCustomField_Post: + title: productCustomField_Post + description: The model for a POST to create a custom field on a product. + allOf: + - title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + x-internal: false + productCustomField_Put: + title: productCustomField_Put + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. Required to update existing custom field in /PUT request. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: The model for a PUT to update a custom field on a product. + x-internal: false + complexRuleConditionBase: + title: complexRuleConditionBase + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + x-internal: false + customUrl_Full: + title: customUrl_Full + type: object + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Product URL on the storefront. + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + description: The custom URL for the product on the storefront. + x-internal: false + bulkPricingRule_Full: + title: bulkPricingRule_Full + type: object + description: Common Bulk Pricing Rule properties + x-internal: false + properties: + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. + Required in /POST. + example: 10 + x-required: + - post + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + Required in /POST. + example: 50 + x-required: + - post + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + Required in /POST. + example: price + enum: + - price + - percent + - fixed + x-required: + - post + amount: + oneOf: + - type: number + example: 10 + - type: string + example: '.10' + description: |- + You can express the adjustment type as either a fixed dollar amount or a percentage. Send a number; the response will return a number for `price` and `fixed` adjustments. + Divide the adjustment percentage by 100 and send the result in string format. For example, represent 10% as “.10”. The response will return a float value for both `price` and `percentage` adjustments. + Required in /POST. + required: + - quantity_min + - quantity_max + - type + - amount + bulkPricingRuleFull_Response: + title: Bulk Pricing Rule + type: object + x-internal: false + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. + example: 10 + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + example: 50 + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + example: price + enum: + - price + - percent + - fixed + amount: + type: number + description: |- + The adjustment amount. Depending on the rule `type`, may represent a fixed dollar amount or a percentage. + example: 10 + x-stoplight: + id: 386de544af45e + productOptionConfig_Full: + title: productOptionConfig_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + adjuster_Full: + title: adjuster_Full + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + x-internal: false + resp_variantBatchError: + title: resp_variantBatchError + type: object + properties: + batch_errors: + type: array + items: + title: Error Response + type: object + allOf: + - $ref: '#/components/schemas/error_Base' + - type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + description: | + Errors during batch usage for the BigCommerce API. + x-internal: false + metaCollection_open: + title: Response meta + type: object + properties: {} + additionalProperties: true + description: Response metadata. + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + errorResponse_Full: + title: errorResponse_Full + allOf: + - $ref: '#/components/schemas/error_Base' + - type: object + properties: + errors: + $ref: '#/components/schemas/detailedErrors' + x-internal: false + error_Base: + title: error_Base + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + errorMultiStatus: + title: errorMultiStatus + type: object + properties: + status: + type: integer + minLength: 3 + maxLength: 3 + description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' + title: + type: string + description: A summary of the failure or partial success. + type: + type: string + description: A BigCommerce-defined error signifier. + errors: + $ref: '#/components/schemas/detailedErrors' + errorNotFound: + title: errorNotFound + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-internal: false + giftCertificate_Full: + title: giftCertificate_Full + type: object + properties: + code: + type: string + description: | + The gift-certificate code. + example: MB345 + original_balance: + type: number + description: | + The balance on a gift certificate when it was purchased. + format: float + example: 100 + starting_balance: + type: number + description: | + The balance on a gift certificate at the time of this purchase. + format: float + example: 100 + remaining_balance: + type: number + description: | + The remaining balance on a gift certificate. + format: float + example: 35.42 + status: + type: string + description: | + The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate purchase is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired. + enum: + - active + - pending + - disabled + - expired + description: A gift-certificate model. + x-internal: false + errorNoContent: + title: errorNoContent + type: object + properties: + status: + type: integer + description: | + 204 HTTP status code. + title: + type: string + description: The error title describing the situation. + type: + type: string + instance: + type: string + description: No-content response for the BigCommerce API. + x-internal: false + detailedErrors: + title: detailedErrors + description: Each key-value pair describes a failure or partial success case. + type: object + properties: {} + additionalProperties: true + x-internal: false + product_Full: + title: product_Full + allOf: + - type: object + properties: + id: + minimum: 1 + type: integer + description: ID of the product. Read-Only. + readOnly: true + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + date_created: + type: string + description: | + The date on which the product was created. + format: date-time + example: '2018-08-15T14:49:05+00:00' + date_modified: + type: string + description: | + The date on which the product was modified. + format: date-time + example: '2018-08-24T14:41:00+00:00' + base_variant_id: + type: integer + description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. + calculated_price: + type: number + description: 'The price of the product as seen on the storefront. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`.' + format: float + options: + type: array + items: + $ref: '#/components/schemas/productOption_Base' + modifiers: + type: array + items: + $ref: '#/components/schemas/productModifier_Full' + map_price: + type: number + description: Minimum Advertised Price. + option_set_id: + type: integer + description: Indicates that the product is in an Option Set (legacy V2 concept). + option_set_display: + type: string + description: Legacy template setting which controls if the option set shows up to the side of or below the product image and description. + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + x-internal: false + productImage_Full: + title: productImage_Full + description: Common ProductImage properties. + allOf: + - $ref: '#/components/schemas/productImage_Base' + - title: productImage + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + description: Common ProductImage properties. + x-internal: false + product_Put_Collection: + title: product_Put_Collection + description: The model for batch updating products. + x-internal: false + allOf: + - items: + $ref: '#/components/schemas/product_Base' + x-examples: + example-1: + - name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: list + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + type: array + config_Full: + title: config_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + adjusters_Full: + title: adjusters_Full + type: object + properties: + price: + $ref: '#/components/schemas/adjuster_Full' + weight: + $ref: '#/components/schemas/adjuster_Full' + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + x-internal: false + variant_Base: + title: variant_Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + description: |- + Variant properties used on: + * `/catalog/products/variants` + * `/catalog/variants` + x-internal: false + product_Base: + title: product_Base + type: object + description: |- + Shared `Product` properties used in: + * `POST` + * `PUT` + * `GET` + x-internal: false + x-examples: + example-1: + id: 0 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability_description: string + availability: available + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + properties: + name: + maxLength: 250 + minLength: 1 + type: string + description: | + A unique product name. + example: Smith Journal 13 + x-required: + - post + type: + type: string + description: | + The product type. One of: `physical` - a physical stock unit, `digital` - a digital download. + example: physical + enum: + - physical + - digital + x-required: + - post + sku: + maxLength: 255 + minLength: 0 + type: string + description: | + A unique user-defined product code/stock keeping unit (SKU). + example: SM-13 + description: + type: string + description: | + The product description, which can include HTML formatting. + example: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Weight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store + format: float + width: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Width of the product, which can be used when calculating shipping costs. + format: float + depth: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Depth of the product, which can be used when calculating shipping costs. + format: float + height: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Height of the product, which can be used when calculating shipping costs. + format: float + price: + minimum: 0 + type: number + description: | + The price of the product. The price should include or exclude tax, based on the store settings. + format: float + cost_price: + minimum: 0 + type: number + description: | + The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store. + format: float + retail_price: + minimum: 0 + type: number + description: | + The retail cost of the product. If entered, the retail cost price will be shown on the product page. + format: float + sale_price: + minimum: 0 + type: number + description: | + If entered, the sale price will be used instead of value in the price field when calculating the product's cost. + format: float + map_price: + type: number + description: Minimum Advertised Price + tax_class_id: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) + product_tax_code: + maxLength: 255 + minLength: 0 + type: string + description: | + Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation. + categories: + type: array + description: | + An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values. + x-required: + - post + items: + type: integer + brand_id: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + A product can be added to an existing brand during a product /PUT or /POST. + inventory_level: + maximum: 2147483647 + minimum: 0 + type: integer + description: | + Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. + inventory_warning_level: + maximum: 2147483647 + minimum: 0 + type: integer + description: | + Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the `inventory_tracking` field) for this to take any effect. + inventory_tracking: + type: string + description: | + The type of inventory tracking for the product. Values are: `none` - inventory levels will not be tracked; `product` - inventory levels will be tracked using the `inventory_level` and `inventory_warning_level` fields; `variant` - inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels. + enum: + - none + - product + - variant + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: float + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the product has free shipping. If `true`, the shipping cost for the product will be zero. + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the product will be displayed. If `false`, the product will be hidden from view. + is_featured: + type: boolean + description: | + Flag to determine whether the product should be included in the `featured products` panel when viewing the store. + related_products: + type: array + description: | + An array of IDs for the related products. + items: + type: integer + warranty: + maxLength: 65535 + minLength: 0 + type: string + description: | + Warranty information displayed on the product page. Can include HTML formatting. + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: | + The BIN picking number for the product. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + upc: + type: string + maxLength: 32 + minLength: 0 + description: | + The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the product when searching the store. + availability_description: + maxLength: 255 + minLength: 0 + type: string + description: | + Availability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.' + availability: + type: string + description: | + Availability of the product. (Corresponds to the product's [Purchasability](https://support.bigcommerce.com/s/article/Adding-Products-v3?language=en_US#sections) section in the control panel.) Supported values: `available` - the product is available for purchase; `disabled` - the product is listed on the storefront, but cannot be purchased; `preorder` - the product is listed for pre-orders. + enum: + - available + - disabled + - preorder + gift_wrapping_options_type: + type: string + description: | + Type of gift-wrapping options. Values: `any` - allow any gift-wrapping options in the store; `none` - disallow gift-wrapping on the product; `list` – provide a list of IDs in the `gift_wrapping_options_list` field. + enum: + - any + - none + - list + gift_wrapping_options_list: + type: array + description: | + A list of gift-wrapping option IDs. + items: + type: integer + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results. + condition: + type: string + description: | + The product condition. Will be shown on the product page if the `is_condition_shown` field's value is `true`. Possible values: `New`, `Used`, `Refurbished`. + enum: + - New + - Used + - Refurbished + is_condition_shown: + type: boolean + description: | + Flag used to determine whether the product condition is shown to the customer on the product page. + order_quantity_minimum: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The minimum quantity an order must contain, to be eligible to purchase this product. + order_quantity_maximum: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The maximum quantity an order can contain when purchasing the product. + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the product page. If not defined, the product name will be used as the meta title. + meta_keywords: + type: array + description: | + Custom meta keywords for the product page. If not defined, the store's default keywords will be used. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the product page. If not defined, the store's default meta description will be used. + view_count: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The number of times the product has been viewed. + preorder_release_date: + type: string + description: | + Pre-order release date. See the `availability` field for details on setting a product's availability to accept pre-orders. + format: date-time + nullable: true + preorder_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the `%%DATE%%` placeholder, which will be substituted for the release date. + is_preorder_only: + type: boolean + description: | + If set to true then on the preorder release date the preorder status will automatically be removed. + If set to false, then on the release date the preorder status **will not** be removed. It will need to be changed manually either in the + control panel or using the API. Using the API set `availability` to `available`. + is_price_hidden: + type: boolean + description: | + False by default, indicating that this product's price should be shown on the product page. If set to `true`, the price is hidden. (NOTE: To successfully set `is_price_hidden` to `true`, the `availability` value must be `disabled`.) + price_hidden_label: + maxLength: 200 + minLength: 0 + type: string + description: | + By default, an empty string. If `is_price_hidden` is `true`, the value of `price_hidden_label` is displayed instead of the price. (NOTE: To successfully set a non-empty string value with `is_price_hidden` set to `true`, the `availability` value must be `disabled`.) + custom_url: + $ref: '#/components/schemas/customUrl_Full' + open_graph_type: + type: string + description: | + Type of product, defaults to `product`. + enum: + - product + - album + - book + - drink + - food + - game + - movie + - song + - tv_show + open_graph_title: + type: string + description: | + Title of the product, if not specified the product name will be used instead. + open_graph_description: + type: string + description: | + Description to use for the product, if not specified then the meta_description will be used instead. + open_graph_use_meta_description: + type: boolean + description: | + Flag to determine if product description or open graph description is used. + open_graph_use_product_name: + type: boolean + description: | + Flag to determine if product name or open graph name is used. + open_graph_use_image: + type: boolean + description: | + Flag to determine if product image or open graph image is used. + brand_name or brand_id: + type: string + description: The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using `brand_name` it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only the `brand_id`. + example: Common Good + gtin: + type: string + description: Global Trade Item Number + mpn: + type: string + description: Manufacturer Part Number + reviews_rating_sum: + type: integer + description: | + The total (cumulative) rating for the product. + example: 3 + reviews_count: + type: integer + description: | + The number of times the product has been rated. + example: 4 + total_sold: + type: integer + description: | + The total quantity of this product sold. + example: 80 + custom_fields: + type: array + items: + $ref: '#/components/schemas/productCustomField_Put' + bulk_pricing_rules: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + images: + type: array + items: + $ref: '#/components/schemas/productImage_Full' + videos: + type: array + items: + $ref: '#/components/schemas/productVideo_Full' + required: + - name + - type + - weight + - price + metafield_Full: + title: metafield_Full + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + - $ref: '#/components/schemas/metafield_Base' + - type: object + properties: + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID of the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + x-internal: false + productVariant_Put: + title: productVariant_Put + description: The model for a PUT to update variants on a product. + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + product_id: + type: integer + x-required: + - post + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + x-internal: false + errorResponse_409: + title: errorResponse_409 + allOf: + - type: object + properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - type: object + properties: + errors: + $ref: '#/components/schemas/detailedErrors' + x-internal: false + errorResponse_422: + title: errorResponse_422 + allOf: + - type: object + properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - type: object + properties: + errors: + $ref: '#/components/schemas/detailedErrors' + x-internal: false + productSortOrder: + title: productSortOrder + required: + - product_id + - sort_order + type: object + properties: + product_id: + minimum: 1 + type: integer + description: The ID of the associated product. + example: 99 + sort_order: + minimum: 0 + type: integer + example: 4 + description: The relative priority of the product among other products inside the category. + x-internal: false + betacategory_Full: + type: object + description: Common Category object properties. + title: category_Full + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + required: + - post + name: + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + minLength: 1 + maxLength: 50 + example: Bath + required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example: We offer a wide variety of products perfect for relaxing + views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + minimum: -2147483648 + maximum: 2147483647 + example: 3 + page_title: + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + minLength: 0 + maxLength: 255 + example: Bath + search_keywords: + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + minLength: 0 + maxLength: 255 + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + minLength: 0 + maxLength: 65535 + layout_file: + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + minLength: 0 + maxLength: 500 + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + x-url: true + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + custom_url: + $ref: '#/components/schemas/betacustomUrl_Full' + required: + - parent_id + - name + x-tags: + - Models + betametaCollection_Full: + type: object + description: 'Data about the response, including pagination and collection totals.' + title: metaCollection_Full + properties: + pagination: + $ref: '#/components/schemas/betapagination_Full' + x-tags: + - Models + betapagination_Full: + type: object + description: 'Data about the response, including pagination and collection totals.' + title: pagination_Full + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + description: | + Pagination links for the previous and next parts of the whole collection. + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + x-tags: + - Models + betametaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + x-tags: + - Models + betaerrorResponse_Full: + allOf: + - $ref: '#/components/schemas/betaerror_Base' + - type: object + properties: + errors: + $ref: '#/components/schemas/betadetailedErrors' + title: errorResponse_Full + x-tags: + - Models + betaerror_Base: + 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 + title: error_Base + x-tags: + - Models + betaerrorNotFound: + description: Error payload for the BigCommerce API. + type: object + properties: + status: + description: | + 404 HTTP status code. + type: integer + title: + description: The error title describing the particular error. + type: string + type: + type: string + instance: + type: string + title: errorNotFound + x-tags: + - Models + betaerrorNoContent: + description: No-content response for the BigCommerce API. + type: object + properties: + status: + description: | + 204 HTTP status code. + type: integer + title: + description: The error title describing the situation. + type: string + type: + type: string + instance: + type: string + title: errorNoContent + x-tags: + - Models + betadetailedErrors: + type: object + title: detailedErrors + properties: {} + additionalProperties: true + x-tags: + - Models + betaerrorResponse_409: + title: errorResponse_409 + allOf: + - properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - properties: + errors: + $ref: '#/components/schemas/betadetailedErrors' + type: object + x-tags: + - Models + betaerrorResponse_422: + title: errorResponse_422 + allOf: + - properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - properties: + errors: + $ref: '#/components/schemas/betadetailedErrors' + type: object + x-tags: + - Models + custom_url: + type: object + description: The custom URL for the category on the storefront. + title: Custom Url Category + properties: + url: + type: string + description: | + Category URL on the storefront. + x-url: true + minLength: 0 + maxLength: 255 + example: /shoes + required: + - post + - put + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + required: + - post + - put + x-tags: + - Models + betacustomUrl_Full: + type: object + description: The custom URL for the product on the storefront. + title: customUrl_Full + properties: + url: + type: string + description: | + Product URL on the storefront. + x-url: true + minLength: 0 + maxLength: 255 + example: /shoes + required: + - post + - put + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + required: + - post + - put + x-tags: + - Models + CreateCategories: + type: array + items: + allOf: + - $ref: '#/components/schemas/TreeIdCreateData' + - $ref: '#/components/schemas/ParentIdCreateData' + - $ref: '#/components/schemas/CategoryDataPOST' + x-tags: + - Models + title: Create Categories + UpdateCategories: + x-tags: + - Models + type: array + items: + allOf: + - $ref: '#/components/schemas/TreeIdUpdateData' + - $ref: '#/components/schemas/CategoryIdUpdateData' + - $ref: '#/components/schemas/CategoryUuidData' + - $ref: '#/components/schemas/ParentIdUpdateData' + - $ref: '#/components/schemas/CategoryDataPUT' + Category: + x-tags: + - Models + title: Category + allOf: + - $ref: '#/components/schemas/id' + - $ref: '#/components/schemas/parent_id' + - $ref: '#/components/schemas/name' + - $ref: '#/components/schemas/description' + - $ref: '#/components/schemas/views' + - $ref: '#/components/schemas/sort_order' + - $ref: '#/components/schemas/page_title' + - $ref: '#/components/schemas/meta_keywords' + - $ref: '#/components/schemas/meta_description' + - $ref: '#/components/schemas/layout_file' + - $ref: '#/components/schemas/image_url' + - $ref: '#/components/schemas/is_visible' + - $ref: '#/components/schemas/search_keywords' + - $ref: '#/components/schemas/default_product_sort' + - type: object + properties: + url: + $ref: '#/components/schemas/Url' + x-examples: {} + CategoryUuidData: + type: object + x-tags: + - Models + properties: + category_uuid: + type: string + format: uuid + title: category_uuid + CategoryIdUpdateData: + type: object + properties: + category_id: + type: integer + required: + - category_id + x-tags: + - Models + ParentIdCreateData: + type: object + properties: + parent_id: + type: integer + required: + - parent_id + x-tags: + - Models + TreeIdCreateData: + type: object + properties: + tree_id: + type: integer + required: + - tree_id + x-tags: + - Models + ParentIdUpdateData: + type: object + properties: + parent_id: + type: integer + x-tags: + - Models + TreeIdUpdateData: + type: object + x-tags: + - Models + properties: + tree_id: + type: integer + required: + - tree_id + CategoryData: + allOf: + - type: object + properties: + name: + type: string + description: + type: string + views: + type: integer + sort_order: + type: integer + page_title: + type: string + search_keywords: + type: string + meta_keywords: + type: array + items: + type: string + meta_description: + type: string + layout_file: + type: string + is_visible: + type: boolean + image_url: + type: string + url: + $ref: '#/components/schemas/Url' + CategoryDataPUT: + allOf: + - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/default_product_sort' + CategoryDataPOST: + allOf: + - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/default_product_sort' + required: + - name + - url + Urls: + type: array + items: + $ref: '#/components/schemas/Url' + x-tags: + - Models + Url: + type: object + properties: + path: + type: string + is_customized: + type: boolean + x-tags: + - Models + MetaPagination: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + example: 246 + minimum: 0 + count: + type: integer + example: 5 + minimum: 0 + per_page: + type: integer + example: 5 + minimum: 0 + current_page: + type: integer + example: 1 + minimum: 1 + total_pages: + type: integer + example: 50 + minimum: 0 + links: + type: object + properties: + previous: + type: string + example: '?limit=5&page=1' + current: + type: string + example: '?limit=5&page=2' + next: + type: string + example: '?limit=5&page=3' + x-tags: + - Models + DetailedErrors: + description: | + Details of errors. + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + ErrorRequest: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorBasic' + x-tags: + - Models + ErrorBasic: + type: object + properties: + status: + description: | + The HTTP status code. + type: integer + title: + description: | + The error title describing the particular error. + type: string + type: + type: string + x-tags: + - Models + ErrorAdditional: + type: object + properties: + errors: + $ref: '#/components/schemas/DetailedErrors' + x-tags: + - Models + MetaError: + allOf: + - $ref: '#/components/schemas/ErrorBasic' + - $ref: '#/components/schemas/ErrorAdditional' + x-tags: + - Models + MetaData: + type: object + properties: + total: + type: integer + success: + type: integer + failed: + type: integer + x-tags: + - Models + SuccessNoContentResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + PartialSuccessNoContentResponse: + type: object + properties: + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + PartialSuccessResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + SuccessResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + ErrorResponse: + type: object + properties: + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + Tree: + type: object + properties: + id: + type: integer + name: + type: string + minLength: 1 + maxLength: 255 + channels: + type: array + items: + type: integer + x-tags: + - Models + CategoryNode: + type: object + properties: + id: + type: integer + parent_id: + type: integer + depth: + type: integer + path: + type: array + items: + type: integer + name: + type: string + is_visible: + type: boolean + children: + type: array + items: + $ref: '#/components/schemas/CategoryNode' + x-tags: + - Models + beta4Category: + type: object + properties: + id: + type: integer + parent_id: + type: integer + tree_id: + type: integer + name: + type: string + description: + type: string + views: + type: integer + sort_order: + type: integer + page_title: + type: string + search_keywords: + type: string + meta_keywords: + type: array + items: + type: string + meta_description: + type: string + layout_file: + type: string + is_visible: + type: boolean + default_product_sort: + type: string + image_url: + type: string + custom_url: + $ref: '#/components/schemas/CustomUrl' + x-tags: + - Models + beta4CategoryData: + type: object + properties: + tree_id: + type: integer + parent_id: + type: integer + name: + type: string + description: + type: string + views: + type: integer + sort_order: + type: integer + page_title: + type: string + search_keywords: + type: string + meta_keywords: + type: array + items: + type: string + meta_description: + type: string + layout_file: + type: string + is_visible: + type: boolean + default_product_sort: + type: string + image_url: + type: string + custom_url: + $ref: '#/components/schemas/CustomUrl' + x-tags: + - Models + CustomUrl: + type: object + properties: + url: + type: string + is_customized: + type: boolean + x-tags: + - Models + MetaPaginationObject: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + example: 246 + minimum: 0 + count: + type: integer + example: 5 + minimum: 0 + per_page: + type: integer + example: 5 + minimum: 0 + current_page: + type: integer + example: 1 + minimum: 1 + total_pages: + type: integer + example: 50 + minimum: 0 + links: + type: object + properties: + next: + type: string + example: '?limit=5&page=2' + current: + type: string + example: '?limit=5&page=1' + x-tags: + - Models + beta4DetailedErrors: + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + 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 + x-tags: + - Models + beta4ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/beta4DetailedErrors' + x-tags: + - Models + ProductsChannelCount: + type: object + description: The count of product in the channels. + properties: + channel_id: + description: Channel ID. + type: integer + minimum: 1 + product_count: + type: integer + minimum: 0 + x-tags: + - Models + ProductsCategoriesCount: + properties: + product_id: + type: integer + minimum: 1 + channels: + type: array + items: + $ref: '#/components/schemas/CategoriesCount' + x-tags: + - Models + CategoriesCount: + properties: + channel_id: + type: integer + minimum: 1 + category_count: + type: integer + minimum: 0 + x-tags: + - Models + ProductChannelAssignment: + properties: + product_id: + type: integer + channel_id: + type: integer + x-tags: + - Models + ProductCategoryAssignment: + properties: + product_id: + type: integer + category_id: + type: integer + x-tags: + - Models + beta5DetailedErrors: + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + beta5ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/beta5DetailedErrors' + x-tags: + - Models + default_product_sort: + title: default_product_sort + type: object + properties: + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + name: + title: name + type: object + properties: + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + description: + title: description + type: object + properties: + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + title: views + type: object + properties: + views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + title: sort_order + type: object + properties: + sort_order: + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + title: page_title + type: object + properties: + page_title: + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + title: search_keywords + type: object + properties: + search_keywords: + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + title: meta_keywords + type: object + properties: + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + layout_file: + title: layout_file + type: object + properties: + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + example: category.html + is_visible: + title: is_visible + type: object + properties: + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + image_url: + title: image_url + type: object + properties: + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + meta_description: + title: meta_description + type: object + properties: + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + id: + title: id + type: object + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + title: parent_id + type: object + properties: + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + responses: + BrandCollectionResponse: + description: '' + content: + application/json: + schema: + title: Brand Collection Response + type: object + properties: + data: + type: array + items: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaCollection_Full' + BrandImageUpload: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + BrandResponse: + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + BulkPricingRuleCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/bulkPricingRuleFull_Response' + meta: + $ref: '#/components/schemas/metaCollection_Full' + BulkPricingRuleResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/bulkPricingRuleFull_Response' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + CatalogSummaryResponse: + description: '' + content: + application/json: + schema: + title: Catalog Summary Response + type: object + properties: + data: + title: Catalog Summary + type: object + properties: + inventory_count: + type: integer + description: | + A count of all inventory items in the catalog. + example: 2000 + inventory_value: + type: number + description: | + Total value of store's inventory. + format: double + example: 267000 + primary_category_id: + type: integer + description: | + ID of the category containing the most products. + example: 23 + primary_category_name: + type: string + description: | + Name of the category containing the most products. + example: Shop All + variant_count: + type: integer + description: Total number of variants + example: 46 + highest_variant_price: + type: number + description: Highest priced variant + format: double + example: 249 + average_variant_price: + type: number + description: Average price of all variants + format: double + example: 83.07978261 + lowest_variant_price: + type: string + description: Lowest priced variant in the store + example: '7' + oldest_variant_date: + type: string + example: '2018-08-15T00:00:00+00:00' + newest_variant_date: + type: string + example: '2018-08-16T00:00:00+00:00' + description: Catalog Summary object describes a lightweight summary of the catalog. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + CatalogVariantCollectionResponse: + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + $ref: '#/components/schemas/metaCollection_Full' + CategoryCollectionResponse: + description: '' + content: + application/json: + schema: + title: Category Base + type: object + properties: + data: + type: array + items: + type: object + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 19 + parent_id: 0 + name: Garden + description:

This is the garden description

+ views: 0 + sort_order: 2 + page_title: page title + meta_keywords: + - meta keyword + meta_description: meta description + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: search keywords + default_product_sort: use_store_settings + custom_url: + url: /garden/ + is_customized: false + - id: 20 + parent_id: 0 + name: Publications + description: '' + views: 0 + sort_order: 4 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /publications/ + is_customized: false + - id: 21 + parent_id: 0 + name: Kitchen + description: '' + views: 0 + sort_order: 3 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /kitchen/ + is_customized: false + - id: 22 + parent_id: 0 + name: Utility + description: '' + views: 0 + sort_order: 5 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /utility/ + is_customized: false + - id: 23 + parent_id: 0 + name: Shop All + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /shop-all/ + is_customized: false + - id: 39 + parent_id: 19 + name: Bath + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /garden/bath/ + is_customized: false + meta: + pagination: + total: 6 + count: 6 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + CategoryResponse: + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + ComplexRuleCollectionResponse: + description: '' + content: + application/json: + schema: + title: Complex Rule Collection Response + type: object + properties: + data: + type: array + items: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Complex Rule Response + ComplexRuleResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + CustomFieldCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - name: Release year + value: '1987' + id: 1 + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: '?page=1&limit=50' + current: '?page=1&limit=50' + next: '?page=1&limit=50' + CustomFieldResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + Error404Response: + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + Error422Response: + description: |- + Unprocessable entity. + + Please verify if all requested products are assigned to the category. + + Please verify if all required fields are present in the request body and are filled with values correctly. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + General207Status: + description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + MetafieldCollectionResponse: + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + title: Metafield + required: + - key + - namespace + - permission_set + - value + type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID for the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + description: Common Metafield properties. + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - permission_set: app_only + namespace: Warehouse Locations + key: Location + value: 4HG + description: Location in the warehouse + resource_type: brand + resource_id: 111 + id: 6 + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - permission_set: read + namespace: Warehouse Locations + key: Location + value: 4HG + description: Location in the warehouse + resource_type: brand + resource_id: 111 + id: 6 + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - permission_set: app_only + namespace: Warehouse Locations + key: Location + value: 4HG + description: Location in the warehouse + resource_type: brand + resource_id: 111 + id: 6 + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + MetafieldResponse: + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + title: Metafield + required: + - key + - namespace + - permission_set + - value + type: object + properties: + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID for the resource with which the metafield is associated. + example: 111 + x-required: + - post + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + description: Common Metafield properties. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + description: Where products are located + id: 4 + key: location_id + namespace: App Namespace + permission_set: app_only + resource_id: 137 + resource_type: product + value: 'Shelf 3, Bin 5' + meta: {} + ModifierCollectionResponse: + description: '' + content: + application/json: + schema: + title: Modifier Collection Response + type: object + properties: + data: + type: array + items: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Modifier Collection Response return for /GET All Modifiers. + example: + data: + - id: 206 + product_id: 158 + name: Insurance + display_name: Insurace + type: checkbox + required: true + config: + checkbox_label: $5 for insurance + checked_by_default: false + option_values: + - id: 183 + option_id: 206 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 184 + option_id: 206 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ModifierResponse: + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + ModifierValueCollectionResponse: + description: '' + content: + application/json: + schema: + title: Modifier Value Collection Response + type: object + properties: + data: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Returns for GET All Modifier Values on a Product + example: + data: + - id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 191 + option_id: 222 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ModifierValueResponse: + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + OptionCollectionResponse: + description: '' + content: + application/json: + schema: + title: Option Collection Response + type: object + properties: + data: + type: array + items: + title: Option + type: object + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get all product options + example: + data: + - id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + OptionResponse: + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + OptionValueCollectionResponse: + description: '' + content: + application/json: + schema: + title: Option Value Collection Response + type: object + properties: + data: + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get Option Values response. + example: + data: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + meta: + pagination: + total: 4 + count: 4 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + OptionValueResponse: + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + ProductCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + ProductImageCollectionResponse: + description: '' + content: + application/json: + schema: + title: Product Image Collection Response + type: object + properties: + data: + type: array + items: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + - id: 382 + product_id: 158 + is_thumbnail: true + sort_order: 0 + description: '' + image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + - id: 383 + product_id: 158 + is_thumbnail: false + sort_order: 0 + description: '' + image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ProductImageResponse: + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + url_zoom: + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + ProductResponse: + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + ProductReviewCollectionResponse: + description: '' + content: + application/json: + schema: + title: Product Review Collection Response + type: object + properties: + data: + type: array + items: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaCollection_Full' + ProductReviewResponse: + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: -39218623 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + ProductSortOrderResponse: + description: '' + content: + application/json: + schema: + type: object + ProductVideoCollectionResponse: + description: '' + content: + application/json: + schema: + title: Product Video Collection Response + type: object + properties: + data: + type: array + items: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + title: Collection Meta + type: object + description: 'Data about the response, including pagination and collection totals.' + example: + data: + - id: 6 + type: youtube + video_id: PqBTp23RLhI + product_id: 192 + sort_order: 1 + title: Creating and Editing Banners | BigCommerce Tutorials + description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' + length: '01:54' + - id: 7 + type: youtube + video_id: EhYBjzqd-nI + product_id: 192 + sort_order: 2 + title: BigCommerce Company Values + description: |- + These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. + + Join the BigCommerce team and help us build software that changes lives! + + https://www.bigcommerce.com/careers/ + length: '03:30' + - id: 8 + type: youtube + video_id: vAUdo4kRjrU + product_id: 192 + sort_order: 3 + title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce + description: |- + We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: + + “I am given the freedom and trust to make a difference.” + + “Everyone believes in the product and growing the company.” + + “I'm appreciated for the work I do and there is room to grown within the company.” + + Work With Us! + http://www.bigcommerce.com/careers.php + length: '01:37' + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + ProductVideoResponse: + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + VariantCollectionResponse: + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + title: Collection Meta + type: object + description: 'Data about the response, including pagination and collection totals.' + VariantResponse: + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + betaCategoryCollectionResponse: + description: '' + content: + application/json: + schema: + type: object + title: Category Base + properties: + data: + type: array + items: {} + meta: + $ref: '#/components/schemas/betametaCollection_Full' + examples: + response: + value: + data: + - id: 19 + parent_id: 0 + name: Garden + description: This is the garden description + views: 0 + sort_order: 2 + page_title: page title + meta_keywords: + - meta keyword + meta_description: meta description + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: search keywords + default_product_sort: use_store_settings + custom_url: + url: /garden/ + is_customized: false + - id: 20 + parent_id: 0 + name: Publications + description: '' + views: 0 + sort_order: 4 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /publications/ + is_customized: false + - id: 21 + parent_id: 0 + name: Kitchen + description: '' + views: 0 + sort_order: 3 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /kitchen/ + is_customized: false + - id: 22 + parent_id: 0 + name: Utility + description: '' + views: 0 + sort_order: 5 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /utility/ + is_customized: false + - id: 23 + parent_id: 0 + name: Shop All + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /shop-all/ + is_customized: false + - id: 39 + parent_id: 19 + name: Bath + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /garden/bath/ + is_customized: false + meta: + pagination: + total: 6 + count: 6 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + betaCategoryResponse: + description: '' + content: + application/json: + schema: + type: object + title: Category Response + properties: + data: + $ref: '#/components/schemas/betacategory_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + parameters: + FilterTemplateFileParam: + name: template_file + in: query + description: 'The template file, for example: `pages/home`.' + schema: + type: string + FilterIdParam: + name: id + in: query + description: | + Filter items by id. + schema: + type: integer + FilterSkuParam: + name: sku + in: query + description: | + Filter items by sku. + schema: + type: string + FilterNameParam: + name: name + in: query + description: | + Filter items by name. + schema: + type: string + FilterEmailParam: + name: email + in: query + description: | + Filter items by email. + schema: + type: string + FilterSourceParam: + name: source + in: query + description: | + Filter items by source. + schema: + type: string + FilterOrderIdParam: + name: order_id + in: query + description: | + Filter items by order_id. + schema: + type: integer + FilterUpcParam: + name: upc + in: query + description: | + Filter items by upc. + schema: + type: string + FilterPriceParam: + name: price + in: query + description: | + Filter items by price. + schema: + type: number + FilterSalePriceParam: + name: sale_price + in: query + description: | + Filter items by sale_price. + schema: + type: number + FilterRetailPriceParam: + name: retail_price + in: query + description: | + Filter items by retail_price. + schema: + type: number + FilterMapPriceParam: + name: map_price + in: query + description: | + Filter items by map_price. + schema: + type: number + FilterCalculatedPriceParam: + name: calculated_price + in: query + description: | + Filter items by calculated_price. + schema: + type: number + FilterWeightParam: + name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + FilterConditionParam: + name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + FilterBrandIdParam: + name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + FilterDateModifiedParam: + name: date_modified + in: query + description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' + schema: + type: string + format: date-time + FilterDateCreatedParam: + name: date_created + in: query + description: | + Filter items by date_created. + schema: + type: string + format: date-time + FilterDateLastImportedParam: + name: date_last_imported + in: query + description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: + type: string + format: date-time + FilterIsVisibleParam: + name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + FilterIsFeaturedParam: + name: is_featured + in: query + description: | + Filter items by is_featured. + schema: + type: integer + FilterIsFreeShippingParam: + name: is_free_shipping + in: query + description: | + Filter items by is_free_shipping. + schema: + type: integer + FilterInventoryLevelParam: + name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + FilterInventoryLowParam: + name: inventory_low + in: query + description: | + Filter items by inventory_low. Values: 1, 0. + schema: + type: integer + FilterOutOfStockParam: + name: out_of_stock + in: query + description: | + Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. + schema: + type: integer + FilterTotalSoldParam: + name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + ProductFilterTypeParam: + name: type + in: query + description: 'Filter items by type: `physical` or `digital`.' + schema: + type: string + enum: + - digital + - physical + FilterCategoriesParam: + name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + FilterKeywordParam: + name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + ProductFilterKeywordParam: + name: keyword + in: query + description: | + Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. + schema: + type: string + ProductFilterKeywordContextParam: + name: keyword_context + in: query + description: Set context for a product search. + schema: + type: string + enum: + - shopper + - merchant + FilterStatusParam: + name: status + in: query + description: | + Filter items by status. + schema: + type: integer + FilterIncludeParam: + name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + FilterIncludeFieldsParam: + name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + FilterExcludeFieldsParam: + name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + FilterParentIdParam: + name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + FilterPageTitleParam: + name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + FilterAvailabilityParam: + name: availability + in: query + description: | + Filter items by availability. Values are: available, disabled, preorder. + schema: + type: string + enum: + - available + - disabled + - preorder + FilterProductIdParam: + name: product_id + in: query + description: | + A comma-separated list of ids of `Product`s whose prices were requested. + schema: + type: string + FilterVariantIdParam: + name: variant_id + in: query + description: | + The ID of the `Variant` whose prices were requested. + schema: + type: integer + FilterCurrencyParam: + name: currency + in: query + description: | + Filter items by currency. + schema: + type: string + format: ISO-4217 + PageParam: + name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + LimitParam: + name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + DirectionParam: + name: direction + in: query + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + schema: + type: string + enum: + - asc + - desc + ProductSortParam: + name: sort + in: query + description: | + Field name to sort by. + schema: + type: string + enum: + - id + - name + - sku + - price + - date_modified + - date_last_imported + - inventory_level + - is_visible + - total_sold + ProductIdParam: + name: product_id + in: path + description: | + The ID of the `Product` to which the resource belongs. + required: true + schema: + type: integer + ReviewIdParam: + name: review_id + description: | + The ID of the `review` that is being operated on. + required: true + in: path + schema: + type: integer + ImageIdParam: + name: image_id + description: | + The ID of the `Image` that is being operated on. + required: true + in: path + schema: + type: integer + VideoIdParam: + name: id + description: The BigCommerce ID of the `Video` + required: true + in: path + schema: + type: integer + ComplexRuleIdParam: + name: complex_rule_id + description: | + The ID of the `ComplexRule`. + required: true + in: path + schema: + type: integer + ConfigurableFieldIdParam: + name: configurable_field_id + description: | + The ID of the `ConfigurableField`. + required: true + in: path + schema: + type: integer + CustomFieldIdParam: + name: custom_field_id + description: | + The ID of the `CustomField`. + required: true + in: path + schema: + type: integer + BulkPricingRuleIdParam: + name: bulk_pricing_rule_id + description: | + The ID of the `BulkPricingRule`. + required: true + in: path + schema: + type: integer + ModifierIdParam: + name: modifier_id + description: | + The ID of the `Modifier`. + required: true + in: path + schema: + type: integer + ValueIdParam: + name: value_id + description: | + The ID of the `Modifier/Option Value`. + required: true + in: path + schema: + type: integer + OptionIdParam: + name: option_id + description: | + The ID of the `Option`. + required: true + in: path + schema: + type: integer + VariantIdParam: + name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + CategoryIdParam: + name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + BrandIdParam: + name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + MetafieldIdParam: + name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + MetafieldKeyParam: + name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + MetafieldNamespaceParam: + name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + OrderIdParam: + name: order_id + in: path + description: | + The ID of the `Order` to which the transactions belong. + required: true + schema: + type: integer + 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' + product_id: + name: product_id + in: query + description: |- + A comma-separated list of ids of Products whose prices were requested. For example: + `?product_id=:id` + `?product_id:in=77,80,81` + schema: + type: string + FilterIdIn: + name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdNotIn: + name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdMax: + name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdMin: + name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdGreater: + name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + FilterIdLess: + name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + betaFilterTemplateFileParam: + in: query + name: template_file + description: 'The template file, for example: `pages/home`.' + required: false + schema: + type: string + betaFilterIdParam: + name: id + description: | + Filter items by id. + required: false + in: query + schema: + type: integer + betaFilterSkuParam: + name: sku + description: | + Filter items by sku. + required: false + in: query + schema: + type: string + betaFilterNameParam: + name: name + description: | + Filter items by name. + required: false + in: query + schema: + type: string + betaFilterEmailParam: + name: email + description: | + Filter items by email. + required: false + in: query + schema: + type: string + betaFilterSourceParam: + name: source + description: | + Filter items by source. + required: false + in: query + schema: + type: string + betaFilterOrderIdParam: + name: order_id + description: | + Filter items by order_id. + required: false + in: query + schema: + type: integer + betaFilterUpcParam: + name: upc + description: | + Filter items by upc. + required: false + in: query + schema: + type: string + betaFilterPriceParam: + name: price + description: | + Filter items by price. + required: false + in: query + schema: + type: number + betaFilterSalePriceParam: + name: sale_price + description: | + Filter items by sale_price. + required: false + in: query + schema: + type: number + betaFilterRetailPriceParam: + name: retail_price + description: | + Filter items by retail_price. + required: false + in: query + schema: + type: number + betaFilterMapPriceParam: + name: map_price + description: | + Filter items by map_price. + required: false + in: query + schema: + type: number + betaFilterCalculatedPriceParam: + name: calculated_price + description: | + Filter items by calculated_price. + required: false + in: query + schema: + type: number + betaFilterWeightParam: + name: weight + description: | + Filter items by weight. + required: false + in: query + schema: + type: number + betaFilterConditionParam: + name: condition + description: | + Filter items by condition. + required: false + in: query + schema: + type: string + enum: + - new + - used + - refurbished + betaFilterBrandIdParam: + name: brand_id + description: | + Filter items by brand_id. + required: false + in: query + schema: + type: integer + betaFilterDateModifiedParam: + name: date_modified + description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' + required: false + in: query + schema: + type: string + format: date-time + betaFilterDateCreatedParam: + name: date_created + description: | + Filter items by date_created. + required: false + in: query + schema: + type: string + format: date-time + betaFilterDateLastImportedParam: + name: date_last_imported + description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + required: false + in: query + schema: + type: string + format: date-time + betaFilterIsVisibleParam: + name: is_visible + description: 'Filter items by if visible on the storefront. ' + required: false + in: query + schema: + type: boolean + betaFilterIsFeaturedParam: + name: is_featured + description: | + Filter items by is_featured. + required: false + in: query + schema: + type: integer + betaFilterIsFreeShippingParam: + name: is_free_shipping + description: | + Filter items by is_free_shipping. + required: false + in: query + schema: + type: integer + betaFilterInventoryLevelParam: + name: inventory_level + description: | + Filter items by inventory_level. + required: false + in: query + schema: + type: integer + betaFilterInventoryLowParam: + name: inventory_low + description: | + Filter items by inventory_low. Values: 1, 0. + required: false + in: query + schema: + type: integer + betaFilterOutOfStockParam: + name: out_of_stock + description: | + Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. + required: false + in: query + schema: + type: integer + betaFilterTotalSoldParam: + name: total_sold + description: | + Filter items by total_sold. + required: false + in: query + schema: + type: integer + betaProductFilterTypeParam: + name: type + description: 'Filter items by type: `physical` or `digital`.' + required: false + in: query + schema: + type: string + enum: + - digital + - physical + betaFilterCategoriesParam: + name: categories + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + required: false + in: query + schema: + type: integer + betaFilterKeywordParam: + name: keyword + description: 'Filter items by keywords. eg. new, towel, bath' + required: false + in: query + schema: + type: string + betaProductFilterKeywordParam: + name: keyword + description: | + Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. + required: false + in: query + schema: + type: string + betaProductFilterKeywordContextParam: + name: keyword_context + description: Set context for a product search. + required: false + in: query + schema: + type: string + enum: + - shopper + - merchant + betaFilterStatusParam: + name: status + description: | + Filter items by status. + required: false + in: query + schema: + type: integer + betaFilterIncludeParam: + name: include + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + required: false + in: query + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + betaFilterIncludeFieldsParam: + name: include_fields + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + required: false + in: query + schema: + type: string + betaFilterExcludeFieldsParam: + name: exclude_fields + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + required: false + in: query + schema: + type: string + betaFilterParentIdParam: + name: parent_id + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + required: false + in: query + schema: + type: integer + betaFilterPageTitleParam: + name: page_title + description: | + Filter items by page_title. + required: false + in: query + schema: + type: string + betaFilterAvailabilityParam: + name: availability + description: | + Filter items by availability. Values are: available, disabled, preorder. + required: false + in: query + schema: + type: string + enum: + - available + - disabled + - preorder + betaFilterProductIdParam: + name: product_id + in: query + required: false + description: | + A comma-separated list of ids of `Product`s whose prices were requested. + schema: + type: string + betaFilterVariantIdParam: + name: variant_id + in: query + required: false + description: | + The ID of the `Variant` whose prices were requested. + schema: + type: integer + betaFilterCurrencyParam: + name: currency + description: | + Filter items by currency. + required: false + in: query + schema: + type: string + format: ISO-4217 + betaPageParam: + name: page + description: Specifies the page number in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + betaLimitParam: + name: limit + description: Controls the number of items per page in a limited (paginated) list of products. + required: false + in: query + schema: + type: integer + betaDirectionParam: + name: direction + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + required: false + in: query + schema: + type: string + enum: + - asc + - desc + betaProductSortParam: + name: sort + description: | + Field name to sort by. + required: false + in: query + schema: + type: string + enum: + - id + - name + - sku + - price + - date_modified + - date_last_imported + - inventory_level + - is_visible + - total_sold + betaFilterIdIn: + in: query + name: 'id:in' + schema: + type: array + items: + type: integer + betaFilterIdNotIn: + in: query + name: 'id:not_in' + schema: + type: array + items: + type: integer + betaFilterIdMax: + in: query + name: 'id:max' + schema: + type: array + items: + type: integer + betaFilterIdMin: + in: query + name: 'id:min' + schema: + type: array + items: + type: integer + betaFilterIdGreater: + in: query + name: 'id:greater' + schema: + type: array + items: + type: integer + betaFilterIdLess: + in: query + name: 'id:less' + schema: + type: array + items: + type: integer + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header + From 9040a4b1de9f061549e6036726a3e997cb7a5769 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 11 Apr 2023 11:53:24 -0500 Subject: [PATCH 139/360] DEVDOCS-3540: [update] Catalog V3, change option_values to array (#1259) Co-authored-by: Traci Porter Co-authored-by: @kamsar --- reference/catalog.v3.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 1c963614d..8080b7192 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -647,7 +647,7 @@ paths: date_modified: '2019-08-24T14:15:22Z' videos: - title: Writing Great Documentation - description: A video about documenation + description: A video about documentation sort_order: 1 type: youtube video_id: z3fRu9pkuXE @@ -692,11 +692,11 @@ paths: product_list_shipping_calc: weight sort_order: 1 option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 + - is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 modifiers: - type: date required: true @@ -17351,7 +17351,9 @@ components: description: 'Order in which the option is displayed on the storefront. ' example: 1 option_values: - $ref: '#/components/schemas/productOptionOptionValue_Full' + type: array + items: + $ref: '#/components/schemas/productOptionOptionValue_Full' description: Common Option properties. x-internal: false productOption_Full: From 15228239db38f71eae948ec8be6c3f7c90c66d68 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 11 Apr 2023 12:00:58 -0500 Subject: [PATCH 140/360] DEVDOCS-3395: [update] Pages V2, add deprecation callouts (#1266) Co-authored-by: Traci Porter --- reference/pages.v3.yml | 2 +- reference/store_content.v2.yml | 93 ++++++++++++++++++++++------------ 2 files changed, 63 insertions(+), 32 deletions(-) diff --git a/reference/pages.v3.yml b/reference/pages.v3.yml index 4b7f3b367..cbb9094ab 100644 --- a/reference/pages.v3.yml +++ b/reference/pages.v3.yml @@ -215,7 +215,7 @@ paths: > #### Warning > **Pay attention to query parameters** - > If you attempt to delete multiple pages by passing more than one `pageId`` to `id:in` and one or more of them does not exist, you will receive a 404 response. However, the pages corresponding to the `pagesId`s that do exist will still be deleted. + > If you attempt to delete multiple pages by passing more than one page ID to `id:in` and one or more of them does not exist, you will receive a 404 response. However, the pages corresponding to the page IDs that do exist will still be deleted. responses: '204': $ref: '#/components/responses/HTTP204' diff --git a/reference/store_content.v2.yml b/reference/store_content.v2.yml index 666ada14b..b25af3b56 100644 --- a/reference/store_content.v2.yml +++ b/reference/store_content.v2.yml @@ -5,7 +5,9 @@ info: Manage blog posts, blog tags, content pages, and redirects. > #### Warning - > * Redirects V2 are deprecated; use [V3 Redirects](/docs/rest-management/redirects) instead. + > **Deprecations** + > * Redirects V2 are deprecated; use [Redirects V3](/docs/rest-management/redirects) instead. + > * Pages V2 are deprecated; use [Pages V3](/docs/rest-content/pages) instead. version: '' termsOfService: 'https://www.bigcommerce.com/terms' contact: @@ -147,7 +149,7 @@ paths: title: Your first blog post! url: /your-first-blog-post/ preview_url: /your-first-blog-post/ - body: "

Welcome to your blog!
A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look at the BigCommerce ecommerce blog.

How can I delete this post?
To delete this post and add your own, login to your admin area and go to Storefront > Blog in the left hand menu.

Powered by Bigcommerce
Your website, online store and blog are powered by Bigcommerce ecommerce software. It includes everything you need to run a beautiful online store including ecommerce website templates, ecommerce hosting, an online shopping cart and more.

" + body: "

Welcome to your blog!
A blog is a great place to share details on your products, business and whatever else you think your shoppers might like to hear from you. You can include photos in your blog posts and even videos. For ideas and inspiration on how to structure your blog, take a look at the BigCommerce ecommerce blog.

How can I delete this post?
To delete this post and add your own, login to your admin area and go to Storefront > Blog in the left hand menu.

Powered by BigCommerce
Your website, online store and blog are powered by BigCommerce ecommerce software. It includes everything you need to run a beautiful online store including ecommerce website templates, ecommerce hosting, an online shopping cart and more.

" tags: - Blog - SEO @@ -343,7 +345,7 @@ paths: author: BigCommerce thumbnail_path: '' '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occurred, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' content: application/json: schema: @@ -381,10 +383,17 @@ paths: parameters: - $ref: '#/components/parameters/Accept' get: + deprecated: true tags: - Pages summary: Get All Pages - description: 'Returns a list of *Pages*. Default sorting is by auto-generated ID from oldest to newest. This endpoint is deprecated. ' + description: | + Returns a list of *Pages*. Default sorting is by auto-generated ID from oldest to newest. + + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * To get one or more pages, use Pages V3ʼs [Get pages](/docs/rest-content/pages#get-pages) endpoint. To get a single page, use Pages V3ʼs [Get a page](/docs/rest-content/pages#get-a-page) endpoint. operationId: getAllPages parameters: - name: page @@ -432,13 +441,13 @@ paths: meta_title: '' search_keywords: '' meta_keywords: '' - deprecated: true post: + deprecated: true tags: - Pages summary: Create a Page description: |- - Creates a *Page*. The payload limit is 1MB. This endpoint is deprecated. + Creates a *Page*. The request payload limit is 1MB. **Required Fields** * `type` @@ -453,6 +462,11 @@ paths: ## Content Type The default value for `content_type` is `text/html`; however, if `page_type` is set to `raw`, `content_type` can be changed to `text/javascript` or `application/json`. Updating this field allows you to place a JavaScript or a JSON file in the root directory. + + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * To create one or more pages, use Pages V3ʼs [Create pages](/docs/rest-content/pages#create-pages) endpoint. operationId: createAPage parameters: - $ref: '#/components/parameters/ContentType' @@ -514,12 +528,11 @@ paths: search_keywords: '' meta_keywords: '' '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occurred, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' content: application/json: schema: type: object - deprecated: true x-codegen-request-body-name: body '/pages/{id}': parameters: @@ -533,10 +546,17 @@ paths: exclusiveMinimum: false type: integer get: + deprecated: true tags: - Pages summary: Get A Page - description: Returns a *Page*. This endpoint is deprecated. + description: | + Returns a *Page*. + + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * To get a single page, use Pages V3ʼs [Get a page](/docs/rest-content/pages#get-a-page) endpoint. operationId: getAPage responses: '200': @@ -565,16 +585,21 @@ paths: link: '' mobile_body: '0' url: /rss-syndication/ - deprecated: true put: + deprecated: true tags: - Pages summary: Update a Page description: |- - Updates a *Page*. The payload limit is 1MB. This endpoint is deprecated. + Updates a *Page*. The request payload limit is 1MB. **Read Only Fields** * id + + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * To update multiple pages, use Pages V3ʼs [Update pages](/docs/rest-content/pages#update-pages) endpoint. To update a single page, use Pages V3ʼs [Update a page](/docs/rest-content/pages#update-a-page) endpoint. operationId: updateAPage parameters: - $ref: '#/components/parameters/ContentType' @@ -612,28 +637,34 @@ paths: mobile_body: '' url: /shipping-returns/ '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occurred, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' content: application/json: schema: type: object - deprecated: true x-codegen-request-body-name: body delete: + deprecated: true tags: - Pages summary: Delete a Page - description: 'Deletes a *Page*. This endpoint is deprecated. ' + description: | + Deletes a *Page*. + + > #### Warning + > **Deprecated** + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * To delete multiple pages, use Pages V3ʼs [Delete pages](/docs/rest-content/pages#delete-pages) endpoint. To delete a single page, use Pages V3ʼs [Delete a page](/docs/rest-content/pages#delete-a-page) endpoint. operationId: deleteAPage responses: '204': description: '' content: {} - deprecated: true '/redirects': parameters: - $ref: '#/components/parameters/Accept' get: + deprecated: true tags: - Redirects summary: Get All Redirects @@ -642,8 +673,8 @@ paths: > #### Warning > **Deprecated** - >* This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. - >* For the most up-to-date version of this API, see [Get Redirects v3](/docs/rest-management/redirects#get-redirects) to manage redirect URLs. + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * To get redirect URLs, use Redirects V3ʼs [Get redirects](/docs/rest-management/redirects#get-redirects) endpoint. operationId: getAListofRedirects parameters: - name: page @@ -671,7 +702,6 @@ paths: $ref: '#/components/schemas/redirect' Response Schema: example: '' - deprecated: true post: tags: - Redirects @@ -690,7 +720,7 @@ paths: > #### Warning > **Deprecated** > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. - > * For the most up-to-date version of this API, see [Upsert Redirects v3](/docs/rest-management/redirects#upsert-redirects) to upsert new redirect data. + > * To upsert new redirect data, use Redirects V3ʼs [Upsert redirects](/docs/rest-management/redirects#upsert-redirects) endpoint. operationId: createARedirect parameters: - $ref: '#/components/parameters/ContentType' @@ -716,6 +746,7 @@ paths: url: 'http://store.example.com/mens' x-codegen-request-body-name: body delete: + deprecated: true tags: - Redirects summary: Delete All Redirects @@ -724,9 +755,9 @@ paths: > #### Warning - >**Deprecated** + > **Deprecated** > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. - > * For the most up-to-date version of this API, see [Delete Redirects v3](/docs/rest-management/redirects#delete-redirects) to delete redirect URLs. + > * To delete redirect URLs, use Redirects V3ʼs [Delete redirects](/docs/rest-management/redirects#delete-redirects) endpoint. operationId: deleteAllRedirects responses: '204': @@ -744,6 +775,7 @@ paths: exclusiveMinimum: false type: integer get: + deprecated: true tags: - Redirects summary: Get a Redirect @@ -751,9 +783,9 @@ paths: Returns a single *Redirect URL*. > #### Warning - >**Deprecated** + > **Deprecated** > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. - > * For the most up-to-date version of this API, see [Get Redirects v3](/docs/rest-management/redirects#get-redirects) to get a redirect URL. + > * To get a redirect URL, use Redirects V3ʼs [Get redirects](/docs/rest-management/redirects#get-redirects) endpoint. operationId: getARedirectURL responses: '200': @@ -769,7 +801,6 @@ paths: type: product ref: 111 url: 'http://store-url.mybigcommerce.com/towels/bath-towels/hand-towels/' - deprecated: true put: tags: - Redirects @@ -788,7 +819,7 @@ paths: > #### Warning > **Deprecated** > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. - > * For the most up-to-date version of this API, see [Upsert Redirects v3](/docs/rest-management/redirects#upsert-redirects) to update redirect data. + > * To update redirect data, use Redirects V3ʼs [Upsert redirects](/docs/rest-management/redirects#upsert-redirects) endpoint. operationId: updateARedirectURL parameters: - $ref: '#/components/parameters/ContentType' @@ -858,8 +889,8 @@ paths: > #### Warning > **Deprecated** - > This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. - > For the most up-to-date version of this API, see [Delete Redirects v3](/docs/rest-management/redirects#delete-redirects) to delete a redirect URL. + > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. + > * To delete a redirect URL, use Redirects V3ʼs [Delete redirects](/docs/rest-management/redirects#delete-redirects) endpoint. operationId: deleteARedirect responses: '204': @@ -869,6 +900,7 @@ paths: parameters: - $ref: '#/components/parameters/Accept' get: + deprecated: true tags: - Redirects summary: Get a Count of Redirects @@ -878,7 +910,7 @@ paths: > #### Warning > **Deprecated** > * This API operation is deprecated. Avoid using this API operation if possible. It will be removed in a future version. - > * For the most up-to-date version of this API, see [Get Redirects v3](/docs/rest-management/redirects#get-redirects) to get a count of redirects. + > * To get a count of redirects, use the `meta` object data returned with the Redirects V3ʼs [Get redirects](/docs/rest-management/redirects#get-redirects) endpoint. operationId: getACountOfRedirects responses: '200': @@ -889,7 +921,6 @@ paths: $ref: '#/components/schemas/count_Response' example: count: 27 - deprecated: true components: parameters: Accept: @@ -1506,7 +1537,7 @@ components: description: Comma-separated list of SEO-relevant keywords to include in the page’s `` element. feed: type: string - description: If page type is `rss_feed` the n this field is visisble. Required in POST required for `rss page` type. + description: If page type is `rss_feed` then this field is visible. Required in POST required for `rss page` type. link: type: string description: If page type is `link` this field is returned. Required in POST to create a `link` page. @@ -1597,7 +1628,7 @@ components: description: Comma-separated list of SEO-relevant keywords to include in the page’s `` element. feed: type: string - description: If page type is `rss_feed` then this field is visisble. + description: If page type is `rss_feed` then this field is visible. link: type: string description: If page type is `link` this field is returned. From c9a405de79c7aa45825b2376a3194fa444ced568 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 11 Apr 2023 13:31:08 -0500 Subject: [PATCH 141/360] DEVDOCS-3396: [update] Catalog V3, mark url properties readOnly (#1267) --- reference/catalog.v3.yml | 53 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 8080b7192..0b07aea88 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -1995,18 +1995,22 @@ paths: The local path to the original image file uploaded to BigCommerce. A `multipart/form-data` media type. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -2062,18 +2066,22 @@ paths: The local path to the original image file uploaded to BigCommerce. A `multipart/form-data` media type. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -2139,18 +2147,22 @@ paths: A `multipart/form-data` media type. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -2190,18 +2202,22 @@ paths: The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. A `multipart/form-data` media type. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -2424,18 +2440,22 @@ paths: description: | The local path to the original image file uploaded to BigCommerce. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -2474,18 +2494,22 @@ paths: description: | The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -18900,18 +18924,22 @@ components: description: | The local path to the original image file uploaded to BigCommerce. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -18958,18 +18986,22 @@ components: description: | The unique numeric identifier for the product with which the image is associated. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -20145,18 +20177,22 @@ components: description: | The unique numeric identifier for the product with which the image is associated. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -25310,18 +25346,22 @@ components: description: | The local path to the original image file uploaded to BigCommerce. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -25360,18 +25400,22 @@ components: description: | The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -25451,18 +25495,22 @@ components: description: | The local path to the original image file uploaded to BigCommerce. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -25501,18 +25549,22 @@ components: description: | The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. url_zoom: + readOnly: true type: string description: | The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. url_standard: + readOnly: true type: string description: | The standard URL for this image. By default, this is used for product-page images. url_thumbnail: + readOnly: true type: string description: | The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. url_tiny: + readOnly: true type: string description: | The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. @@ -27632,4 +27684,3 @@ components: For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). type: apiKey in: header - From 195f2dc92e300fcab9078159414ded3b80aa4218 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 11 Apr 2023 13:50:32 -0500 Subject: [PATCH 142/360] DEVDOCS-4853: [update] Email Templates, fix operating hours schema (#1265) Catalog conflict resolved by @slsriehl --- models/email_templates/_all.yml | 227 +++++++++++++++++--------------- 1 file changed, 120 insertions(+), 107 deletions(-) diff --git a/models/email_templates/_all.yml b/models/email_templates/_all.yml index 46a872fdd..01a2b3f13 100644 --- a/models/email_templates/_all.yml +++ b/models/email_templates/_all.yml @@ -1319,74 +1319,81 @@ properties: properties: sunday: type: object - is_open: - type: boolean - opening_time: - formatted: + properties: + is_open: + type: boolean + opening_time: + formatted: type: string - closing_time: + closing_time: formatted: type: string monday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string tuesday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string wednesday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string thursday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string friday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string saturday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string payment: type: object properties: @@ -1733,75 +1740,81 @@ properties: properties: sunday: type: object - is_open: - type: boolean - opening_time: - formatted: + properties: + is_open: + type: boolean + opening_time: + formatted: type: string - closing_time: + closing_time: formatted: type: string monday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string tuesday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string wednesday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string thursday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string - + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string friday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string saturday: type: object - is_open: - type: boolean - opening_time: - formatted: - type: string - closing_time: - formatted: - type: string + properties: + is_open: + type: boolean + opening_time: + formatted: + type: string + closing_time: + formatted: + type: string store: type: object properties: From e77c0187c01d9e458e55d85dd3dfc0d6cb1f8bf9 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 13 Apr 2023 16:37:33 -0500 Subject: [PATCH 143/360] (no ticket): [update] Carts V3, Remove redundant examples (#1258) * fix(checkout): CHECKOUT-7328 Update discounted_amount description (#1186) --- reference/carts.v3.yml | 14 ++++------ reference/catalog.v3.yml | 14 ++++++++++ reference/price_lists.v3.yml | 54 ++++++++++++++++++++++++++++++------ 3 files changed, 65 insertions(+), 17 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index a43cc8076..4ed8c227c 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -77,6 +77,7 @@ paths: $ref: '#/components/schemas/CartCreatePostData' examples: Simple Product: + summary: Creating a cart by adding a simple product without option selections. value: customer_id: 0 line_items: @@ -89,6 +90,7 @@ paths: code: USD locale: en-US Cart with a variant: + summary: Creating a cart with a product that can be specified purely by a variant, without any other required options. value: customer_id: 0 line_items: @@ -107,6 +109,7 @@ paths: code: JOD locale: ar-JO Cart with date option: + summary: Creating a cart using a date option. value: line_items: - quantity: 1 @@ -120,7 +123,8 @@ paths: currency: code: MXN locale: es-MX - 'Cart with variant, a checkbox, and a pick list modifier': + Cart with variant, a checkbox, and a pick list modifier: + summary: Creating a cart with a variant, a checkbox, and an added picklist modifier. value: customer_id: 0 line_items: @@ -143,6 +147,7 @@ paths: code: AUD locale: en-AU Custom item: + summary: Creating a cart using a custom item. value: customer_id: 0 line_items: [] @@ -173,13 +178,6 @@ paths: code: usd locale: en-US description: |- - **Examples:** - - 1. Creating a cart by adding a simple product (a product without option selections). - 2. Creating a cart with a variant. This works when a product can be specified purely by a variant, without any other required options. - 3. Creating a cart using a date option. The API supports timestamps, “option_value”: 1743570000, and dates as an object literal, “option_value”: {“day”:”01”, “month”:”02”, “year”:”2020”}. - 4. Creating a cart with a variant, a checkbox, and a picklist modifier added. - 5. Creating a cart using a custom item. required: true x-examples: Simple Product: |- diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 0b07aea88..7ab3eb1cb 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -453,6 +453,8 @@ paths: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -572,6 +574,8 @@ paths: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -1395,6 +1399,8 @@ paths: categories: - 23 - 21 + channels: + - 1 brand_id: 36 option_set_id: 55 option_set_display: right @@ -20602,6 +20608,8 @@ components: product_tax_code: string categories: - 0 + channels: + - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -20791,6 +20799,12 @@ components: - post items: type: integer + channels: + type: array + description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' + items: + type: number + example: 1 brand_id: maximum: 1000000000 minimum: 0 diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index a8b11d46f..402f11925 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1524,15 +1524,51 @@ paths: content: application/json: schema: - title: Price Records response - type: object - properties: - data: - type: object - properties: {} - meta: - type: object - properties: {} + type: array + items: + type: object + properties: + variant_id: + type: integer + sku: + type: string + currency: + type: string + price: + type: number + sale_price: + type: integer + retail_price: + type: integer + map_price: + type: integer + bulk_pricing_tiers: + type: array + items: + type: object + properties: + quantity_min: + type: integer + quantity_max: + type: integer + type: + type: string + amount: + type: integer + x-examples: + example-1: + - variant_id: 331 + sku: SMB-123 + currency: usd + price: 3.99 + sale_price: 3.49 + retail_price: 4.99 + map_price: 2.5 + bulk_pricing_tiers: + - quantity_min: 1 + quantity_max: 10 + type: fixed + amount: 3 '422': description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. content: From 2a7cb0b1dac232b09be8d88e6837bb3ea26f4b9a Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 13 Apr 2023 19:04:41 -0500 Subject: [PATCH 144/360] (no ticket): [rollback] Catalog & Price Lists, remove unintended commits (#1273) --- reference/catalog.v3.yml | 14 ---------- reference/price_lists.v3.yml | 54 ++++++------------------------------ 2 files changed, 9 insertions(+), 59 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 7ab3eb1cb..0b07aea88 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -453,8 +453,6 @@ paths: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -574,8 +572,6 @@ paths: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -1399,8 +1395,6 @@ paths: categories: - 23 - 21 - channels: - - 1 brand_id: 36 option_set_id: 55 option_set_display: right @@ -20608,8 +20602,6 @@ components: product_tax_code: string categories: - 0 - channels: - - 1 brand_id: 0 inventory_level: 0 inventory_warning_level: 0 @@ -20799,12 +20791,6 @@ components: - post items: type: integer - channels: - type: array - description: 'Optional. You can supply a single ID, multiple IDs, or leave the field empty.' - items: - type: number - example: 1 brand_id: maximum: 1000000000 minimum: 0 diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 402f11925..a8b11d46f 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1524,51 +1524,15 @@ paths: content: application/json: schema: - type: array - items: - type: object - properties: - variant_id: - type: integer - sku: - type: string - currency: - type: string - price: - type: number - sale_price: - type: integer - retail_price: - type: integer - map_price: - type: integer - bulk_pricing_tiers: - type: array - items: - type: object - properties: - quantity_min: - type: integer - quantity_max: - type: integer - type: - type: string - amount: - type: integer - x-examples: - example-1: - - variant_id: 331 - sku: SMB-123 - currency: usd - price: 3.99 - sale_price: 3.49 - retail_price: 4.99 - map_price: 2.5 - bulk_pricing_tiers: - - quantity_min: 1 - quantity_max: 10 - type: fixed - amount: 3 + title: Price Records response + type: object + properties: + data: + type: object + properties: {} + meta: + type: object + properties: {} '422': description: Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. content: From 298ead5a6926ebfa87d970430d77ad9a76f20869 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 17 Apr 2023 15:12:47 -0500 Subject: [PATCH 145/360] (many tickets): [update] Catalog, final updates before file split (#1275) Co-authored-by: Vitali Judin Co-authored-by: Kan Zhang --- reference/catalog.v3.yml | 65 +++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 0b07aea88..230140397 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -436,7 +436,8 @@ paths: examples: example-1: value: - - name: Smith Journal 13 + - id: 0 + name: Smith Journal 13 type: physical sku: SM-13 description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' @@ -14974,14 +14975,17 @@ paths: parameters: - name: id in: query - description: | - Filter items by id. + description: Filter items by ID. schema: type: integer - name: sku in: query - description: | - Filter items by sku. + description: Filter items by SKU. + schema: + type: string + - name: upc + in: query + description: Filter items by UPC. schema: type: string - name: page @@ -14996,12 +15000,12 @@ paths: type: integer - name: include_fields in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned. schema: type: string - name: exclude_fields in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + description: Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded. schema: type: string - name: product_id @@ -19989,7 +19993,7 @@ components: - type: object properties: errors: - $ref: '#/components/schemas/detailedErrors' + $ref: '#/components/schemas/DetailedErrors' x-internal: false error_Base: title: error_Base @@ -20026,7 +20030,7 @@ components: type: string description: A BigCommerce-defined error signifier. errors: - $ref: '#/components/schemas/detailedErrors' + $ref: '#/components/schemas/DetailedErrors' errorNotFound: title: errorNotFound type: object @@ -20099,8 +20103,8 @@ components: type: string description: No-content response for the BigCommerce API. x-internal: false - detailedErrors: - title: detailedErrors + DetailedErrors: + title: DetailedErrors description: Each key-value pair describes a failure or partial success case. type: object properties: {} @@ -20207,12 +20211,21 @@ components: title: product_Put_Collection description: The model for batch updating products. x-internal: false - allOf: - - items: - $ref: '#/components/schemas/product_Base' + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Product*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/product_Base' x-examples: example-1: - - name: Smith Journal 13 + - id: 0 + name: Smith Journal 13 type: physical sku: SM-13 description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' @@ -21156,7 +21169,7 @@ components: - type: object properties: errors: - $ref: '#/components/schemas/detailedErrors' + $ref: '#/components/schemas/DetailedErrors' x-internal: false errorResponse_422: title: errorResponse_422 @@ -21175,7 +21188,7 @@ components: - type: object properties: errors: - $ref: '#/components/schemas/detailedErrors' + $ref: '#/components/schemas/DetailedErrors' x-internal: false productSortOrder: title: productSortOrder @@ -21377,7 +21390,7 @@ components: - type: object properties: errors: - $ref: '#/components/schemas/betadetailedErrors' + $ref: '#/components/schemas/betaDetailedErrors' title: errorResponse_Full x-tags: - Models @@ -21437,9 +21450,9 @@ components: title: errorNoContent x-tags: - Models - betadetailedErrors: + betaDetailedErrors: type: object - title: detailedErrors + title: DetailedErrors properties: {} additionalProperties: true x-tags: @@ -21459,7 +21472,7 @@ components: type: string - properties: errors: - $ref: '#/components/schemas/betadetailedErrors' + $ref: '#/components/schemas/betaDetailedErrors' type: object x-tags: - Models @@ -21478,7 +21491,7 @@ components: type: string - properties: errors: - $ref: '#/components/schemas/betadetailedErrors' + $ref: '#/components/schemas/betaDetailedErrors' type: object x-tags: - Models @@ -21725,14 +21738,6 @@ components: example: '?limit=5&page=3' x-tags: - Models - DetailedErrors: - description: | - Details of errors. - type: object - properties: {} - additionalProperties: true - x-tags: - - Models ErrorRequest: type: object properties: From 319d333d2b7947753c8009ad782d7d20380bea49 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 18 Apr 2023 10:32:43 -0500 Subject: [PATCH 146/360] DEVDOCS-4893: [update] Ordersv2, delete all request to support limit param (#1281) Co-authored-by: Bin Li --- reference/orders.v2.oas2.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index dcb6d7367..bae0da00c 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -406,6 +406,8 @@ paths: summary: Delete All Orders tags: - Orders + parameters: + - $ref: '#/components/parameters/limit' responses: '204': description: '' From 22fd33c0797a16c3aadf9ba4a50c4a67fd3cb9a4 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 18 Apr 2023 14:21:33 -0500 Subject: [PATCH 147/360] DEVDOCS-4836: [update] Settings API, add Inventory Settings fields (#1282) * add 2 fields * changed default --- reference/settings.v3.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index 2c1530301..165d69558 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -1973,6 +1973,16 @@ components: hide_in_product_filtering: type: boolean description: 'Describes whether an option is hidden in product filtering. Applies when `option_out_of_stock_behavior` is set to `label_option`. ' + show_pre_order_stock_levels: + type: boolean + description: Describes whether pre-order stock levels are shown. + default: false + example: true + show_out_of_stock_message: + type: boolean + description: Describes whether out-of-stock messages are shown on product listing pages. + default: false + example: true Locale: description: 'The basic locale settings for a store, used to give shopper information about languages, countries, etc.' type: object From d54382ceb9df2cd83c853200fc709baaf361b82f Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 26 Apr 2023 16:11:57 -0500 Subject: [PATCH 148/360] DEVDOCS-4559: [update] Orders V2, add name length properties on CustomProduct (#1271) --- reference/orders.v2.oas2.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index bae0da00c..7e801a88a 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -4740,6 +4740,8 @@ components: type: string example: Fog Linen Chambray Towel - Beige Stripe description: Alias for name_customer. The product name that is shown to customer in storefront. + minLength: 1 + maxLength: 250 name_customer: type: string example: Fog Linen Chambray Towel - Beige Stripe From 246e62bf05ee3ece895b2f271bd0885bd5316931 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 26 Apr 2023 16:14:45 -0500 Subject: [PATCH 149/360] DEVDOCS-4895: [update] Carts V3, update name length properties on custom product (#1272) --- reference/carts.v3.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 4ed8c227c..93ad69ba2 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -2643,6 +2643,8 @@ components: type: string name: type: string + minLength: 1 + maxLength: 250 quantity: type: number list_price: From d5437fc59eec5f5bab2cbb8bf4ee5e5ecc07b963 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 1 May 2023 14:04:49 -0500 Subject: [PATCH 150/360] DEVDOCS-4884: [revise] Catalog, break up the spec file (#1278) Co-authored-by: Traci Porter Co-authored-by: Tina Gomez --- reference/catalog/brands_catalog.v3.yml | 1950 ++++ reference/catalog/categories_catalog.v3.yml | 2432 +++++ .../catalog/category-trees_catalog.v3.yml | 1120 +++ .../catalog/product-modifiers_catalog.v3.yml | 2856 ++++++ .../product-variant-options_catalog.v3.yml | 2492 +++++ .../catalog/product-variants_catalog.v3.yml | 2422 +++++ reference/catalog/products_catalog.v3.yml | 8866 +++++++++++++++++ 7 files changed, 22138 insertions(+) create mode 100644 reference/catalog/brands_catalog.v3.yml create mode 100644 reference/catalog/categories_catalog.v3.yml create mode 100644 reference/catalog/category-trees_catalog.v3.yml create mode 100644 reference/catalog/product-modifiers_catalog.v3.yml create mode 100644 reference/catalog/product-variant-options_catalog.v3.yml create mode 100644 reference/catalog/product-variants_catalog.v3.yml create mode 100644 reference/catalog/products_catalog.v3.yml diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml new file mode 100644 index 000000000..c6523a50f --- /dev/null +++ b/reference/catalog/brands_catalog.v3.yml @@ -0,0 +1,1950 @@ +openapi: '3.0.3' +info: + title: Catalog - Brands + description: |- + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + + Our Catalog Brands endpoints let you [create individual brands](/docs/rest-catalog/brands#create-a-brand) and [modify the brands](/docs/rest-catalog/brands#update-a-brand) associated with a store's products, along with [deleting brands](/docs/rest-catalog/brands#delete-a-brand). + + Brand images have their own dedicated [create a brand image](/docs/rest-catalog/brands#create-a-brand-image) and [delete a brand image](/docs/rest-catalog/brands#delete-a-brand-image) endpoints. + + In addition, brands have metafields that you can use to store information structured in key-value pairs; learn more about [creating brand metafields](/docs/rest-catalog/brands#create-a-brand-metafield), [updating brand metafields](/docs/rest-catalog/brands#update-a-brand-metafield), and [deleting brand metafields](/docs/rest-catalog/brands#delete-a-brand-metafield). + + > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + ### Webhooks + * [Category](/api-docs/store-management/webhooks/events#category) + + ### Additional Catalog endpoints + * [Categories](/docs/rest-catalog/categories) + * [Category Trees](/docs/rest-catalog/category-trees) + * [Products](/docs/rest-catalog/products) + * [Product Modifiers](/docs/rest-catalog/product-modifiers) + * [Product Variants](/docs/rest-catalog/product-variants) + * [Product Variant Options](/docs/rest-catalog/product-variant-options) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Brands + - name: Images + - name: Metafields +paths: + '/catalog/brands': + get: + tags: + - Brands + summary: Get All Brands + description: Returns a list of *Brands*. Optional filter parameters can be passed in. + operationId: getBrands + parameters: + - name: id + in: query + description: | + Filter items by ID. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/brand_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 35 + name: Sagaform + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: '' + search_keywords: '' + custom_url: + url: /brands/Sagaform.html + is_customized: false + - id: 36 + name: OFS + page_title: OFS + meta_keywords: + - modern + - ' clean' + - ' contemporary' + meta_description: OFS is a modern brand. + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/OFS.html + is_customized: false + - id: 37 + name: Common Good + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/k/screen%20shot%202018-05-07%20at%2012.24.24%20pm_1525785365__65102.png' + search_keywords: '' + custom_url: + url: /brands/Common-Good.html + is_customized: false + - id: 38 + name: BigCommerce + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: '' + search_keywords: '' + custom_url: + url: /bigcommerce/ + is_customized: false + - id: 39 + name: Test Brand One + page_title: '' + meta_keywords: + - '' + meta_description: '' + image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/q/apihqggzm__53766.jpg' + search_keywords: '' + custom_url: + url: /test-brand-one/ + is_customized: false + - id: 40 + name: Fog Linen Work + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /fog-linen-work/ + is_customized: false + - id: 41 + name: Barr-Co. + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /barr-co/ + is_customized: false + - id: 42 + name: Thames & Hudson + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /thames-hudson/ + is_customized: false + - id: 43 + name: Able Brewing + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /able-brewing/ + is_customized: false + - id: 44 + name: Chemex + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /chemex/ + is_customized: false + - id: 45 + name: Kinfolk + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /kinfolk/ + is_customized: false + - id: 46 + name: Iris Hantverk + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /iris-hantverk/ + is_customized: false + - id: 47 + name: Gather Journal + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /gather-journal/ + is_customized: false + - id: 48 + name: Openhouse Magazine + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /openhouse-magazine/ + is_customized: false + - id: 49 + name: Smith Journal + page_title: '' + meta_keywords: + - '' + meta_description: description + image_url: '' + search_keywords: '' + custom_url: + url: /smith-journal/ + is_customized: false + meta: + pagination: + total: 15 + count: 15 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Brands + summary: Create a Brand + description: |- + Creates a *Brand*. + + **Required Fields** + - name + + **Read-Only Fields** + - id + + **Limits** + - 30,000 brands per store limit + operationId: createBrand + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Brand + type: object + description: Common brand properties. + properties: + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + description: The custom URL for the brand on the storefront. + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + required: + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '207': + $ref: '#/components/responses/General207Status' + '409': + description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: 'Brand was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Brand + delete: + tags: + - Brands + summary: Delete Brands + description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' + operationId: deleteBrands + parameters: + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/brands/{brand_id}': + get: + tags: + - Brands + summary: Get a Brand + description: Returns a single *Brand*. Optional filter parameters can be passed in. + operationId: getBrandById + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + $ref: '#/components/schemas/brand_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Brands + summary: Update a Brand + description: |- + Updates a *Brand*. + + **Required Fields** + - None + + **Read-Only Fields** + - id + + To update a *Brand Image*, send a request with an `image_url`. + operationId: updateBrand + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + example: + - 'modern, clean, contemporary' + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Brand Response + type: object + properties: + data: + title: Brand + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + example: + - 'modern, clean, contemporary' + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + title: Custom Url Brand + type: object + properties: + url: + type: string + description: | + Brand URL on the storefront. + example: /shoes + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + example: true + description: The custom URL for the brand on the storefront. + description: Common Brand properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Brand Response returns for: + * Create Brand + * Get Brand by Id + * Update Brand by Id + example: + data: + id: 50 + name: Common Good + meta_keywords: + - 'modern, clean, contemporary' + meta_description: Common Good is a modern brand + image_url: '' + search_keywords: 'kitchen, laundry, cart, storage' + custom_url: + url: /brands/Common-Good.html + is_customized: false + meta: {} + '207': + $ref: '#/components/responses/General207Status' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `Brand` was in conflict with another product. This is the result of duplicate unique values, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Brand` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: brand + delete: + tags: + - Brands + summary: Delete a Brand + description: Deletes a *Brand*. + operationId: deleteBrandById + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/brands/{brand_id}/metafields': + get: + tags: + - Metafields + summary: Get All Brand Metafields + description: 'Returns a list of *Brand Metafields*. Optional filter parameters can be passed in. ' + operationId: getBrandMetafieldsByBrandId + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: id + in: query + description: | + Filter items by ID. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: brand + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Brand location + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: brand + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Metafields + summary: Create a Brand Metafield + description: |- + Creates a *Brand Metafield*. + + **Required Fields** + - permission_set + - namespace + - key + - value + + **Read-Only Fields** + - id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createBrandMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + examples: + example-1: + value: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + example-2: + value: + data: + id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: category + resource_id: 111 + description: Location in the warehouse. + date_created: '2018-05-07T20:14:17+00:00' + date_modified: '2018-05-07T20:14:17+00:00' + meta: {} + example-3: + value: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: brand + resource_id: 137 + description: Where products are located. + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + '/catalog/brands/{brand_id}/metafields/{metafield_id}': + get: + tags: + - Metafields + summary: Get a Brand Metafields + description: Returns a *Brand Metafield*. Optional filter parameters can be passed in. + operationId: getBrandMetafieldByBrandId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Metafields + summary: Update a Brand Metafield + description: "Updates a *Brand Metafield*.\n\n**Required Fields** \n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message.\n* The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center." + operationId: updateBrandMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Metafields + summary: Delete a Brand Metafield + description: Deletes a *Brand Metafield*. + operationId: deleteBrandMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/brands/{brand_id}/image': + post: + tags: + - Images + summary: Create a Brand Image + description: |- + Creates a *Brand Image*. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + + **Read-Only Fields** + - id + + Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. + operationId: createBrandImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: 'Image was not valid. This is the result of a missing `image_file` field, or of an incorrect file type. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + delete: + tags: + - Images + summary: Delete a Brand Image + description: Deletes a *Brand Image*. + operationId: deleteBrandImage + parameters: + - name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/BrandIdParam' +components: + schemas: + brand_Full: + title: brand_Full + required: + - name + type: object + properties: + id: + type: integer + description: Unique ID of the *Brand*. Read-Only. + readOnly: true + name: + maxLength: 255 + minLength: 1 + type: string + description: |- + The name of the brand. Must be unique. + Required in POST. + example: Common Good + x-required: + - post + - put + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title shown in the browser while viewing the brand. + example: Common Good + meta_keywords: + type: array + description: | + Comma-separated list of meta keywords to include in the HTML. + items: + type: string + example: 'modern, clean, contemporary' + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + A meta description to include. + example: Common Good is a modern brand. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate this brand. + example: 'kitchen, laundry, cart, storage' + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' + x-url: true + custom_url: + $ref: '#/components/schemas/customUrl_Full' + description: Common Brand properties. + x-internal: false + metafield_Base: + title: metafield_Base + type: object + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + x-internal: false + properties: + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + required: + - permission_set + - namespace + - key + - value + customUrl_Full: + title: customUrl_Full + type: object + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Product URL on the storefront. + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + description: The custom URL for the product on the storefront. + x-internal: false + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + error_Base: + title: error_Base + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + metafield_Full: + title: metafield_Full + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + - $ref: '#/components/schemas/metafield_Base' + - type: object + properties: + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID of the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + x-internal: false + responses: + General207Status: + description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + parameters: + BrandIdParam: + name: brand_id + in: path + description: | + The ID of the `Brand` to which the resource belongs. + required: true + schema: + type: integer + MetafieldIdParam: + name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + 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' + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml new file mode 100644 index 000000000..f5c6bbacb --- /dev/null +++ b/reference/catalog/categories_catalog.v3.yml @@ -0,0 +1,2432 @@ +openapi: '3.0.3' +info: + title: Catalog - Categories + description: |- + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + + Our Catalog Categories endpoints let you [create individual categories](/docs/rest-catalog/categories#create-a-category) and [modify categories](/docs/rest-catalog/categories#update-a-category) that organize a store's products, as well as [delete categories](/docs/rest-catalog/categories#delete-a-category). + + Category images have their own dedicated [create a category image](/docs/rest-catalog/categories#create-a-category-image) and [delete a category image](/docs/rest-catalog/categories#delete-a-category-image) endpoints. + + In addition, categories have metafields that you can use to store information structured in key-value pairs; learn more about [creating category metafields](/docs/rest-catalog/categories#create-a-category-metafield), [updating category metafields](/docs/rest-catalog/categories#update-a-category-metafield), and [deleting category metafields](/docs/rest-catalog/categories#delete-a-category-metafield). + + This API family also contains endpoints to [update product sort order](/docs/rest-catalog/categories#update-product-sort-order) within a category. + + These endpoints are primarily useful in applications for single storefront stores. To work with categories for an [MSF-enabled store](/api-docs/multi-storefront/overview), see [Category Trees](/docs/rest-catalog/category-trees). + + > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + ### Webhooks + Learn more about [Category webhook events](/api-docs/store-management/webhooks/events#category). + + ### Additional Catalog endpoints + * [Brands](/docs/rest-catalog/brands) + * [Category Trees](/docs/rest-catalog/category-trees) + * [Products](/docs/rest-catalog/products) + * [Product Modifiers](/docs/rest-catalog/product-modifiers) + * [Product Variants](/docs/rest-catalog/product-variants) + * [Product Variant Options](/docs/rest-catalog/product-variant-options) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Categories + - name: Metafields + - name: Images + - name: Sort Order +paths: + '/catalog/categories': + get: + tags: + - Categories + summary: Get All Categories + description: Returns a list of *Categories*. Optional filter parameters can be passed in. + operationId: getCategories + parameters: + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: 'name:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + - name: 'parent_id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: 'page_title:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Base + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 19 + parent_id: 0 + name: Garden + description:

This is the garden description

+ views: 0 + sort_order: 2 + page_title: page title + meta_keywords: + - meta keyword + meta_description: meta description + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: search keywords + default_product_sort: use_store_settings + custom_url: + url: /garden/ + is_customized: false + - id: 20 + parent_id: 0 + name: Publications + description: '' + views: 0 + sort_order: 4 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /publications/ + is_customized: false + - id: 21 + parent_id: 0 + name: Kitchen + description: '' + views: 0 + sort_order: 3 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /kitchen/ + is_customized: false + - id: 22 + parent_id: 0 + name: Utility + description: '' + views: 0 + sort_order: 5 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /utility/ + is_customized: false + - id: 23 + parent_id: 0 + name: Shop All + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category_with_facets.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /shop-all/ + is_customized: false + - id: 39 + parent_id: 19 + name: Bath + description: '' + views: 0 + sort_order: 0 + page_title: '' + meta_keywords: + - '' + meta_description: '' + layout_file: category.html + image_url: '' + is_visible: true + search_keywords: '' + default_product_sort: use_store_settings + custom_url: + url: /garden/bath/ + is_customized: false + meta: + pagination: + total: 6 + count: 6 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Categories + summary: Create a Category + description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." + operationId: createCategory + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Category + type: object + description: Common Category object properties. + properties: + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the category should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '207': + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + '409': + description: | + The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: category + delete: + tags: + - Categories + summary: Delete Categories + description: |- + Deletes *Category* objects. At least one filter parameter is required to perform the `DELETE` operation. + + **Usage Notes** + + - Sending a `DELETE`request without specifying a filter parameter will result in a `422` error. + - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a category. + operationId: deleteCategories + parameters: + - name: id + in: query + description: Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: parent_id + in: query + description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' + schema: + type: integer + - name: page_title + in: query + description: | + Filter items by page_title. + schema: + type: string + - name: keyword + in: query + description: 'Filter items by keywords. eg. new, towel, bath' + schema: + type: string + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: 'name:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + - name: 'parent_id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'parent_id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'page_title:like' + in: query + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/categories/{category_id}': + get: + tags: + - Categories + summary: Get a Category + description: Returns a single *Category*. Optional parameters can be passed in. + operationId: getCategoryById + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + $ref: '#/components/schemas/category_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Categories + summary: Update a Category + description: |- + Updates a *Category*. + + **Required Fields** + * none + + **Read-Only Fields** + - id + operationId: updateCategory + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Category + type: object + description: Common Category object properties. + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Category Response + type: object + properties: + data: + title: Category + type: object + description: Common Category object properties. + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + title: Custom Url Category + type: object + description: The custom URL for the category on the storefront. + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Category URL on the storefront. + example: /shoes + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + required: + - parent_id + - name + meta: + title: Meta + type: object + description: Empty meta object; may be used later. + '207': + $ref: '#/components/responses/General207Status' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: 'The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: 'The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: category + delete: + tags: + - Categories + summary: Delete a Category + description: Deletes a *Category*. + operationId: deleteCategoryById + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/categories/{category_id}/metafields': + get: + tags: + - Metafields + summary: Get All Category Metafields + description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in. + operationId: getCategoryMetafieldsByCategoryId + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: id + in: query + description: | + Filter items by id. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: category + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: category + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Metafields + summary: Create a Category Metafield + description: |- + Creates a *Category Metafield*. + + **Required Fields:** + - permission_set + - namespace + - key + - value + + **Read-Only Fields** + - id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createCategoryMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate, unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/categories/{category_id}/metafields/{metafield_id}': + get: + tags: + - Metafields + summary: Get a Category Metafield + description: Returns a single *Category Metafield*. Optional parameters can be passed in. + operationId: getCategoryMetafieldByCategoryId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Metafields + summary: Update a Category Metafield + description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " + operationId: updateCategoryMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: category + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Metafields + summary: Delete a Category Metafield + description: Deletes a *Category Metafield*. + operationId: deleteCategoryMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/categories/{category_id}/image': + post: + tags: + - Images + summary: Create a Category Image + description: |- + Create a *Category Image*. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + + Only one image at a time can be created. + Limit image size to 1MB. + To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. + operationId: createCategoryImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + image_url: + type: string + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Image was not valid. This is the result of a missing `image_file` field or an incorrect file type. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + delete: + tags: + - Images + summary: Delete a Category Image + description: Deletes a *Cateogory Image*. + operationId: deleteCategoryImage + parameters: + - name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' + '/catalog/categories/{category_id}/products/sort-order': + get: + tags: + - Sort Order + summary: Get Product Sort Order + description: |- + Returns a list of products and their sort order for a specific category. + + **Usage Notes** + * Data pairs are displayed in ascending order based on products' `sort_order` values. + * `null` values are allowed for products without specified `sort_order` values. + * Products with `sort_order` value of `null` will be displayed after products with valid numerical values. + * The priorities for determining product sort order on a storefront are the following: + - Priority 1: Manually specified sort order on Category Level (API). + - Priority 2: Manually specified sort order on Product (Global) Level (UI/API). + - Priority 3: Default sorting by Product ID (newly added products go first) (UI/API). + operationId: getsortorders + parameters: + - name: category_id + in: path + description: The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: {} + '404': + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + put: + tags: + - Sort Order + summary: Update Product Sort Order + description: Updates sort order of products within a specific category. + operationId: updatesortorder + parameters: + - $ref: '#/components/parameters/ContentType' + - name: category_id + in: path + description: The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/productSortOrder' + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/productSortOrder' + '404': + description: The requested category was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + '422': + description: |- + Unprocessable entity. + + Please verify if all requested products are assigned to the category. + + Please verify if all required fields are present in the request body and are filled with values correctly. + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/CategoryIdParam' +components: + schemas: + category_Full: + title: category_Full + type: object + description: Common Category object properties. + x-internal: false + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + x-required: + - post + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + x-required: + - post + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + maxLength: 255 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + example: category.html + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + custom_url: + $ref: '#/components/schemas/customUrl_Full' + required: + - parent_id + - name + metafield_Base: + title: metafield_Base + type: object + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + x-internal: false + properties: + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + required: + - permission_set + - namespace + - key + - value + customUrl_Full: + title: customUrl_Full + type: object + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Product URL on the storefront. + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + description: The custom URL for the product on the storefront. + x-internal: false + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + error_Base: + title: error_Base + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + metafield_Full: + title: metafield_Full + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + - $ref: '#/components/schemas/metafield_Base' + - type: object + properties: + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID of the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + x-internal: false + productSortOrder: + title: productSortOrder + required: + - product_id + - sort_order + type: object + properties: + product_id: + minimum: 1 + type: integer + description: The ID of the associated product. + example: 99 + sort_order: + minimum: 0 + type: integer + example: 4 + description: The relative priority of the product among other products inside the category. + x-internal: false + Category: + x-tags: + - Models + title: Category + allOf: + - $ref: '#/components/schemas/id' + - $ref: '#/components/schemas/parent_id' + - $ref: '#/components/schemas/name' + - $ref: '#/components/schemas/description' + - $ref: '#/components/schemas/views' + - $ref: '#/components/schemas/sort_order' + - $ref: '#/components/schemas/page_title' + - $ref: '#/components/schemas/meta_keywords' + - $ref: '#/components/schemas/meta_description' + - $ref: '#/components/schemas/layout_file' + - $ref: '#/components/schemas/image_url' + - $ref: '#/components/schemas/is_visible' + - $ref: '#/components/schemas/search_keywords' + - $ref: '#/components/schemas/default_product_sort' + - type: object + properties: + url: + $ref: '#/components/schemas/Url' + x-examples: {} + Url: + type: object + properties: + path: + type: string + is_customized: + type: boolean + x-tags: + - Models + default_product_sort: + title: default_product_sort + type: object + properties: + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + name: + title: name + type: object + properties: + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + description: + title: description + type: object + properties: + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + title: views + type: object + properties: + views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + title: sort_order + type: object + properties: + sort_order: + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + title: page_title + type: object + properties: + page_title: + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + title: search_keywords + type: object + properties: + search_keywords: + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + title: meta_keywords + type: object + properties: + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + layout_file: + title: layout_file + type: object + properties: + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + example: category.html + is_visible: + title: is_visible + type: object + properties: + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + image_url: + title: image_url + type: object + properties: + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + meta_description: + title: meta_description + type: object + properties: + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + id: + title: id + type: object + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + title: parent_id + type: object + properties: + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + responses: + General207Status: + description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + parameters: + CategoryIdParam: + name: category_id + in: path + description: | + The ID of the `Category` to which the resource belongs. + required: true + schema: + type: integer + MetafieldIdParam: + name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + 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' + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml new file mode 100644 index 000000000..6ecab7f87 --- /dev/null +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -0,0 +1,1120 @@ +openapi: '3.0.3' +info: + title: Catalog - Category Trees + description: |- + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + + Our Catalog Category Trees endpoints are the more modern and performant counterparts to the [Categories endpoints](/docs/rest-catalog/categories). Although the Category Trees endpoints and objects are designed to center an MSF-compatible, [multi-tenant category tree architecture](#categories), the endpoints work just as well in a single storefront context. + + The Category Trees endpoints let you [get the Categories for a specific tree](/docs/rest-catalog/category-trees#get-a-category-tree), and [bulk create](/docs/rest-catalog/category-trees#create-categories), [bulk update](/docs/rest-catalog/category-trees#update-categories), and [bulk delete](/docs/rest-catalog/category-trees#delete-categories) Categories. You can also [bulk update the properties of Category Trees](/docs/rest-catalog/category-trees#upsert-category-trees), which includes changing the channels to which a Tree is assigned. + + The terms "category tree" and "catalog tree" are used interchangeably throughout the documentation. + + > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + ### Webhooks + Learn more about [Category Tree webhook events](/api-docs/channels/guide/webhooks#category-trees). + + ### Additional Catalog endpoints + * [Brands](/docs/rest-catalog/brands) + * [Categories](/docs/rest-catalog/categories) + * [Products](/docs/rest-catalog/products) + * [Product Modifiers](/docs/rest-catalog/product-modifiers) + * [Product Variants](/docs/rest-catalog/product-variants) + * [Product Variant Options](/docs/rest-catalog/product-variant-options) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Category Trees + - name: Categories +paths: + '/catalog/trees/categories': + get: + summary: Get All Categories + description: |- + Returns a list of categories. + + To get a specific category in a tree, provide a category ID. + tags: + - Categories + parameters: + - name: 'category_uuid:in' + in: query + schema: + type: string + - name: 'category_uuid:not_in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + - name: 'category_id:not_in' + in: query + schema: + type: string + - name: 'tree_id:in' + in: query + schema: + type: string + - name: 'tree_id:not_in' + in: query + schema: + type: string + - name: 'parent_id:in' + in: query + schema: + type: string + - name: 'parent_id:not_in' + in: query + schema: + type: string + - name: name + in: query + schema: + type: string + - name: 'name:like' + in: query + schema: + type: string + - name: page_title + in: query + schema: + type: string + - name: 'page_title:like' + in: query + schema: + type: string + - name: keyword + in: query + schema: + type: string + - name: is_visible + in: query + schema: + type: boolean + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: include_fields + in: query + schema: + type: string + - name: exclude_fields + in: query + schema: + type: string + responses: + '200': + description: List of categories. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/MetaPagination' + examples: + example-1: + value: + data: + - id: 0 + parent_id: 2 + name: Bath + description:

We offer a wide variety of products perfect for relaxing

+ views: 1050 + sort_order: 3 + page_title: Bath + meta_keywords: + - string + meta_description: string + layout_file: category.html + image_url: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + is_visible: true + search_keywords: string + default_product_sort: use_store_settings + url: + path: string + is_customized: true + meta: + pagination: + total: 246 + count: 5 + per_page: 5 + current_page: 1 + total_pages: 50 + links: + previous: '?limit=5&page=1' + current: '?limit=5&page=2' + next: '?limit=5&page=3' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: getAllCategories + post: + summary: Create Categories + description: |- + Creates new categories. + + Creating a category requires: + - `name` + - `url` + - `tree_id` or `parent_id` + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Categories + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateCategories' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessResponse' + '207': + description: Multi-Status + content: + application/json: + schema: + $ref: '#/components/schemas/PartialSuccessResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '422': + description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: createCategories + put: + summary: Update Categories + description: |- + Updates existing categories. + + To update a specific category in a tree, provide a category id. + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Categories + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateCategories' + responses: + '200': + description: OK + '204': + description: No Content + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessNoContentResponse' + '207': + description: Partial success + content: + application/json: + schema: + $ref: '#/components/schemas/PartialSuccessNoContentResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '422': + description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: updateCategories + delete: + summary: Delete Categories + description: |- + Deletes categories. + + To delete a specific category in a tree, provide a category ID. + tags: + - Categories + parameters: + - name: 'category_uuid:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + - name: 'tree_id:in' + in: query + schema: + type: string + - name: 'parent_id:in' + in: query + schema: + type: string + responses: + '204': + description: Categories are deleted + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessNoContentResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + '500': + description: Server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' + operationId: deleteTreeCategories + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/trees': + get: + summary: Get All Category Trees + description: Returns a list of *Category Trees*. + operationId: GetCategoryTrees + parameters: + - name: 'id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '200': + description: List of category trees. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Tree' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + example: + data: + - id: 0 + name: string + channels: + - 0 + meta: + pagination: + total: 246 + count: 5 + per_page: 5 + current_page: 1 + total_pages: 50 + links: + next: '?limit=5&page=2' + current: '?limit=5&page=1' + tags: + - Category Trees + put: + summary: Upsert Category Trees + description: | + Upserts *Category Trees*. + + If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. + + **Usage Notes** + * `channel_id` is required to create a *Category Tree*. You can assign one `channel_id` to one category tree. + parameters: + - $ref: '#/components/parameters/ContentType' + operationId: UpsertCategoryTrees + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tree' + example: + - id: 0 + name: string + channels: + - 0 + responses: + '200': + description: Created a category tree. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/Tree' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 0 + name: string + channels: + - 0 + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. + '422': + description: The Channel was not valid. See the response for more details. + content: + application/json: + schema: + $ref: '#/components/schemas/beta4ErrorResponse' + example: + status: 0 + title: string + type: string + instance: string + errors: + additionalProp1: string + additionalProp2: string + additionalProp3: string + tags: + - Category Trees + delete: + summary: Delete Category Trees + description: Deletes *Category Trees*. A filter must be supplied with the endpoint. + operationId: DeleteCategoryTrees + parameters: + - name: 'id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + tags: + - Category Trees + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/trees/{tree_id}/categories': + get: + summary: Get a Category Tree + description: Returns a *Category Tree*. + operationId: GetCategoryTreeByTreeId + parameters: + - name: depth + description: Max depth for a tree of categories. + in: query + schema: + type: integer + responses: + '200': + description: Categories tree + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CategoryNode' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + - id: 0 + parent_id: 0 + depth: 0 + path: + - 0 + name: string + is_visible: true + children: + - string + meta: + type: object + properties: {} + description: Empty meta object; reserved for use later. + '404': + description: The tree was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/beta4ErrorResponse' + example: + status: 0 + title: string + type: string + instance: string + errors: + additionalProp1: string + additionalProp2: string + additionalProp3: string + tags: + - Categories + parameters: + - $ref: '#/components/parameters/Accept' + - schema: + type: string + name: tree_id + in: path + required: true +components: + schemas: + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + DetailedErrors: + title: DetailedErrors + description: Each key-value pair describes a failure or partial success case. + type: object + properties: {} + additionalProperties: true + x-internal: false + CreateCategories: + type: array + items: + allOf: + - $ref: '#/components/schemas/TreeIdCreateData' + - $ref: '#/components/schemas/ParentIdCreateData' + - $ref: '#/components/schemas/CategoryDataPOST' + x-tags: + - Models + title: Create Categories + UpdateCategories: + x-tags: + - Models + type: array + items: + allOf: + - $ref: '#/components/schemas/TreeIdUpdateData' + - $ref: '#/components/schemas/CategoryIdUpdateData' + - $ref: '#/components/schemas/CategoryUuidData' + - $ref: '#/components/schemas/ParentIdUpdateData' + - $ref: '#/components/schemas/CategoryDataPUT' + Category: + x-tags: + - Models + title: Category + allOf: + - $ref: '#/components/schemas/id' + - $ref: '#/components/schemas/parent_id' + - $ref: '#/components/schemas/name' + - $ref: '#/components/schemas/description' + - $ref: '#/components/schemas/views' + - $ref: '#/components/schemas/sort_order' + - $ref: '#/components/schemas/page_title' + - $ref: '#/components/schemas/meta_keywords' + - $ref: '#/components/schemas/meta_description' + - $ref: '#/components/schemas/layout_file' + - $ref: '#/components/schemas/image_url' + - $ref: '#/components/schemas/is_visible' + - $ref: '#/components/schemas/search_keywords' + - $ref: '#/components/schemas/default_product_sort' + - type: object + properties: + url: + $ref: '#/components/schemas/Url' + x-examples: {} + CategoryUuidData: + type: object + x-tags: + - Models + properties: + category_uuid: + type: string + format: uuid + title: category_uuid + CategoryIdUpdateData: + type: object + properties: + category_id: + type: integer + required: + - category_id + x-tags: + - Models + ParentIdCreateData: + type: object + properties: + parent_id: + type: integer + required: + - parent_id + x-tags: + - Models + TreeIdCreateData: + type: object + properties: + tree_id: + type: integer + required: + - tree_id + x-tags: + - Models + ParentIdUpdateData: + type: object + properties: + parent_id: + type: integer + x-tags: + - Models + TreeIdUpdateData: + type: object + x-tags: + - Models + properties: + tree_id: + type: integer + required: + - tree_id + CategoryData: + allOf: + - type: object + properties: + name: + type: string + description: + type: string + views: + type: integer + sort_order: + type: integer + page_title: + type: string + search_keywords: + type: string + meta_keywords: + type: array + items: + type: string + meta_description: + type: string + layout_file: + type: string + is_visible: + type: boolean + image_url: + type: string + url: + $ref: '#/components/schemas/Url' + CategoryDataPUT: + allOf: + - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/default_product_sort' + CategoryDataPOST: + allOf: + - $ref: '#/components/schemas/CategoryData' + - $ref: '#/components/schemas/default_product_sort' + required: + - name + - url + Url: + type: object + properties: + path: + type: string + is_customized: + type: boolean + x-tags: + - Models + MetaPagination: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + example: 246 + minimum: 0 + count: + type: integer + example: 5 + minimum: 0 + per_page: + type: integer + example: 5 + minimum: 0 + current_page: + type: integer + example: 1 + minimum: 1 + total_pages: + type: integer + example: 50 + minimum: 0 + links: + type: object + properties: + previous: + type: string + example: '?limit=5&page=1' + current: + type: string + example: '?limit=5&page=2' + next: + type: string + example: '?limit=5&page=3' + x-tags: + - Models + ErrorRequest: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorBasic' + x-tags: + - Models + ErrorBasic: + type: object + properties: + status: + description: | + The HTTP status code. + type: integer + title: + description: | + The error title describing the particular error. + type: string + type: + type: string + x-tags: + - Models + ErrorAdditional: + type: object + properties: + errors: + $ref: '#/components/schemas/DetailedErrors' + x-tags: + - Models + MetaError: + allOf: + - $ref: '#/components/schemas/ErrorBasic' + - $ref: '#/components/schemas/ErrorAdditional' + x-tags: + - Models + MetaData: + type: object + properties: + total: + type: integer + success: + type: integer + failed: + type: integer + x-tags: + - Models + SuccessNoContentResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + PartialSuccessNoContentResponse: + type: object + properties: + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + PartialSuccessResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + SuccessResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Category' + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + ErrorResponse: + type: object + properties: + errors: + $ref: '#/components/schemas/MetaError' + meta: + $ref: '#/components/schemas/MetaData' + x-tags: + - Models + Tree: + type: object + properties: + id: + type: integer + name: + type: string + minLength: 1 + maxLength: 255 + channels: + type: array + items: + type: integer + x-tags: + - Models + CategoryNode: + type: object + properties: + id: + type: integer + parent_id: + type: integer + depth: + type: integer + path: + type: array + items: + type: integer + name: + type: string + is_visible: + type: boolean + children: + type: array + items: + $ref: '#/components/schemas/CategoryNode' + x-tags: + - Models + MetaPaginationObject: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + example: 246 + minimum: 0 + count: + type: integer + example: 5 + minimum: 0 + per_page: + type: integer + example: 5 + minimum: 0 + current_page: + type: integer + example: 1 + minimum: 1 + total_pages: + type: integer + example: 50 + minimum: 0 + links: + type: object + properties: + next: + type: string + example: '?limit=5&page=2' + current: + type: string + example: '?limit=5&page=1' + x-tags: + - Models + beta4DetailedErrors: + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + 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 + x-tags: + - Models + beta4ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/beta4DetailedErrors' + x-tags: + - Models + default_product_sort: + title: default_product_sort + type: object + properties: + default_product_sort: + type: string + description: | + Determines how the products are sorted on category page load. + enum: + - use_store_settings + - featured + - newest + - best_selling + - alpha_asc + - alpha_desc + - avg_customer_review + - price_asc + - price_desc + name: + title: name + type: object + properties: + name: + maxLength: 50 + minLength: 1 + type: string + description: |- + The name displayed for the category. Name is unique with respect to the category's siblings. + Required in a POST. + example: Bath + description: + title: description + type: object + properties: + description: + type: string + description: | + The product description, which can include HTML formatting. + example:

We offer a wide variety of products perfect for relaxing

+ views: + title: views + type: object + properties: + views: + type: integer + description: | + Number of views the category has on the storefront. + example: 1050 + sort_order: + title: sort_order + type: object + properties: + sort_order: + type: integer + description: | + Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. + example: 3 + page_title: + title: page_title + type: object + properties: + page_title: + type: string + description: | + Custom title for the category page. If not defined, the category name will be used as the meta title. + example: Bath + search_keywords: + title: search_keywords + type: object + properties: + search_keywords: + type: string + description: | + A comma-separated list of keywords that can be used to locate the category when searching the store. + meta_keywords: + title: meta_keywords + type: object + properties: + meta_keywords: + type: array + description: | + Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. + items: + type: string + layout_file: + title: layout_file + type: object + properties: + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + example: category.html + is_visible: + title: is_visible + type: object + properties: + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + image_url: + title: image_url + type: object + properties: + image_url: + type: string + description: | + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + x-url: true + meta_description: + title: meta_description + type: object + properties: + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the category page. If not defined, the store's default meta description will be used. + id: + title: id + type: object + properties: + id: + type: integer + description: |- + Unique ID of the *Category*. Increments sequentially. + Read-Only. + readOnly: true + parent_id: + title: parent_id + type: object + properties: + parent_id: + type: integer + description: |- + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + Required in a POST if creating a child category. + example: 2 + 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' + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/catalog/product-modifiers_catalog.v3.yml b/reference/catalog/product-modifiers_catalog.v3.yml new file mode 100644 index 000000000..b8f0c820a --- /dev/null +++ b/reference/catalog/product-modifiers_catalog.v3.yml @@ -0,0 +1,2856 @@ +openapi: '3.0.3' +info: + title: Catalog - Product Modifiers + description: |- + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + + Product Modifiers represent choices that the shopper can make to change how the merchant customizes or adds on to the product. Examples include shipping insurance, monograms, custom inseam length, and a color selection for an unfinished product. + + Modifier values do not change which item is picked in a warehouse, but they change what happens to that item between the warehouse shelf and the shopper taking possession of their order. + + Critically, Modifier values do not change which Product Variant is fulfilled. You cannot track inventory for combinations of Modifier values. + + You can add an adjuster to a Modifier value to override the underlying Product Variant's properties, such as price, weight, and shipping rules. Not all Modifier types are compatible with adjusters. + + > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + ### Webhooks + Learn more about [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products). + + ### Additional Catalog endpoints + * [Brands](/docs/rest-catalog/brands) + * [Categories](/docs/rest-catalog/categories) + * [Category Trees](/docs/rest-catalog/category-trees) + * [Products](/docs/rest-catalog/products) + * [Product Variants](/docs/rest-catalog/product-variants) + * [Product Variant Options](/docs/rest-catalog/product-variant-options) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Product Modifiers + - name: Values + - name: Images +paths: + '/catalog/products/{product_id}/modifiers': + get: + tags: + - Product Modifiers + summary: Get All Product Modifiers + description: Returns a list of all *Product Modifiers*. Optional parameters can be passed in. + operationId: getModifiers + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productModifier_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Modifier Collection Response return for /GET All Modifiers. + example: + data: + - id: 206 + product_id: 158 + name: Insurance + display_name: Insurace + type: checkbox + required: true + config: + checkbox_label: $5 for insurance + checked_by_default: false + option_values: + - id: 183 + option_id: 206 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 184 + option_id: 206 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Product Modifiers + summary: Create a Product Modifier + description: |- + Creates a *Product Modifier*. + + **Required Fields** + * `required` + * `display_name` + * `type` + + **Read-Only Fields** + * `id` + + **Notes** + It takes two separate requests to create a new checkbox modifier with option values. Perform a request to create a modifier, then perform a second request to update option values. + operationId: createModifier + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Modifier Post + description: The model for a POST to create a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - required: + - display_name + type: object + properties: + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + x-required: + - post + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `Modifier` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Modifier + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}': + get: + tags: + - Product Modifiers + summary: Get a Modifier + description: Returns a single *Product Modifier*. Optional parameters can be passed in. + operationId: getModifierById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + $ref: '#/components/schemas/productModifier_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Modifiers + summary: Update a Modifier + description: Updates a *Product Modifier*. + operationId: updateModifier + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Put + description: The model for a PUT to update a modifier on a product. + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: 'Part of Modifier Value Response ' + description: Common Modifier properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Response + type: object + properties: + data: + title: Modifer + type: object + description: Product Modifier + allOf: + - title: Modifier Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + option_values: + type: array + items: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + description: Common Modifier properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `Modifier` was in conflict with another modifier or option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Modifier + delete: + tags: + - Product Modifiers + summary: Delete a Modifier + description: Deletes a *Product Modifier*. + operationId: deleteModifierById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values': + get: + tags: + - Values + summary: Get All Modifier Values + description: Returns a list of all product *Modifier Values*. Optional parameters can be passed in. + operationId: getModifierValues + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productModifierOptionValue_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Returns for GET All Modifier Values on a Product + example: + data: + - id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: + checked_value: true + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + - id: 191 + option_id: 222 + label: 'No' + sort_order: 1 + value_data: + checked_value: false + is_default: true + adjusters: + price: {} + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Values + summary: Create Modifier Value + description: |- + Creates a *Modifier Value*. + + **Required Fields** + * label + * sort_order + + **Read-Only Fields** + * id + operationId: createModifierValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Value Post + description: The model for a POST to create a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '422': + description: | + The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ModifierValue + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': + get: + tags: + - Values + summary: Get a Modifier Value + description: Returns a single *Modifier Value*. Optional parameters can be passed in. + operationId: getModifierValueById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + $ref: '#/components/schemas/productModifierOptionValue_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + security: + - X-Auth-Token: [] + put: + tags: + - Values + summary: Update a Modifier Value + description: |- + Updates a *Modifier Value*. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateModifierValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Modifier Value Put + description: The model for a PUT to update a modifier value on a product. + allOf: + - title: Modifier Value Base + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Modifier Value Response + type: object + properties: + data: + title: Modifier Value + type: object + description: 'Part of Modifier Value Response ' + allOf: + - title: Modifier Value Base + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + adjusters: + type: object + properties: + price: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + x-nullable: true + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 190 + option_id: 222 + label: 'Yes' + sort_order: 0 + value_data: {} + is_default: false + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: {} + image_url: '' + purchasing_disabled: + status: false + message: '' + meta: {} + '422': + description: | + The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ModifierValue + delete: + tags: + - Values + summary: Delete Modifier Value + description: Deletes a *Modifier Value*. + operationId: deleteModifierValueById + parameters: + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + - $ref: '#/components/parameters/ValueIdParam' + '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': + post: + tags: + - Images + summary: Create Modifier Image + description: |- + Creates a *Modifier Image*. + + The image will show on the storefront when the value is selected. + + **Required Fields** + - image_file: Form posts are the only accepted upload option. + operationId: createModifierImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: modifier_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier`. + required: true + schema: + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image_file: + type: string + format: binary + responses: + '200': + description: '' + content: + application/json: + schema: + title: Image Response + type: object + properties: + data: + title: Resource Image + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + example: + data: + image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Modifier image was not valid. This is the result of missing `image_file` fields, or of a non-URL value for the `image_file` field. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ModifierIdParam' + - $ref: '#/components/parameters/ValueIdParam' +components: + schemas: + productModifier_Base: + title: productModifier_Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + $ref: '#/components/schemas/config_Full' + display_name: + type: string + description: The name of the option shown on the storefront. + description: Common Modifier properties. + x-internal: false + productModifier_Full: + title: productModifier_Full + description: Product Modifier + allOf: + - $ref: '#/components/schemas/productModifier_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + option_values: + type: array + items: + $ref: '#/components/schemas/productModifierOptionValue_Full' + x-internal: false + productModifierOptionValue_Base: + title: productModifierOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + adjusters: + $ref: '#/components/schemas/adjusters_Full' + description: Common Product Modifer `option_value` properties. + x-internal: false + productModifierOptionValue_Full: + title: productModifierOptionValue_Full + description: Product Modifer `option_value`. + allOf: + - $ref: '#/components/schemas/productModifierOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + option_id: + type: integer + x-internal: false + adjuster_Full: + title: adjuster_Full + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + x-internal: false + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + config_Full: + title: config_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + adjusters_Full: + title: adjusters_Full + type: object + properties: + price: + $ref: '#/components/schemas/adjuster_Full' + weight: + $ref: '#/components/schemas/adjuster_Full' + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + x-internal: false + parameters: + ProductIdParam: + name: product_id + in: path + description: | + The ID of the `Product` to which the resource belongs. + required: true + schema: + type: integer + ModifierIdParam: + name: modifier_id + description: | + The ID of the `Modifier`. + required: true + in: path + schema: + type: integer + ValueIdParam: + name: value_id + description: | + The ID of the `Modifier/Option Value`. + required: true + in: path + schema: + type: integer + 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' + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/catalog/product-variant-options_catalog.v3.yml b/reference/catalog/product-variant-options_catalog.v3.yml new file mode 100644 index 000000000..3a7827410 --- /dev/null +++ b/reference/catalog/product-variant-options_catalog.v3.yml @@ -0,0 +1,2492 @@ +openapi: '3.0.3' +info: + title: Catalog - Product Variant Options + description: |- + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + + Product Variant Options represent the different facets of a product. For example, size, color, fabric. Variant Option values are the actual sizes, colors, fabrics, that are available. [Product Variants]() consist of combinations of Variant Option values. + + The following table illustrates the relationship between Variant Options and Variant Option values using a line of signature sneakers as an example. + + | Variant options | Variant option values | No. of variants | + |:----------------|:----------------------|----------------:| + | size (US Women's) | 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5 | 10 | + | upper material | canvas, marine plastic, leather | 3 | + | upper color | brick, azul, gold | 3 | + | sole color | charcoal, white, azul | 3 | + | | | **270** | + + + Our Catalog Product Variant Options endpoints let you work with both Variant Options and Variant Option Values. + + > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + ### Webhooks + Learn more about [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products). + + ### Additional Catalog endpoints + * [Brands](/docs/rest-catalog/brands) + * [Categories](/docs/rest-catalog/categories) + * [Category Trees](/docs/rest-catalog/category-trees) + * [Products](/docs/rest-catalog/products) + * [Product Modifiers](/docs/rest-catalog/product-modifiers) + * [Product Variants](/docs/rest-catalog/product-variants) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Product Variant Options + - name: Values +paths: + '/catalog/products/{product_id}/options': + get: + tags: + - Product Variant Options + summary: Get All Product Variant Options + description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. ' + operationId: getOptions + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productOption_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get all product options + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variant Options + summary: Create a Product Variant Option + description: |- + Creates a *Variant Option*. + + **Required Fields** + * display_name + * type + * option_values + + **Read-Only Fields** + * id + + **Limits** + * 255 characters option name length. + + **Notes** + + * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. + * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. + * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. + * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. + operationId: createOption + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Option Post + description: The model for a POST to create options on a product. + allOf: + - title: Option Base + description: Common Option properties. + properties: + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + description: The values for option config can vary based on the Modifier created. + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + x-required: + - post + - put + items: + title: Option Value + allOf: + - title: Option Value Base + description: Common Option Value properties. + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + required: + - label + - sort_order + - properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + type: object + image_url: + type: string + description: Publicly available image url + type: object + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + description: Common Option properties. + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + description: The values for option config can vary based on the Modifier created. + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + x-required: + - post + - put + items: + title: Option Value + allOf: + - title: Option Value Base + description: Common Option Value properties. + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + required: + - label + - sort_order + - properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + type: object + image_url: + type: string + description: Publicly available image url + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + title: Meta + type: object + properties: {} + description: Empty meta object; may be used later. + examples: + example-1: + value: + data: + id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: earliest + date_earliest_value: '2022-08-24T00:00:00+00:00' + date_latest_value: '2022-08-27T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: none + sort_order: 1 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + image_url: string + name: Add-a-$5-Donation1535042499-187 + meta: {} + example-2: + value: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + '409': + description: | + Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + Option was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Option + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/options/{option_id}': + get: + tags: + - Product Variant Options + summary: Get a Product Variant Option + description: Returns a single *Variant Option*. Optional parameters can be passed in. + operationId: getOptionById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + $ref: '#/components/schemas/productOption_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variant Options + summary: Update a Product Variant Option + description: |- + Updates a *Variant Option*. + + **Read-Only Fields** + * id + operationId: updateOption + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Option Put + description: The model for a PUT to update options on a product. + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2018-08-31T00:00:00+00:00' + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date-time + example: '2019-01-01T00:00:00+00:00' + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + example: + - images + - documents + - other + items: + type: string + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + example: + - pdf + - txt + items: + type: string + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Response + type: object + properties: + data: + title: Option + type: object + allOf: + - title: Option Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + example: 55 + x-nullable: true + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + title: Option Config + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + minItems: 1 + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - post + - put + image_url: + type: string + description: Publicly available image url + description: Common Option properties. + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 220 + product_id: 192 + name: Color (Colors only) + display_name: Color + type: swatch + sort_order: 0 + option_values: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + config: {} + meta: {} + '409': + description: | + The `Option` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Option` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: option + delete: + tags: + - Product Variant Options + summary: Delete a Product Variant Option + description: Deletes a *Variant Option*. + operationId: deleteOptionById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + '/catalog/products/{product_id}/options/{option_id}/values': + get: + tags: + - Values + summary: Get All Product Variant Option Values + description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in. + operationId: getOptionValues + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Collection Response + type: object + properties: + data: + type: array + items: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Get Option Values response. + example: + data: + - id: 174 + label: Beige + sort_order: 1 + value_data: + colors: + - '#FAFAEB' + is_default: false + - id: 175 + label: Grey + sort_order: 2 + value_data: + colors: + - '#BDBDBD' + is_default: false + - id: 176 + label: Black + sort_order: 3 + value_data: + colors: + - '#000000' + is_default: false + - id: 189 + label: Black-Walnut + sort_order: 4 + value_data: + colors: + - '#e80ee8' + is_default: false + meta: + pagination: + total: 4 + count: 4 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Values + summary: Create a Product Variant Option Value + description: |- + Creates a *Variant Option Value*. + + **Required Fields** + * label + * sort_order + + **Read-Only Fields** + * id + + **Limits** + * 250 option values per option limit. + operationId: createOptionValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Option Value Post + description: The model for a POST to create option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '422': + description: | + The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: OptionValue + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + '/catalog/products/{product_id}/options/{option_id}/values/{value_id}': + get: + tags: + - Values + summary: Get a Product Variant Option Value + description: Returns a single *Variant Option Value*. Optional parameters can be passed in. + operationId: getOptionValueById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Values + summary: Update a Product Variant Option Value + description: |- + Updates a *Variant Option Value*. + + **Read-Only Fields** + * id + operationId: updateOptionValue + parameters: + - $ref: '#/components/parameters/ContentType' + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + requestBody: + description: | + A BigCommerce `OptionValue` object. + content: + application/json: + schema: + title: Option Value Put + description: The model for a PUT to update option values on a product. + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Option Value Response + type: object + properties: + data: + title: Option Value + type: object + allOf: + - title: Option Value Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. + x-nullable: true + description: Common Option Value properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 44 + label: Pick a color + sort_order: 9 + value_data: + colors: + - '#123c91, #FFFF00, #397a44' + is_default: false + '404': + description: No option(s) were found with this query. + content: {} + '422': + description: | + The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: OptionValue + delete: + tags: + - Values + summary: Delete a Product Variant Option Value + description: Deletes a *Variant Option Value*. + operationId: deleteOptionValueById + parameters: + - name: option_id + in: path + description: | + The ID of the `Option`. + required: true + schema: + type: integer + - name: value_id + in: path + description: | + The ID of the `Modifier/Option Value`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/OptionIdParam' + - $ref: '#/components/parameters/ValueIdParam' +components: + schemas: + productOption_Base: + title: productOption_Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + $ref: '#/components/schemas/productOptionConfig_Full' + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + type: array + items: + $ref: '#/components/schemas/productOptionOptionValue_Full' + description: Common Option properties. + x-internal: false + productOption_Full: + title: productOption_Full + allOf: + - $ref: '#/components/schemas/productOption_Base' + - type: object + properties: + name: + type: string + description: | + The unique option name, auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535042499-187 + x-internal: false + productOptionOptionValue_Base: + title: productOptionOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + description: Common Product Option `option_value` properties. + x-internal: false + productOptionOptionValue_Full: + title: productOptionOptionValue_Full + description: Product Option `option_value`. + allOf: + - $ref: '#/components/schemas/productOptionOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-internal: false + productOptionConfig_Full: + title: productOptionConfig_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + parameters: + ProductIdParam: + name: product_id + in: path + description: | + The ID of the `Product` to which the resource belongs. + required: true + schema: + type: integer + ValueIdParam: + name: value_id + description: | + The ID of the `Modifier/Option Value`. + required: true + in: path + schema: + type: integer + OptionIdParam: + name: option_id + description: | + The ID of the `Option`. + required: true + in: path + schema: + type: integer + 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' + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml new file mode 100644 index 000000000..100f7055a --- /dev/null +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -0,0 +1,2422 @@ +openapi: '3.0.3' +info: + title: Catalog - Product Variants + description: |- + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + + A Product Variant is a version of a product that has its own SKU. For example, a catalog might model a particular style of high-top sneakers that come in both red and blue as one product - high-tops - with two variants - red and blue. From a storefront point of view, Product Variants are often what shoppers seek. They are also the object that maps to SKUs and tracks inventory. A Product with one only Variant is a _base variant_. + + Our Catalog Product Variants endpoints let you work in two ways. + + On a per-product basis, you can [create and manage Product Variants](/docs/rest-catalog/product-variants#create-a-product-variant), their [images](/docs/rest-catalog/product-variants#create-a-variant-image), and their [metafields](/docs/rest-catalog/product-variants#create-a-product-variant-metafield), which are arbitrary key-value attributes. + + By design, Product Variants consist of a combination of [Product Variant Option](/docs/rest-catalog/product-variant-options) values. + + This API family also provides endpoints that can make [batch updates](/docs/rest-catalog/product-variants#update-variants-batch) to Product Variants from different products across the Catalog, as well as [getting all variants](/docs/rest-catalog/product-variants#get-all-variants). + + The terms "product variant" and "variant" are used interchangeably throughout the documentation. + + > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + ### Webhooks + Learn more about [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products). + + ### Additional Catalog endpoints + * [Brands](/docs/rest-catalog/brands) + * [Categories](/docs/rest-catalog/categories) + * [Category Trees](/docs/rest-catalog/category-trees) + * [Products](/docs/rest-catalog/products) + * [Product Modifiers](/docs/rest-catalog/product-modifiers) + * [Product Variant Options](/docs/rest-catalog/product-variant-options) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Product Variants + - name: Variants (Batch) + - name: Metafields + - name: Images +paths: + '/catalog/products/{product_id}/variants': + get: + tags: + - Product Variants + summary: Get All Product Variants + description: Returns a list of product *Variants*. Optional parameters can be passed in. + operationId: getVariantsByProductId + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 382 + product_id: 192 + sku: SMIT + sku_id: 348 + price: 10 + calculated_price: 10 + sale_price: 8 + retail_price: 10 + map_price: {} + weight: 4 + calculated_weight: 2 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 0 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 174 + label: Beige + option_id: 220 + option_display_name: Color + - id: 383 + product_id: 192 + sku: SMIT-1 + sku_id: 349 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 175 + label: Grey + option_id: 220 + option_display_name: Color + - id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Product Variants + summary: Create a Product Variant + description: |- + Creates a *Product Variant*. + + **Required Fields** + * sku + * option_values + + **Read-Only Fields** + * id + + **Limits** + * 600 SKUs per product limit. + * 255 characters SKU length limit. + + Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. + operationId: createVariant + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productVariant_Post' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + examples: + example-1: + value: + data: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + example-2: + value: + data: + id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Variant + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/variants/{variant_id}': + get: + tags: + - Product Variants + summary: Get a Product Variant + description: Returns a single product *Variant*. Optional parameters can be passed in. + operationId: getVariantById + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 384 + product_id: 192 + sku: SMIT-2 + sku_id: 350 + price: 25 + calculated_price: 25 + sale_price: 20 + retail_price: 25 + map_price: {} + weight: 2 + calculated_weight: 1 + width: 5 + height: 5 + depth: 5 + is_free_shipping: false + fixed_cost_shipping_price: 10 + purchasing_disabled: false + purchasing_disabled_message: '' + image_url: '' + cost_price: 25 + upc: '' + mpn: '' + gtin: '' + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: '' + option_values: + - id: 176 + label: Black + option_id: 220 + option_display_name: Color + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Product Variants + summary: Update a Product Variant + description: Updates a product *Variant*. + operationId: updateVariant + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productVariant_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Response + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + bin_picking_number: '0' + calculated_price: 85 + calculated_weight: 1 + cost_price: 0 + depth: 22 + fixed_cost_shipping_price: 0 + gtin: '' + height: 14.6 + id: 65 + inventory_level: 0 + inventory_warning_level: 0 + is_free_shipping: false + map_price: 0 + mpn: TR-SML02 + option_values: [] + price: 89 + product_id: 81 + purchasing_disabled: true + purchasing_disabled_message: This item is not available. + retail_price: 89 + sale_price: 85 + sku: OTS + sku_id: 10 + upc: '' + weight: 1 + width: 2 + meta: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productVariant_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Variant + delete: + tags: + - Product Variants + summary: Delete a Product Variant + description: Deletes a product *Variant*. + operationId: deleteVariantById + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/metafields': + get: + tags: + - Metafields + summary: Get All Product Variant Metafields + description: Returns a list of product variant *Metafields*. Optional parameters can be passed in. + operationId: getVariantMetafieldsByProductIdAndVariantId + parameters: + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/categoriesTree_Resp' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Metafields + summary: Create a Product Variant Metafield + description: |- + Creates a product variant *Metafield*. + + **Required Fields:** + * permission_set + * namespace + * key + * value + + **Read-Only Fields** + * id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createVariantMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: variant + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique-key combinations of the app's client id, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: Metafield + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': + get: + tags: + - Metafields + summary: Get a Product Variant Metafields + description: Returns a single product variant *Metafield*. Optional parameters can be passed in. + operationId: getVariantMetafieldByProductIdAndVariantId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: variant + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Metafields + summary: Update Product Variant Metafields + description: "Updates a product variant *Metafield*.\n\n**Required Fields:**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " + operationId: updateVariantMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: variant + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Metafields + summary: Delete a Variant Metafield + description: Deletes a product variant *Metafield*. + operationId: deleteVariantMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/products/{product_id}/variants/{variant_id}/image': + post: + tags: + - Images + summary: Create a Variant Image + description: |- + Creates a *Variant Image*. + + The image will show on the storefront when the value is selected. + + **Required Fields** + - image_file: Form posts. Files larger than 1 MB are not accepted + - image_url: Any publicly available URL + operationId: createVariantImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + multipart/form-data: + schema: + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + required: false + responses: + '200': + description: '`image_url` is returned for both `image_file` and `image_url`.' + content: + application/json: + schema: + title: Image Response + type: object + properties: + data: + title: Resource Image + type: object + properties: + image_url: + type: string + description: | + A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. + description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: |- + Image Response returns for: + * Create Variant Image + * Create Modifier Image + * Create Category Image + * Create Brand Image + example: + data: + image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + Image was not valid. This is the result of a missing `image_file` field or of an incorrect file type. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '500': + description: Returns for an `image_file` larger than 1 MB. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VariantIdParam' + '/catalog/variants': + get: + tags: + - Variants (Batch) + summary: Get All Variants + description: Returns a list of all variants in your catalog. Optional parameters can be passed in. + operationId: getVariants + parameters: + - name: id + in: query + description: Filter items by ID. + schema: + type: integer + - name: sku + in: query + description: Filter items by SKU. + schema: + type: string + - name: upc + in: query + description: Filter items by UPC. + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned. + schema: + type: string + - name: exclude_fields + in: query + description: Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded. + schema: + type: string + - name: product_id + in: query + description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Variants (Batch) + summary: Update Variants (Batch) + description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' + operationId: updateVariantsBatch + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Variants Collection Put + type: array + items: + title: Variant Put + type: object + description: | + The model for a PUT to update variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Variant Collection Response + type: object + properties: + data: + type: array + items: + type: object + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + x-nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + x-nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + x-nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + x-nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + x-nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + x-nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + x-nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + x-nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + x-nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + x-nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + x-nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + x-nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + x-nullable: true + description: Common Variant properties. + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + x-nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + title: Option Value Variant + type: object + allOf: + - title: Option Value Product Base + type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + description: Common Option Value Product properties. + - type: object + properties: + id: + type: integer + option_id: + type: integer + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + meta: + title: Collection Meta + type: object + properties: + pagination: + title: Pagination + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + description: 'Data about the response, including pagination and collection totals.' + '413': + description: '' + content: + application/json: + example: + errors: {} + status: 413 + title: The request payload is too large. The maximum items allowed in the array is 50 + type: /api-docs/getting-started/api-status-codes + '422': + description: | + This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Variants Batch Error Response + type: object + properties: + batch_errors: + type: array + items: + title: Error Response + type: object + allOf: + - title: Base Error + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + - type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + description: | + Errors during batch usage for the BigCommerce API. + x-codegen-request-body-name: body + parameters: + - $ref: '#/components/parameters/Accept' +components: + schemas: + categoriesTree_Resp: + title: categoriesTree_Resp + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/categoriesTreeNode_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Returns the categories tree, a nested lineage of the categories with parent->child relationship. The Category objects returned are simplified versions of the category objects returned in the rest of this API. + x-internal: false + categoriesTreeNode_Full: + title: categoriesTreeNode_Full + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the category; increments sequentially. + example: 26 + parent_id: + type: integer + description: | + The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. + example: 25 + name: + type: string + description: | + The name displayed for the category. Name is unique with respect to the category's siblings. + example: Bath + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. + example: true + url: + type: string + description: | + The custom URL for the category on the storefront. + example: /towels/bath-towels/ + description: Used to reflect parent <> child category relationships. Used by Category Tree. + x-internal: false + productVariant_Base: + title: productVariant_Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + mpn: + type: string + description: The Manufacturer Part Number (MPN) for the variant. + gtin: + type: string + example: '012345678905' + description: Common Variant properties. + x-internal: false + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + productVariant_Full: + title: productVariant_Full + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + $ref: '#/components/schemas/productVariantOptionValue_Full' + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + calculated_weight: + type: number + x-internal: false + description: '' + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + productVariant_Post: + title: productVariant_Post + description: | + The model for a POST to create variants on a product. + allOf: + - title: Variant Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + image_url: + type: string + description: Publicly available image url + gtin: + type: string + description: Global Trade Item Number + example: '012345678905' + mpn: + type: string + description: Manufacturer Part Number + example: HV-HM02 + description: Common Variant properties. + - type: object + properties: + product_id: + type: integer + x-required: + - post + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + $ref: '#/components/schemas/productVariantOptionValue_Full' + x-required: + - post + x-internal: false + productVariantOptionValue_Full: + title: productVariantOptionValue_Full + allOf: + - type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + - $ref: '#/components/schemas/productVariantOptionValue_Base' + x-internal: false + productVariantOptionValue_Base: + title: productVariantOptionValue_Base + type: object + properties: + id: + type: integer + description: '`option_value` ID.' + example: 146 + option_id: + type: integer + description: '`option` ID.' + example: 151 + description: Common Product Variant Option properties. + x-internal: false + metafield_Base: + title: metafield_Base + type: object + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + x-internal: false + properties: + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + required: + - permission_set + - namespace + - key + - value + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + errorMultiStatus: + title: errorMultiStatus + type: object + properties: + status: + type: integer + minLength: 3 + maxLength: 3 + description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' + title: + type: string + description: A summary of the failure or partial success. + type: + type: string + description: A BigCommerce-defined error signifier. + errors: + $ref: '#/components/schemas/DetailedErrors' + DetailedErrors: + title: DetailedErrors + description: Each key-value pair describes a failure or partial success case. + type: object + properties: {} + additionalProperties: true + x-internal: false + metafield_Full: + title: metafield_Full + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + - $ref: '#/components/schemas/metafield_Base' + - type: object + properties: + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID of the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + x-internal: false + productVariant_Put: + title: productVariant_Put + description: The model for a PUT to update variants on a product. + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + product_id: + type: integer + x-required: + - post + sku: + maxLength: 255 + minLength: 1 + type: string + x-required: + - post + x-internal: false + parameters: + ProductIdParam: + name: product_id + in: path + description: | + The ID of the `Product` to which the resource belongs. + required: true + schema: + type: integer + VariantIdParam: + name: variant_id + in: path + description: | + ID of the variant on a product, or on an associated Price List Record. + required: true + schema: + type: integer + MetafieldIdParam: + name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + 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' + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml new file mode 100644 index 000000000..82a56a3bd --- /dev/null +++ b/reference/catalog/products_catalog.v3.yml @@ -0,0 +1,8866 @@ +openapi: '3.0.3' +info: + title: Catalog - Products + description: |- + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + + Our Catalog Products endpoints let you [create products](/docs/rest-catalog/products#create-a-product), perform [batch operations on existing products](/docs/rest-catalog/products#update-products-batch) and work with [reviews](/docs/rest-catalog/products#create-a-product-review), [images](/docs/rest-catalog/products#create-a-product-image), and [videos](/docs/rest-catalog/products#create-a-product-video). Note that after a product is created initially, you can manage the nuances of its variations using the [Product Modifier](/docs/rest-catalog/product-modifiers), [Product Variant](/docs/rest-catalog/product-variants), and [Product Variant Options](/docs/rest-catalog/product-variant-options) endpoints. + + Other core product endpoints focus on [bulk pricing](/docs/rest-catalog/products#create-a-bulk-pricing-rule), [complex rules](/docs/rest-catalog/products#create-a-complex-rule), [custom fields](/docs/rest-catalog/products#create-a-custom-fields), and [metafields](/docs/rest-catalog/products#create-a-product-metafield). Product Variant objects also contain [their own metafields](/docs/rest-catalog/product-variants#create-a-product-variant-metafield). For [MSF-enabled](/api-docs/multi-storefront/overview) stores, the product object also contains product [channel assignments](/docs/rest-catalog/products#create-products-channel-assignments) and [category assignments](/docs/rest-catalog/products#create-products-category-assignments); read more about [products in the MSF context](/api-docs/multi-storefront/api-guide#products). + + This API family also contains an endpoint to [Get a catalog summary](/docs/rest-catalog/products#get-a-catalog-summary). + + > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + ### Webhooks + * [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products) + * [Product assignment webhook events](/api-docs/channels/guide/webhooks#product-assignments) + + ### Additional Catalog endpoints + * [Brands](/docs/rest-catalog/brands) + * [Categories](/docs/rest-catalog/categories) + * [Category Trees](/docs/rest-catalog/category-trees) + * [Product Modifiers](/docs/rest-catalog/product-modifiers) + * [Product Variants](/docs/rest-catalog/product-variants) + * [Product Variant Options](/docs/rest-catalog/product-variant-options) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + version: '' +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: Products + - name: Bulk Pricing Rules + - name: Complex Rules + - name: Custom Fields + - name: Images + - name: Metafields + - name: Reviews + - name: Videos + - name: Channel Assignments + - name: Category Assignments + - name: Summary +paths: + '/catalog/products': + get: + tags: + - Products + summary: Get All Products + description: Returns a list of **Products**. Optional filter parameters can be passed in. + operationId: getProducts + parameters: + - name: id + in: query + description: | + Filter items by ID. + schema: + type: integer + - name: 'id:in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:not_in' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:min' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:max' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:greater' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:less' + in: query + style: form + explode: false + schema: + type: array + items: + type: integer + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: upc + in: query + description: | + Filter items by UPC. + schema: + type: string + - name: price + in: query + description: | + Filter items by price. + schema: + type: number + - name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + - name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + - name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + - name: date_modified + in: query + description: 'Filter items by `date_modified`. ' + schema: + type: string + format: date-time + - name: 'date_modified:max' + in: query + description: 'Filter items by `date_modified`. For example, `date_modified:max=2020-06-15`.' + schema: + type: string + - name: 'date_modified:min' + in: query + description: 'Filter items by `date_modified`. For example, `date_modified:min=2018-06-15`.' + schema: + type: string + - name: date_last_imported + in: query + description: Filter items by date_last_imported. + schema: + type: string + format: date-time + - name: 'date_last_imported:max' + in: query + description: 'Filter items by date_last_imported. For example, `date_last_imported:max=2020-06-15`.' + schema: + type: string + - name: 'date_last_imported:min' + in: query + description: 'Filter items by date_last_imported. For example, `date_last_imported:min=2018-06-15`.' + schema: + type: string + - name: is_visible + in: query + description: Filter items based on whether the product is currently visible on the storefront. + schema: + type: boolean + - name: is_featured + in: query + description: 'Filter items by is_featured. `1` for true, `0` for false.' + schema: + type: integer + enum: + - 1 + - 0 + - name: is_free_shipping + in: query + description: 'Filter items by is_free_shipping. `1` for true, `0` for false.' + schema: + type: integer + - name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + - name: 'inventory_level:in' + in: query + schema: + type: integer + - name: 'inventory_level:not_in' + in: query + schema: + type: integer + - name: 'inventory_level:min' + in: query + schema: + type: integer + - name: 'inventory_level:max' + in: query + schema: + type: integer + - name: 'inventory_level:greater' + in: query + schema: + type: integer + - name: 'inventory_level:less' + in: query + schema: + type: integer + - name: inventory_low + in: query + description: | + Filter items by inventory_low. Values: 1, 0. + schema: + type: integer + - name: out_of_stock + in: query + description: | + Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. + schema: + type: integer + - name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + - name: type + in: query + description: Filter items by type. + schema: + type: string + enum: + - digital + - physical + - name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + - name: keyword + in: query + description: Filter items by keywords found in the `name` or `sku` fields + schema: + type: string + - name: keyword_context + in: query + description: Set context used by the search algorithm to return results targeted towards the specified group. Use `merchant` to help merchants search their own catalog. Use `shopper` to return shopper-facing search results. + schema: + type: string + enum: + - shopper + - merchant + - name: status + in: query + description: | + Filter items by status. + schema: + type: integer + - name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: availability + in: query + description: | + Filter items by availability. Values are: available, disabled, preorder. + schema: + type: string + enum: + - available + - disabled + - preorder + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: direction + in: query + description: | + Sort direction. Acceptable values are: `asc`, `desc`. + schema: + type: string + enum: + - asc + - desc + - name: sort + in: query + description: | + Field name to sort by. Note: Since `id` increments when new products are added, you can use that field to sort by product create date. + schema: + type: string + enum: + - id + - name + - sku + - price + - date_modified + - date_last_imported + - inventory_level + - is_visible + - total_sold + - name: 'categories:in' + in: query + description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' + schema: + type: integer + - name: sku + in: query + description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' + schema: + type: string + - name: 'sku:in' + in: query + description: Filter items by SKU. + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + put: + tags: + - Products + summary: Update Products (Batch) + description: |- + Updates products in batches. Batches are limited to 10 products. + + **Required Fields** + * `id` - product `id` is required for batch updates to products. + + **Read-Only Fields** + - `id` + - `date_created` + - `date_modified` + - `calculated_price` + - `base_variant_id` + operationId: updateProducts + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Put_Collection' + examples: + example-1: + value: + - id: 0 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documentation. + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + examples: + example-1: + value: + data: + - id: 1 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documentation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24' + date_latest_value: '2019-08-24' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: + pagination: + total: 36 + count: 36 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: string + current: '?page=1&limit=50' + next: string + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: '`Product` was in conflict with another product. This is the result of duplicate unique values such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`.' + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse_409' + '413': + description: 413 Request Entity Too Large + content: + application/json: + schema: + $ref: '#/components/schemas/error_Base' + example: + errors: {} + status: 413 + title: The request payload is too large. The maximum items allowed in the array is 50 + type: /api-docs/getting-started/api-status-codes + '422': + description: '`Product` was not valid. This is the result of missing required fields or invalid data. See the response for more details.' + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse_422' + x-codegen-request-body-name: products + post: + tags: + - Products + summary: Create a Product + description: |- + Creates a *Product*. Only one product can be created at a time. + + **Required Fields:** + - `name` + - `type` + - `weight` + - `price` + + **Read-Only Fields** + - `id` + - `date_created` + - `date_modified` + - `calculated_price` + - `base_variant_id` + + **Limits** + - 250 characters product name length. + + **Usage Notes** + * `POST` requests to `/products` accept a `video` array. + * `POST` requests to `/products/{product_id}/videos` accept a `video` object. + operationId: createProduct + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + '207': + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + + '409': + description: | + `Product` was in conflict with another product. This is the result of duplicate unique values, such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: product + delete: + tags: + - Products + summary: Delete Products + description: |- + To delete *Product* objects, you must include a filter. This prevents inadvertently deleting all *Product* objects in a store. + + > #### Note + > The maximum number of products you can delete at one time is 250. + + **Example**: + To delete products with the id's of 1,2 and 3, use `DELETE /v3/catalog/products?id:in=1,2,3`. + operationId: deleteProducts + parameters: + - name: name + in: query + description: | + Filter items by name. + schema: + type: string + - name: sku + in: query + description: | + Filter items by SKU. + schema: + type: string + - name: price + in: query + description: | + Filter items by price. + schema: + type: number + - name: weight + in: query + description: | + Filter items by weight. + schema: + type: number + - name: condition + in: query + description: | + Filter items by condition. + schema: + type: string + enum: + - new + - used + - refurbished + - name: brand_id + in: query + description: | + Filter items by brand_id. + schema: + type: integer + - name: date_modified + in: query + description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' + schema: + type: string + format: date-time + - name: date_last_imported + in: query + description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' + schema: + type: string + format: date-time + - name: is_visible + in: query + description: 'Filter items by if visible on the storefront. ' + schema: + type: boolean + - name: is_featured + in: query + description: | + Filter items by is_featured. + schema: + type: integer + - name: inventory_level + in: query + description: | + Filter items by inventory_level. + schema: + type: integer + - name: total_sold + in: query + description: | + Filter items by total_sold. + schema: + type: integer + - name: type + in: query + description: 'Filter items by type: `physical` or `digital`.' + schema: + type: string + enum: + - digital + - physical + - name: categories + in: query + description: |- + Filter items by categories. + If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. + schema: + type: integer + - name: keyword + in: query + description: | + Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. + schema: + type: string + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/products/{product_id}': + get: + tags: + - Products + summary: Get a Product + description: Returns a single *Product*. Optional parameters can be passed in. + operationId: getProductById + parameters: + - name: include + in: query + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + schema: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 174 + name: 1L Le Parfait Jar + type: physical + sku: '' + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 1 + width: 0 + depth: 0 + height: 0 + price: 7.95 + cost_price: 0 + retail_price: 10 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: '' + calculated_price: 7.95 + categories: + - 23 + - 21 + brand_id: 36 + option_set_id: 55 + option_set_display: right + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + reviews_rating_sum: 0 + reviews_count: 0 + total_sold: 7 + fixed_cost_shipping_price: 0 + is_free_shipping: false + is_visible: true + is_featured: false + related_products: + - -1 + warranty: '' + bin_picking_number: '' + layout_file: product.html + upc: '' + mpn: '' + gtin: '' + search_keywords: 'jar, glass' + availability: available + availability_description: '' + gift_wrapping_options_type: any + gift_wrapping_options_list: [] + sort_order: 0 + condition: New + is_condition_shown: false + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: '' + meta_keywords: [] + meta_description: '' + date_created: '2018-08-15T14:48:46+00:00' + date_modified: '2018-09-05T20:42:07+00:00' + view_count: 10 + preorder_release_date: '2018-09-05T20:42:07+00:00' + preorder_message: '' + is_preorder_only: false + is_price_hidden: false + price_hidden_label: '' + custom_url: + url: /all/1l-le-parfait-jar/ + is_customized: true + base_variant_id: 345 + open_graph_type: product + open_graph_title: '' + open_graph_description: '' + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Products + summary: Update a Product + description: | + Updates a *Product*. + + **Read-Only Fields** + - id + - date_created + - date_modified + - calculated_price + - base_variant_id + operationId: updateProduct + parameters: + - $ref: '#/components/parameters/ContentType' + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/product_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Response + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example-1: + example: + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22+00:00' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22+00:00' + videos: + - title: string + description: string + sort_order: -2147483648 + type: youtube + video_id: string + id: 0 + product_id: 0 + length: string + date_created: '2018-08-15T14:49:05+00:00' + date_modified: '2018-08-24T14:41:00+00:00' + id: 1 + base_variant_id: 0 + calculated_price: 0 + options: + - id: 55 + product_id: 4 + display_name: Add-a-$5-Donation1535042499-187 + type: radio_buttons + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + sort_order: 1 + option_values: + is_default: false + label: Green + sort_order: 0 + value_data: {} + id: 0 + modifiers: + - type: date + required: true + sort_order: 0 + config: + default_value: string + checked_by_default: true + checkbox_label: string + date_limited: true + date_limit_mode: range + date_earliest_value: '2019-08-24T00:00:00+00:00' + date_latest_value: '2019-08-24T00:00:00+00:00' + file_types_mode: specific + file_types_supported: + - 'images, documents, other' + file_types_other: + - pdf + file_max_size: 5 + text_characters_limited: true + text_min_length: 1 + text_max_length: 55 + text_lines_limited: true + text_max_lines: 4 + number_limited: true + number_limit_mode: lowest + number_lowest_value: 100 + number_highest_value: 0 + number_integers_only: false + product_list_adjusts_inventory: true + product_list_adjusts_pricing: true + product_list_shipping_calc: weight + display_name: string + id: 12 + product_id: 77 + name: Add-a-$5-Donation1535039590-191 + option_values: + - is_default: false + label: Green + sort_order: 0 + value_data: {} + adjusters: + price: + adjuster: relative + adjuster_value: 5 + weight: + adjuster: relative + adjuster_value: 5 + image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + status: true + message: string + id: 0 + option_id: 0 + option_set_id: 0 + option_set_display: string + variants: + - cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: 12345678905 + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + meta: {} + '201': + description: Created + content: + application/json: + schema: + type: object + properties: {} + '207': + description: |- + Multi-status. The product information was updated successfully, but the inventory data failed to update. + + Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/product_Full' + errors: + $ref: '#/components/schemas/errorMultiStatus' + meta: + $ref: '#/components/schemas/metaCollection_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + `Product` was in conflict with another product. This is caused by: duplicate unique values, such as name or SKU; a missing category, brand, or tax_class with which the product is being associated; or a conflicting bulk pricing rule. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: product + delete: + tags: + - Products + summary: Delete a Product + description: Deletes a *Product*. + operationId: deleteProductById + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/images': + get: + tags: + - Images + summary: Get All Product Images + description: Returns a list of *Product Images*. Optional parameters can be passed in. + operationId: getProductImages + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Collection Response + type: object + properties: + data: + type: array + items: + title: Product Image + type: object + allOf: + - $ref: '#/components/schemas/productImage_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + - id: 382 + product_id: 158 + is_thumbnail: true + sort_order: 0 + description: '' + image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + - id: 383 + product_id: 158 + is_thumbnail: false + sort_order: 0 + description: '' + image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' + date_modified: '2018-08-15T14:48:31+00:00' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '204': + description: | + There are not any images on this product. + content: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Images + summary: Create a Product Image + description: |- + Creates a *Product Image*. + + **Required Fields** + - `image_file`, or + - `image_url` + + **Usage Notes** + - `image_url` - `255` character limit + - For file uploads, use the `multipart/form-data` media type + - Only one image at a time can be created + - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. + operationId: createProductImage + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Image Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + A `multipart/form-data` media type. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + multipart/form-data: + schema: + title: Product Image Post + description: The model for a POST to create an image on a product. + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + A `multipart/form-data` media type. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + image_url: + type: string + description: | + Must be a fully qualified URL path, including protocol. Limit of 8MB per file. + image_file: + type: string + description: | + Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. + + A `multipart/form-data` media type. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: |- + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + A `multipart/form-data` media type. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: |- + Unprocessable Entity. + + May occur if the `Content-Type` header is set to `multipart/form-data` rather than `application/json` when creating a product image using `image_url`. + content: + application/json: + schema: + required: + - status + - title + - type + type: object + properties: + status: + type: number + title: + minLength: 1 + type: string + type: + minLength: 1 + type: string + description: '' + example: + status: 422 + title: image_url must be present if uploading by url + type: /api-docs/getting-started/api-status-codes + x-codegen-request-body-name: productImage + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/images/{image_id}': + get: + tags: + - Images + summary: Get a Product Image + description: Returns a single *Product Image*. Optional parameters can be passed in. + operationId: getProductImageById + parameters: + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + $ref: '#/components/schemas/productImage_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Images + summary: Update a Product Image + description: |- + Updates a *Product Image*. + + **Usage Notes** + - `image_url` - `255` character limit + - For file uploads, send a POST request using the `multipart/form-data` media type + operationId: updateProductImage + parameters: + - $ref: '#/components/parameters/ContentType' + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/productImage_Put' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Image Response + type: object + properties: + data: + title: Product Image + type: object + allOf: + - title: Product Image Base + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + description: Common ProductImage properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + image_url: + type: string + description: |- + Publically available URL. + Use the image_url when creating a product. + example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + id: 485 + product_id: 158 + is_thumbnail: false + sort_order: 1 + description: '' + image_file: o/381/product-image__98178.png + url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' + url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' + url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' + url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' + date_modified: '2018-09-13T15:57:07+00:00' + meta: {} + '201': + description: Created + content: + application/json: + schema: + type: object + properties: {} + '400': + description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + type: object + properties: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productImage + delete: + tags: + - Images + summary: Delete a Product Image + description: Deletes a *Product Image*. + operationId: deleteProductImage + parameters: + - name: image_id + in: path + description: | + The ID of the `Image` that is being operated on. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ImageIdParam' + '/catalog/products/{product_id}/videos': + get: + tags: + - Videos + summary: Get All Product Videos + description: Returns a list of *Product Videos*. Optional parameters can be passed in. + operationId: getProductVideos + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/productVideo_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + type: youtube + video_id: PqBTp23RLhI + product_id: 192 + sort_order: 1 + title: Creating and Editing Banners | BigCommerce Tutorials + description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' + length: '01:54' + - id: 7 + type: youtube + video_id: EhYBjzqd-nI + product_id: 192 + sort_order: 2 + title: BigCommerce Company Values + description: |- + These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. + + Join the BigCommerce team and help us build software that changes lives! + + https://www.bigcommerce.com/careers/ + length: '03:30' + - id: 8 + type: youtube + video_id: vAUdo4kRjrU + product_id: 192 + sort_order: 3 + title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce + description: |- + We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: + + “I am given the freedom and trust to make a difference.” + + “Everyone believes in the product and growing the company.” + + “I'm appreciated for the work I do and there is room to grown within the company.” + + Work With Us! + http://www.bigcommerce.com/careers.php + length: '01:37' + meta: + pagination: + total: 3 + count: 3 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Videos + summary: Create a Product Video + description: |- + Creates a *Product Video*. + + **Required Fields** + * video_id + + **Read-Only Fields** + * id + + Publicly accessible URLs are valid parameters. + Videos must be loaded through YouTube at this time. + operationId: createProductVideo + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Video Post + description: | + The model for a POST to create a video on a product. + allOf: + - title: Product Video Base + description: Common Product Video properties. + properties: + title: + maxLength: 255 + minLength: 0 + type: string + example: Writing Great Documentation + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + example: A video about documenation + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + example: 1 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + - properties: + video_id: + type: string + maxLength: 25 + minLength: 0 + description: | + The ID of the video on a host site. + x-required: + - post + example: z3fRu9pkuXE + type: object + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productVideo + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/videos/{id}': + get: + tags: + - Videos + summary: Get a Product Video + description: Returns a single *Product Video*. Optional parameters can be passed in. + operationId: getProductVideoById + parameters: + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + $ref: '#/components/schemas/productVideo_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Videos + summary: Update a Product Video + description: |- + Updates a *Product Video. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateProductVideo + parameters: + - $ref: '#/components/parameters/ContentType' + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Product Video Put + description: | + The model for a PUT to update a video on a product. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + x-required: + - put + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Video Response + type: object + properties: + data: + title: Product Video + type: object + description: | + A product video model. + allOf: + - title: Product Video Base + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + description: Common Product Video properties. + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + video_id: + type: string + description: | + The ID of the video on a host site. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + title: Your Video + description: Company Values + sort_order: 1 + type: youtube + video_id: 123345AA + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productVideo + delete: + tags: + - Videos + summary: Delete a Product Video + description: Deletes a *Product Video*. + operationId: deleteProductVideo + parameters: + - name: id + in: path + description: The BigCommerce ID of the `Video` + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/VideoIdParam' + '/catalog/products/{product_id}/complex-rules': + get: + tags: + - Complex Rules + summary: Get Complex Rules + description: Returns a list of all product *Complex Rules*. Optional parameters may be passed in. + operationId: getComplexRules + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Complex Rule Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/complexRule_Base' + meta: + $ref: '#/components/schemas/metaCollection_Full' + description: Complex Rule Response + example: + data: + - id: 82 + product_id: 195 + sort_order: 0 + enabled: true + stop: false + price_adjuster: + adjuster: relative + adjuster_value: 8 + weight_adjuster: {} + purchasing_disabled: false + purchasing_disabled_message: '' + purchasing_hidden: false + image_url: '' + conditions: + - rule_id: 82 + modifier_id: 221 + modifier_value_id: 175 + variant_id: 1 + combination_id: 0 + - id: 83 + product_id: 195 + sort_order: 1 + enabled: true + stop: false + price_adjuster: {} + weight_adjuster: + adjuster: relative + adjuster_value: 3 + purchasing_disabled: false + purchasing_disabled_message: '' + purchasing_hidden: false + image_url: '' + conditions: + - rule_id: 83 + modifier_id: 221 + modifier_value_id: 174 + variant_id: 1 + combination_id: 0 + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + post: + tags: + - Complex Rules + summary: Create a Complex Rule + description: |- + Creates a product *Complex Rule*. + + **Required Fields** + - modifier_id + - modifier_value_id + - modifier_value_id + - variant_id + + **Read-Only Fields** + - complex_rule_id + - conditions_id + - rule_id + - combination_id + - id + operationId: createComplexRule + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Complex Rule + type: object + properties: + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ComplexRule + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/complex-rules/{complex_rule_id}': + get: + tags: + - Complex Rules + summary: Get a Complex Rule + description: Returns a single *Complex Rule*. Optional parameters can be passed in. + operationId: getComplexRuleById + parameters: + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Complex Rules + summary: Update a Complex Rule + description: |- + Updates a *Complex Rule*. + + **Required Fields**: + - none + + **Read-Only Fields**: + - complex_rule_id + - conditions_id + - rule_id + - combination_id + - id + operationId: updateComplexRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + + requestBody: + content: + application/json: + schema: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Complex Rule + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + weight_adjuster: + title: Adjuster + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + conditions: + type: array + items: + title: Complex Rule Condition + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + description: Common ComplexRule properties. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + '409': + description: | + The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: ComplexRule + delete: + tags: + - Complex Rules + summary: Delete a Complex Rule + description: Deletes a product *Complex Rule*. + operationId: deleteComplexRuleById + parameters: + - name: complex_rule_id + in: path + description: | + The ID of the `ComplexRule`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ComplexRuleIdParam' + '/catalog/products/{product_id}/custom-fields': + get: + tags: + - Custom Fields + summary: Get Custom Fields + description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. + operationId: getCustomFields + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - name: Release year + value: '1987' + id: 1 + meta: + pagination: + total: 1 + count: 1 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + previous: '?page=1&limit=50' + current: '?page=1&limit=50' + next: '?page=1&limit=50' + post: + tags: + - Custom Fields + summary: Create a Custom Fields + description: |- + Creates a *Custom Field*. + + **Required Fields:** + - name + - value + + **Read-Only:** + - id + + **Limits** + - 200 custom fields per product limit. + - 255 characters per custom field limit. + operationId: createCustomField + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Custom Field + required: + - name + - value + type: object + properties: + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: CustomField + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/custom-fields/{custom_field_id}': + get: + tags: + - Custom Fields + summary: Get a Custom Field + description: Returns a single *Custom Field*. Optional parameters can be passed in. + operationId: getCustomFieldById + parameters: + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/productCustomField_Base' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Custom Fields + summary: Update a Custom Field + description: |- + Updates a *Custom Field*. + + **Required Fields** + - none + + **Read-Only** + - id + operationId: updateCustomField + parameters: + - $ref: '#/components/parameters/ContentType' + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Custom Field + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + name: Release Year + value: '1976' + id: 2 + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '422': + description: | + The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: CustomField + delete: + tags: + - Custom Fields + summary: Delete a Custom Field + description: Deletes a product *Custom Field*. + operationId: deleteCustomFieldById + parameters: + - name: custom_field_id + in: path + description: | + The ID of the `CustomField`. + required: true + schema: + type: integer + responses: + '204': + description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' + content: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/CustomFieldIdParam' + '/catalog/products/{product_id}/bulk-pricing-rules': + get: + tags: + - Bulk Pricing Rules + summary: Get All Bulk Pricing Rules + description: Returns a list of *Bulk Pricing Rules*. Optional parameters can be passed in. + operationId: getBulkPricingRules + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + - id: 84 + quantity_min: 4 + quantity_max: 0 + type: price + amount: 1 + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Bulk Pricing Rules + summary: Create a Bulk Pricing Rule + description: |- + Creates a *Bulk Pricing Rule*. + + **Required Fields** + - quantity_min + - quantity_max + - type + - amount + + **Read-Only Fields** + - id + + **Limits** + - 50 bulk pricing rule per product limit. + operationId: createBulkPricingRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/bulkPricingRule_Full' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + title: Meta + type: object + description: Empty meta object; may be used later. + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: BulkPricingRule + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': + get: + tags: + - Bulk Pricing Rules + summary: Get a Bulk Pricing Rule + description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. + operationId: getBulkPricingRuleById + parameters: + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Bulk Pricing Rules + summary: Update a Bulk Pricing Rule + description: |- + Updates a *Bulk Pricing Rule*. + + **Required Fields** + * none + + **Read-Only Fields** + - id + operationId: updateBulkPricingRule + parameters: + - $ref: '#/components/parameters/ContentType' + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + title: Bulk Pricing Rule + required: + - amount + - quantity_max + - quantity_min + - type + type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. + Required in /POST. + example: 10 + x-required: + - post + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + Required in /POST. + example: 50 + x-required: + - post + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + Required in /POST. + example: price + enum: + - price + - percent + - fixed + x-required: + - post + amount: + type: integer + description: |- + The discount can be a fixed dollar amount or a percentage. For a fixed dollar amount enter it as an integer and the response will return as an integer. For percentage enter the amount as the percentage divided by 100 using string format. For example 10% percent would be “.10”. The response will return as an integer. + Required in /POST. + description: Common BulkPricingRule properties + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 83 + quantity_min: 1 + quantity_max: 3 + type: price + amount: 1 + meta: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + '409': + description: | + The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + '422': + description: | + The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + x-codegen-request-body-name: BulkPricingRule + delete: + tags: + - Bulk Pricing Rules + summary: Delete a Bulk Pricing Rule + description: Deletes a *Bulk Pricing Rule*. + operationId: deleteBulkPricingRuleById + parameters: + - name: bulk_pricing_rule_id + in: path + description: | + The ID of the `BulkPricingRule`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + '404': + description: | + The resource or parent resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/BulkPricingRuleIdParam' + '/catalog/products/{product_id}/metafields': + get: + tags: + - Metafields + summary: Get All Product Metafields + description: Returns a list of *Product Metafields*. Optional parameters can be passed in. + operationId: getProductMetafieldsByProductId + parameters: + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: key + in: query + description: | + Filter based on a metafield's key. + schema: + type: string + - name: namespace + in: query + description: Filter based on a metafield's namespace. + schema: + type: string + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Meta Field Collection Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaCollection_Full' + example: + data: + - id: 6 + key: Location + value: 4HG + namespace: Warehouse Locations + permission_set: app_only + resource_type: product + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + - id: 7 + key: Sublocation + value: 4HG + namespace: Warehouse Locations + permission_set: read + resource_type: product + resource_id: 111 + description: Location in the warehouse + date_created: '1973-01-20T21:34:57.903Z' + date_modified: '1990-12-30T00:29:23.515Z' + meta: + pagination: + total: 2 + count: 2 + per_page: 50 + current_page: 1 + total_pages: 1 + links: + current: '?page=1&limit=50' + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Metafields + summary: Create a Product Metafield + description: |- + Creates a *Product Metafield*. + + **Required Fields:** + * permission_set + * namespace + * key + * value + + **Read-Only Fields** + * id + + **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + operationId: createProductMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 8 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: Inventory Namespace + permission_set: read + resource_type: product + resource_id: 158 + description: Where products are located + date_created: '2018-09-13T16:42:37+00:00' + date_modified: '2018-09-13T16:42:37+00:00' + meta: {} + '409': + description: | + The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client ID, namespace, key, resource_type, and resource_id. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: |- + The HTTP status code. + title: + type: string + description: |- + The error title describing the particular error. + type: + type: string + '422': + description: | + The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. + content: + application/json: + schema: + title: Error Response + type: object + properties: + errors: + title: Detailed Errors + type: object + properties: {} + additionalProperties: true + instance: + type: string + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/metafields/{metafield_id}': + get: + tags: + - Metafields + summary: Get a Product Metafield + description: Returns a single *Product Metafield*. Optional parameters can be passed in. + operationId: getProductMetafieldByProductId + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Metafields + summary: Update a Product Metafield + description: "Updates a *Product Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified using the API account that created the metafield:\n\t* `namespace`\n\t* `key`\n\t* `permission_set`\n\t* `value`\n\n**Usage Notes**\n* Attempting to modify the `namespace`, `key`, `permission_set`, or `value` field using an API account different from the one used to create those metafields will result in a `403` error message. " + operationId: updateProductMetafield + parameters: + - $ref: '#/components/parameters/ContentType' + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/metafield_Base' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Metafield Response + type: object + properties: + data: + $ref: '#/components/schemas/metafield_Full' + meta: + $ref: '#/components/schemas/metaEmpty_Full' + example: + data: + id: 4 + key: location_id + value: 'Shelf 3, Bin 5' + namespace: App Namespace + permission_set: app_only + resource_type: product + resource_id: 137 + description: Where products are located + date_created: '2021-08-06T19:15:35+00:00' + date_modified: '2021-08-06T19:15:35+00:00' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: Metafield + delete: + tags: + - Metafields + summary: Delete a Product Metafield + description: Deletes a *Product Metafield*. + operationId: deleteProductMetafieldById + parameters: + - name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/MetafieldIdParam' + '/catalog/products/{product_id}/reviews': + get: + tags: + - Reviews + summary: Get Product Reviews + description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. + operationId: getProductReviews + parameters: + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + - name: page + in: query + description: Specifies the page number in a limited (paginated) list of products. + schema: + type: integer + - name: limit + in: query + description: Controls the number of items per page in a limited (paginated) list of products. + schema: + type: integer + - name: status + in: query + description: 'Filter items by status. `1` for approved, `0` for pending.' + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Collection Response + type: object + properties: + data: + type: array + items: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaCollection_Full' + '204': + description: | + There are no reviews on this product. + content: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + post: + tags: + - Reviews + summary: Create a Product Review + description: |- + Creates a *Product Review*. + + **Required Fields** + - title + - date_reviewed + + **Read-Only Fields** + * id + operationId: createProductReview + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Product Review Post + description: | + The model for a POST to create a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The product ID does not exist. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productReview + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + '/catalog/products/{product_id}/reviews/{review_id}': + get: + tags: + - Reviews + summary: Get a Product Review + description: Returns a single *Product Review*. Optional parameters maybe passed in. + operationId: getProductReviewById + parameters: + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + + - name: include_fields + in: query + description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + schema: + type: string + - name: exclude_fields + in: query + description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + put: + tags: + - Reviews + summary: Update a Product Review + description: |- + Updates a *Product Review*. + + **Required Fields** + * none + + **Read-Only Fields** + * id + operationId: updateProductReview + parameters: + - $ref: '#/components/parameters/ContentType' + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + requestBody: + description: | + A BigCommerce `ProductReview` object. + content: + application/json: + schema: + title: Product Review Put + description: | + The model for a PUT to update a product review. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + title: Product Review Response + type: object + properties: + data: + title: Product Review + type: object + description: | + A product review model. + allOf: + - title: Product Review Base + required: + - date_reviewed + - title + type: object + properties: + title: + maxLength: 255 + minLength: 0 + type: string + description: |- + The title for the product review. + Required in /POST. + text: + type: string + description: | + The text for the product review. + status: + type: string + description: | + The status of the product review. Must be one of `approved`, `disapproved` or `pending`. + rating: + type: integer + description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' + email: + type: string + description: 'The email of the reviewer. Must be a valid email, or an empty string.' + name: + maxLength: 255 + minLength: 0 + type: string + description: The name of the reviewer. + date_reviewed: + type: string + description: | + Date the product was reviewed. Required in /POST. + format: date-time + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product review; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the review is associated. + date_created: + type: string + description: | + Date the product review was created. + format: date-time + date_modified: + type: string + description: | + Date the product review was modified. + format: date-time + meta: + $ref: '#/components/schemas/metaEmpty_Full' + description: | + Response payload for the BigCommerce API. + example: + data: + title: irur + text: anim aute + status: Lorem ad sed voluptate + rating: 3 + email: esse Lorem laborum aute + name: 'ut in ' + date_reviewed: '2011-12-31T13:40:42.971Z' + id: 82495037 + product_id: 22609026 + date_created: '1985-01-17T07:37:20.439Z' + date_modified: '2004-09-28T14:38:21.973Z' + meta: {} + '404': + description: | + The resource was not found. + content: + application/json: + schema: + title: Not Found + type: object + properties: + status: + type: integer + description: | + 404 HTTP status code. + title: + type: string + description: The error title describing the particular error. + type: + type: string + instance: + type: string + description: Error payload for the BigCommerce API. + x-codegen-request-body-name: productReview + delete: + tags: + - Reviews + summary: Delete a Product Review + description: Deletes a *Product Review*. + operationId: deleteProductReview + parameters: + - name: review_id + in: path + description: | + The ID of the `review` that is being operated on. + required: true + schema: + type: integer + responses: + '204': + description: '' + content: {} + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ProductIdParam' + - $ref: '#/components/parameters/ReviewIdParam' + '/catalog/products/channel-assignments': + get: + summary: Get Products Channel Assignments + description: Returns a list of products channel assignments. + operationId: GetProductsChannelAssignments + tags: + - Channel Assignments + parameters: + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '200': + description: Collection of channel assignments. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ProductChannelAssignment' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + put: + summary: Create Products Channel Assignments + description: Creates products channel assignments. + operationId: CreateProductsChannelAssignments + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Channel Assignments + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductChannelAssignment' + responses: + '204': + description: Updated + '422': + description: Error response for batch PUT of Channel Assignments. Includes the errors for each reference id. + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + delete: + summary: Delete Products Channel Assignments + description: Delete products channel assignments. A filter must be supplied. + operationId: DeleteProductsChannelAssignments + tags: + - Channel Assignments + parameters: + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'channel_id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + '422': + description: At least one filter must be provided in order to delete channel assignments + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/products/category-assignments': + get: + summary: Get Products Category Assignments + description: Returns a list of products category assignments. + operationId: GetProductsCategoryAssignments + tags: + - Category Assignments + parameters: + - name: page + in: query + schema: + type: integer + - name: limit + in: query + schema: + type: integer + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + responses: + '200': + description: Collection of category assignments. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ProductCategoryAssignment' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + put: + summary: Create Products Category Assignments. + description: Creates products category assignments. + operationId: CreateProductsCategoryAssignments + parameters: + - $ref: '#/components/parameters/ContentType' + tags: + - Category Assignments + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductCategoryAssignment' + responses: + '204': + description: Updated + '422': + description: Error response for batch PUT of Category Assignments. Includes the errors for each reference id. + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + delete: + summary: Delete Products Category Assignments + description: Deletes products category assignments. A filter must be supplied. + operationId: DeleteProductsCategoryAssignments + tags: + - Category Assignments + parameters: + - name: 'product_id:in' + in: query + schema: + type: string + - name: 'category_id:in' + in: query + schema: + type: string + responses: + '204': + description: Deleted + '422': + description: At least one filter must be provided in order to delete category assignments + content: + application/json: + schema: + $ref: '#/components/schemas/beta5ErrorResponse' + parameters: + - $ref: '#/components/parameters/Accept' + '/catalog/summary': + get: + tags: + - Summary + summary: Get a Catalog Summary + description: |- + Returns a lightweight inventory summary from the BigCommerce Catalog. + + The inventory summary includes: + * "inventory_count" + * "variant_count" + * "inventory_value" + * "highest_variant_price" + * "average_variant_price" + * "lowest_variant_price" + * "oldest_variant_date" + * "newest_variant_date" + * "primary_category_id" + * "primary_category_name" + operationId: getCatalogSummary + responses: + '200': + description: '' + content: + application/json: + schema: + title: Catalog Summary Response + type: object + properties: + data: + title: Catalog Summary + type: object + properties: + inventory_count: + type: integer + description: | + A count of all inventory items in the catalog. + example: 2000 + inventory_value: + type: number + description: | + Total value of store's inventory. + format: double + example: 267000 + primary_category_id: + type: integer + description: | + ID of the category containing the most products. + example: 23 + primary_category_name: + type: string + description: | + Name of the category containing the most products. + example: Shop All + variant_count: + type: integer + description: Total number of variants + example: 46 + highest_variant_price: + type: number + description: Highest priced variant + format: double + example: 249 + average_variant_price: + type: number + description: Average price of all variants + format: double + example: 83.07978261 + lowest_variant_price: + type: string + description: Lowest priced variant in the store + example: '7' + oldest_variant_date: + type: string + example: '2018-08-15T00:00:00+00:00' + newest_variant_date: + type: string + example: '2018-08-16T00:00:00+00:00' + description: Catalog Summary object describes a lightweight summary of the catalog. + meta: + $ref: '#/components/schemas/metaEmpty_Full' + parameters: + - $ref: '#/components/parameters/Accept' +components: + schemas: + productModifier_Base: + title: productModifier_Base + required: + - required + - type + type: object + properties: + type: + type: string + description: | + BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. + enum: + - date + - checkbox + - file + - text + - multi_line_text + - numbers_only_text + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + required: + type: boolean + description: | + Whether or not this modifer is required or not at checkout. Required in a /POST. + x-required: + - post + sort_order: + type: integer + description: The order the modifiers display on the product detail page. + config: + $ref: '#/components/schemas/config_Full' + display_name: + type: string + description: The name of the option shown on the storefront. + description: Common Modifier properties. + x-internal: false + productModifier_Full: + title: productModifier_Full + description: Product Modifier + allOf: + - $ref: '#/components/schemas/productModifier_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the modifier; increments sequentially. + example: 12 + product_id: + type: integer + description: | + The unique numeric ID of the product to which the option belongs. + example: 77 + name: + type: string + description: | + The unique option name. Auto-generated from the display name, a timestamp, and the product ID. + example: Add-a-$5-Donation1535039590-191 + option_values: + type: array + items: + $ref: '#/components/schemas/productModifierOptionValue_Full' + x-internal: false + productModifierOptionValue_Base: + title: productModifierOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + adjusters: + $ref: '#/components/schemas/adjusters_Full' + description: Common Product Modifer `option_value` properties. + x-internal: false + productModifierOptionValue_Full: + title: productModifierOptionValue_Full + description: Product Modifer `option_value`. + allOf: + - $ref: '#/components/schemas/productModifierOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + option_id: + type: integer + x-internal: false + productOption_Base: + title: productOption_Base + type: object + properties: + id: + type: integer + description: | + The unique numerical ID of the option, increments sequentially. + nullable: true + example: 55 + product_id: + type: integer + description: | + The unique numerical ID of the product to which the option belongs. + example: 4 + x-required: + - post + - put + display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option shown on the storefront. + example: Add-a-$5-Donation1535042499-187 + x-required: + - post + - put + type: + type: string + description: | + The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. + enum: + - radio_buttons + - rectangles + - dropdown + - product_list + - product_list_with_images + - swatch + x-required: + - post + - put + config: + $ref: '#/components/schemas/productOptionConfig_Full' + sort_order: + type: integer + description: 'Order in which the option is displayed on the storefront. ' + example: 1 + option_values: + type: array + items: + $ref: '#/components/schemas/productOptionOptionValue_Full' + description: Common Option properties. + x-internal: false + productVariant_Base: + title: productVariant_Base + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + mpn: + type: string + description: The Manufacturer Part Number (MPN) for the variant. + gtin: + type: string + example: '012345678905' + description: Common Variant properties. + x-internal: false + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + productVariant_Full: + title: productVariant_Full + allOf: + - $ref: '#/components/schemas/productVariant_Base' + - type: object + properties: + id: + type: integer + product_id: + type: integer + sku: + type: string + sku_id: + type: integer + description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. + nullable: true + option_values: + type: array + description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. + items: + $ref: '#/components/schemas/productVariantOptionValue_Full' + calculated_price: + type: number + description: | + The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. + format: double + calculated_weight: + type: number + x-internal: false + description: '' + x-examples: + example-1: + cost_price: 0 + price: 0 + sale_price: 0 + retail_price: 0 + weight: 0 + width: 0 + height: 0 + depth: 0 + is_free_shipping: true + fixed_cost_shipping_price: 0 + purchasing_disabled: true + purchasing_disabled_message: string + upc: string + inventory_level: 0 + inventory_warning_level: 0 + bin_picking_number: string + mpn: string + gtin: '012345678905' + id: 0 + product_id: 0 + sku: string + sku_id: 0 + option_values: + - option_display_name: Color + label: Beige + id: 146 + option_id: 151 + calculated_price: 0 + calculated_weight: 0 + productVariant_Put_Product: + title: productVariant_Put_Product + type: object + properties: + cost_price: + minimum: 0 + type: number + description: The cost price of the variant. Not affected by Price List prices. + format: double + nullable: true + price: + minimum: 0 + type: number + description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' + format: double + nullable: true + sale_price: + minimum: 0 + type: number + description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' + format: double + nullable: true + retail_price: + minimum: 0 + type: number + description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' + format: double + nullable: true + weight: + minimum: 0 + type: number + description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' + format: double + nullable: true + width: + minimum: 0 + type: number + description: | + Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. + format: double + nullable: true + height: + minimum: 0 + type: number + description: | + Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. + format: double + nullable: true + depth: + minimum: 0 + type: number + description: | + Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. + format: double + nullable: true + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: double + nullable: true + purchasing_disabled: + type: boolean + description: 'If `true`, this variant will not be purchasable on the storefront.' + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' + upc: + type: string + description: The UPC code used in feeds for shopping comparison sites and external channel integrations. + nullable: true + inventory_level: + type: integer + description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + nullable: true + inventory_warning_level: + type: integer + description: 'When the variant hits this inventory level, it is considered low stock.' + nullable: true + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: Identifies where in a warehouse the variant is located. + nullable: true + product_id: + type: integer + sku: + maxLength: 255 + minLength: 1 + type: string + description: | + The model for a PUT to update variants on a product. + x-internal: false + productVariantOptionValue_Full: + title: productVariantOptionValue_Full + allOf: + - type: object + properties: + option_display_name: + maxLength: 255 + minLength: 1 + type: string + description: | + The name of the option. + example: Color + x-required: + - post + label: + maxLength: 255 + minLength: 1 + type: string + description: | + The label of the option value. + example: Beige + x-required: + - post + - $ref: '#/components/schemas/productVariantOptionValue_Base' + x-internal: false + productVariantOptionValue_Base: + title: productVariantOptionValue_Base + type: object + properties: + id: + type: integer + description: '`option_value` ID.' + example: 146 + option_id: + type: integer + description: '`option` ID.' + example: 151 + description: Common Product Variant Option properties. + x-internal: false + productOptionOptionValue_Base: + title: productOptionOptionValue_Base + required: + - label + - sort_order + type: object + properties: + is_default: + type: boolean + description: | + The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. + example: false + label: + type: string + description: | + The text display identifying the value on the storefront. Required in a /POST. + example: Green + x-required: + - post + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the value will be displayed on the product page. Required in a /POST. + example: 0 + x-required: + - post + value_data: + type: object + properties: {} + description: | + Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. + nullable: true + description: Common Product Option `option_value` properties. + x-internal: false + productOptionOptionValue_Full: + title: productOptionOptionValue_Full + description: Product Option `option_value`. + allOf: + - $ref: '#/components/schemas/productOptionOptionValue_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the value; increments sequentially. + x-internal: false + productImage_Base: + title: productImage_Base + type: object + properties: + image_file: + type: string + description: | + The local path to the original image file uploaded to BigCommerce. Limit of 1MB per file. + is_thumbnail: + type: boolean + description: | + Flag for identifying whether the image is used as the product's thumbnail. + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. + description: + type: string + description: | + The description for the image. + image_url: + type: string + description: 'Must be a fully qualified URL path, including protocol. Limit of 8MB per file.' + description: Common ProductImage properties. + x-internal: false + productImage_Put: + title: productImage_Put + description: The model for a PUT to update applicable Product Image fields. + allOf: + - title: Product Image Base + type: object + properties: + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + description: Common ProductImage properties. + - $ref: '#/components/schemas/productImage_Base' + x-internal: false + productVideo_Base: + title: productVideo_Base + type: object + description: | + The model for a POST to create a video on a product. + x-internal: false + properties: + title: + type: string + maxLength: 255 + minLength: 0 + description: | + The title for the video. If left blank, this will be filled in according to data on a host site. + example: Writing Great Documentation + description: + type: string + description: | + The description for the video. If left blank, this will be filled in according to data on a host site. + example: A video about documenation + sort_order: + type: integer + maximum: 2147483647 + minimum: -2147483648 + description: | + The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. + example: 1 + type: + type: string + description: | + The video type (a short name of a host site). + enum: + - youtube + video_id: + type: string + description: The ID of the video on a host site. + example: z3fRu9pkuXE + productVideo_Full: + title: productVideo_Full + description: | + A product video model. + allOf: + - $ref: '#/components/schemas/productVideo_Base' + - type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the product video; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + length: + type: string + description: | + Length of the video. This will be filled in according to data on a host site. + x-internal: false + product_Put: + title: product_Put + description: The model for a PUT to update a product. + allOf: + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Put_Product' + x-internal: false + metafield_Base: + title: metafield_Base + type: object + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + x-internal: false + properties: + key: + maxLength: 64 + minLength: 1 + type: string + description: | + The name of the field, for example: `location_id`, `color`. Required for POST. + example: Location + x-required: + - post + value: + maxLength: 65535 + minLength: 1 + type: string + description: | + The value of the field, for example: `1`, `blue`. Required for POST. + example: 4HG + x-required: + - post + namespace: + maxLength: 64 + minLength: 1 + type: string + description: | + Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. + example: Warehouse Locations + x-required: + - post + permission_set: + type: string + description: |- + Determines the visibility and writeability of the field by other API consumers. + + |Value|Description + |-|-| + |`app_only`|Private to the app that owns the field| + |`read`|Visible to other API consumers| + |`write`|Open for reading and writing by other API consumers| + |`read_and_sf_access`|Visible to other API consumers, including on storefront| + |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| + enum: + - app_only + - read + - write + - read_and_sf_access + - write_and_sf_access + description: + maxLength: 255 + minLength: 0 + type: string + description: | + Description for the metafields. + example: Location in the warehouse + required: + - permission_set + - namespace + - key + - value + complexRule_Base: + title: complexRule_Base + type: object + properties: + id: + type: integer + description: |- + The unique numeric ID of the rule; increments sequentially. + Read-Only + example: 5 + product_id: + type: integer + description: | + The unique numeric ID of the product with which the rule is associated; increments sequentially. + nullable: true + example: 67 + x-required: + - post + - put + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + The priority to give this rule when making adjustments to the product properties. + example: 0 + enabled: + type: boolean + description: | + Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. + example: true + stop: + type: boolean + description: | + Flag for determining whether other rules should not be applied after this rule has been applied. + purchasing_disabled: + type: boolean + description: | + Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. + purchasing_disabled_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Message displayed on the storefront when a rule disables the purchasing of a product. + example: This product is not available at this time. + purchasing_hidden: + type: boolean + description: | + Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' + price_adjuster: + $ref: '#/components/schemas/adjuster_Full' + weight_adjuster: + $ref: '#/components/schemas/adjuster_Full' + conditions: + type: array + items: + $ref: '#/components/schemas/complexRuleConditionBase' + description: Common ComplexRule properties. + x-internal: false + productCustomField_Base: + title: productCustomField_Base + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' + x-internal: false + productCustomField_Put: + title: productCustomField_Put + required: + - name + - value + type: object + properties: + id: + minimum: 1 + type: integer + description: |- + The unique numeric ID of the custom field; increments sequentially. Required to update existing custom field in /PUT request. + Read-Only + example: 6 + name: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: ISBN + x-required: + - post + value: + maxLength: 250 + minLength: 1 + type: string + description: | + The name of the field, shown on the storefront, orders, etc. Required for /POST + example: '1234567890123' + x-required: + - post + description: The model for a PUT to update a custom field on a product. + x-internal: false + complexRuleConditionBase: + title: complexRuleConditionBase + required: + - modifier_id + - modifier_value_id + - variant_id + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the rule condition; increments sequentially. Read-Only + nullable: true + example: 3 + rule_id: + type: integer + description: |- + The unique numeric ID of the rule with which the condition is associated. + Read-Only + nullable: true + example: 4 + modifier_id: + type: integer + description: |- + The unique numeric ID of the modifier with which the rule condition is associated. + Required in /POST. + nullable: true + example: 55 + modifier_value_id: + type: integer + description: |- + The unique numeric ID of the modifier value with which the rule condition is associated. + Required in /POST. + nullable: true + example: 256 + variant_id: + type: integer + description: |- + The unique numeric ID of the variant with which the rule condition is associated. + Required in /POST. + nullable: true + example: 1 + combination_id: + type: integer + description: | + (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. + description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' + x-internal: false + customUrl_Full: + title: customUrl_Full + type: object + properties: + url: + maxLength: 255 + minLength: 0 + type: string + description: | + Product URL on the storefront. + x-required: + - post + - put + x-url: true + is_customized: + type: boolean + description: | + Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). + x-required: + - post + - put + description: The custom URL for the product on the storefront. + x-internal: false + bulkPricingRule_Full: + title: bulkPricingRule_Full + type: object + description: Common Bulk Pricing Rule properties + x-internal: false + properties: + quantity_min: + minimum: 0 + type: integer + description: | + The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. + Required in /POST. + example: 10 + x-required: + - post + quantity_max: + minimum: 0 + type: integer + description: |- + The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. + Required in /POST. + example: 50 + x-required: + - post + type: + type: string + description: |- + The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. + Required in /POST. + example: price + enum: + - price + - percent + - fixed + x-required: + - post + amount: + oneOf: + - type: number + example: 10 + - type: string + example: '.10' + description: |- + You can express the adjustment type as either a fixed dollar amount or a percentage. Send a number; the response will return a number for `price` and `fixed` adjustments. + Divide the adjustment percentage by 100 and send the result in string format. For example, represent 10% as “.10”. The response will return a float value for both `price` and `percentage` adjustments. + Required in /POST. + required: + - quantity_min + - quantity_max + - type + - amount + productOptionConfig_Full: + title: productOptionConfig_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + adjuster_Full: + title: adjuster_Full + type: object + properties: + adjuster: + type: string + description: | + The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. + nullable: true + enum: + - relative + - percentage + adjuster_value: + type: number + description: | + The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. + example: 5 + description: Adjuster for Complex Rules. + x-internal: false + metaCollection_Full: + title: metaCollection_Full + type: object + properties: + pagination: + $ref: '#/components/schemas/pagination_Full' + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + pagination_Full: + title: pagination_Full + type: object + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: + type: object + properties: + previous: + type: string + description: | + Link to the previous page returned in the response. + current: + type: string + description: | + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: + type: string + description: | + Link to the next page returned in the response. + description: | + Pagination links for the previous and next parts of the whole collection. + description: 'Data about the response, including pagination and collection totals.' + x-internal: false + metaEmpty_Full: + type: object + title: Response meta + properties: {} + additionalProperties: true + description: Response metadata. + error_Base: + title: error_Base + type: object + properties: + status: + type: integer + description: | + The HTTP status code. + title: + type: string + description: | + The error title describing the particular error. + type: + type: string + instance: + type: string + description: | + Error payload for the BigCommerce API. + x-internal: false + errorMultiStatus: + title: errorMultiStatus + type: object + properties: + status: + type: integer + minLength: 3 + maxLength: 3 + description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' + title: + type: string + description: A summary of the failure or partial success. + type: + type: string + description: A BigCommerce-defined error signifier. + errors: + $ref: '#/components/schemas/DetailedErrors' + DetailedErrors: + title: DetailedErrors + description: Each key-value pair describes a failure or partial success case. + type: object + properties: {} + additionalProperties: true + x-internal: false + product_Full: + title: product_Full + allOf: + - type: object + properties: + id: + minimum: 1 + type: integer + description: ID of the product. Read-Only. + readOnly: true + - $ref: '#/components/schemas/product_Base' + - type: object + properties: + date_created: + type: string + description: | + The date on which the product was created. + format: date-time + example: '2018-08-15T14:49:05+00:00' + date_modified: + type: string + description: | + The date on which the product was modified. + format: date-time + example: '2018-08-24T14:41:00+00:00' + base_variant_id: + type: integer + description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. + calculated_price: + type: number + description: 'The price of the product as seen on the storefront. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`.' + format: float + options: + type: array + items: + $ref: '#/components/schemas/productOption_Base' + modifiers: + type: array + items: + $ref: '#/components/schemas/productModifier_Full' + map_price: + type: number + description: Minimum Advertised Price. + option_set_id: + type: integer + description: Indicates that the product is in an Option Set (legacy V2 concept). + option_set_display: + type: string + description: Legacy template setting which controls if the option set shows up to the side of or below the product image and description. + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Full' + x-internal: false + productImage_Full: + title: productImage_Full + description: Common ProductImage properties. + allOf: + - $ref: '#/components/schemas/productImage_Base' + - title: productImage + type: object + properties: + id: + type: integer + description: | + The unique numeric ID of the image; increments sequentially. + product_id: + type: integer + description: | + The unique numeric identifier for the product with which the image is associated. + url_zoom: + readOnly: true + type: string + description: | + The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. + url_standard: + readOnly: true + type: string + description: | + The standard URL for this image. By default, this is used for product-page images. + url_thumbnail: + readOnly: true + type: string + description: | + The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. + url_tiny: + readOnly: true + type: string + description: | + The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. + date_modified: + type: string + description: | + The date on which the product image was modified. + format: date-time + description: Common ProductImage properties. + x-internal: false + product_Put_Collection: + title: product_Put_Collection + description: The model for batch updating products. + x-internal: false + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Product*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/product_Base' + x-examples: + example-1: + - id: 0 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability: available + availability_description: string + gift_wrapping_options_type: list + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + type: array + config_Full: + title: config_Full + type: object + properties: + default_value: + type: string + description: | + (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. + checked_by_default: + type: boolean + description: | + (checkbox) Flag for setting the checkbox to be checked by default. + checkbox_label: + type: string + description: | + (checkbox) Label displayed for the checkbox option. + date_limited: + type: boolean + description: | + (date) Flag to limit the dates allowed to be entered on a date option. + date_limit_mode: + type: string + description: | + (date) The type of limit that is allowed to be entered on a date option. + example: range + enum: + - earliest + - range + - latest + date_earliest_value: + type: string + description: | + (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + date_latest_value: + type: string + description: | + (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. + format: date + file_types_mode: + type: string + description: | + (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. + example: specific + enum: + - specific + - all + file_types_supported: + type: array + description: | + (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: + `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). + `other` - Allows file types defined in the `file_types_other` array. + items: + type: string + example: 'images, documents, other' + file_types_other: + type: array + description: | + (file) A list of other file types allowed with the file upload option. + items: + type: string + example: pdf + file_max_size: + type: integer + description: | + (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. + example: 5 + text_characters_limited: + type: boolean + description: | + (text, multi_line_text) Flag to validate the length of a text or multi-line text input. + text_min_length: + type: integer + description: | + (text, multi_line_text) The minimum length allowed for a text or multi-line text option. + example: 1 + text_max_length: + type: integer + description: | + (text, multi_line_text) The maximum length allowed for a text or multi line text option. + example: 55 + text_lines_limited: + type: boolean + description: | + (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. + example: true + text_max_lines: + type: integer + description: | + (multi_line_text) The maximum number of lines allowed on a multi-line text input. + example: 4 + number_limited: + type: boolean + description: | + (numbers_only_text) Flag to limit the value of a number option. + example: true + number_limit_mode: + type: string + description: | + (numbers_only_text) The type of limit on values entered for a number option. + example: lowest + enum: + - lowest + - highest + - range + number_lowest_value: + type: number + description: | + (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. + example: 100 + number_highest_value: + type: number + description: | + (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. + number_integers_only: + type: boolean + description: | + (numbers_only_text) Flag to limit the input on a number option to whole numbers only. + example: false + product_list_adjusts_inventory: + type: boolean + description: | + (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. + product_list_adjusts_pricing: + type: boolean + description: | + (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. + product_list_shipping_calc: + type: string + description: | + (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. + example: weight + enum: + - none + - weight + - package + description: The values for option config can vary based on the Modifier created. + x-internal: false + adjusters_Full: + title: adjusters_Full + type: object + properties: + price: + $ref: '#/components/schemas/adjuster_Full' + weight: + $ref: '#/components/schemas/adjuster_Full' + image_url: + type: string + description: | + The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. + example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' + purchasing_disabled: + type: object + properties: + status: + type: boolean + description: | + Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. + message: + type: string + description: | + The message displayed on the storefront when the purchasing disabled status is `true`. + x-internal: false + product_Base: + title: product_Base + type: object + description: |- + Shared `Product` properties used in: + * `POST` + * `PUT` + * `GET` + x-internal: false + x-examples: + example-1: + id: 0 + name: Smith Journal 13 + type: physical + sku: SM-13 + description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: 0 + width: 0 + depth: 0 + height: 0 + price: 0 + cost_price: 0 + retail_price: 0 + sale_price: 0 + map_price: 0 + tax_class_id: 0 + product_tax_code: string + categories: + - 0 + brand_id: 0 + inventory_level: 0 + inventory_warning_level: 0 + inventory_tracking: none + fixed_cost_shipping_price: 0 + is_free_shipping: true + is_visible: true + is_featured: true + related_products: + - 0 + warranty: string + bin_picking_number: string + layout_file: string + upc: string + search_keywords: string + availability_description: string + availability: available + gift_wrapping_options_type: any + gift_wrapping_options_list: + - 0 + sort_order: -2147483648 + condition: New + is_condition_shown: true + order_quantity_minimum: 0 + order_quantity_maximum: 0 + page_title: string + meta_keywords: + - string + meta_description: string + view_count: 0 + preorder_release_date: '2019-08-24T14:15:22Z' + preorder_message: string + is_preorder_only: true + is_price_hidden: true + price_hidden_label: string + custom_url: + url: string + is_customized: true + open_graph_type: product + open_graph_title: string + open_graph_description: string + open_graph_use_meta_description: true + open_graph_use_product_name: true + open_graph_use_image: true + brand_name or brand_id: Common Good + gtin: string + mpn: string + reviews_rating_sum: 3.2 + reviews_count: 4 + total_sold: 80 + custom_fields: + - id: 6 + name: ISBN + value: '1234567890123' + bulk_pricing_rules: + - id: 0 + quantity_min: 10 + quantity_max: 50 + type: price + amount: 10 + images: + - image_file: string + is_thumbnail: true + sort_order: -2147483648 + description: string + image_url: string + id: 0 + product_id: 0 + url_zoom: string + url_standard: string + url_thumbnail: string + url_tiny: string + date_modified: '2019-08-24T14:15:22Z' + videos: + - title: Writing Great Documentation + description: A video about documenation + sort_order: 1 + type: youtube + video_id: z3fRu9pkuXE + id: 0 + product_id: 0 + length: string + properties: + name: + maxLength: 250 + minLength: 1 + type: string + description: | + A unique product name. + example: Smith Journal 13 + x-required: + - post + type: + type: string + description: | + The product type. One of: `physical` - a physical stock unit, `digital` - a digital download. + example: physical + enum: + - physical + - digital + x-required: + - post + sku: + maxLength: 255 + minLength: 0 + type: string + description: | + A unique user-defined product code/stock keeping unit (SKU). + example: SM-13 + description: + type: string + description: | + The product description, which can include HTML formatting. + example: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' + weight: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Weight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store + format: float + width: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Width of the product, which can be used when calculating shipping costs. + format: float + depth: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Depth of the product, which can be used when calculating shipping costs. + format: float + height: + maximum: 9999999999 + minimum: 0 + type: number + description: | + Height of the product, which can be used when calculating shipping costs. + format: float + price: + minimum: 0 + type: number + description: | + The price of the product. The price should include or exclude tax, based on the store settings. + format: float + cost_price: + minimum: 0 + type: number + description: | + The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store. + format: float + retail_price: + minimum: 0 + type: number + description: | + The retail cost of the product. If entered, the retail cost price will be shown on the product page. + format: float + sale_price: + minimum: 0 + type: number + description: | + If entered, the sale price will be used instead of value in the price field when calculating the product's cost. + format: float + map_price: + type: number + description: Minimum Advertised Price + tax_class_id: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) + product_tax_code: + maxLength: 255 + minLength: 0 + type: string + description: | + Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation. + categories: + type: array + description: | + An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values. + x-required: + - post + items: + type: integer + brand_id: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + A product can be added to an existing brand during a product /PUT or /POST. + inventory_level: + maximum: 2147483647 + minimum: 0 + type: integer + description: | + Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. + inventory_warning_level: + maximum: 2147483647 + minimum: 0 + type: integer + description: | + Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the `inventory_tracking` field) for this to take any effect. + inventory_tracking: + type: string + description: | + The type of inventory tracking for the product. Values are: `none` - inventory levels will not be tracked; `product` - inventory levels will be tracked using the `inventory_level` and `inventory_warning_level` fields; `variant` - inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels. + enum: + - none + - product + - variant + fixed_cost_shipping_price: + minimum: 0 + type: number + description: | + A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation. + format: float + is_free_shipping: + type: boolean + description: | + Flag used to indicate whether the product has free shipping. If `true`, the shipping cost for the product will be zero. + is_visible: + type: boolean + description: | + Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the product will be displayed. If `false`, the product will be hidden from view. + is_featured: + type: boolean + description: | + Flag to determine whether the product should be included in the `featured products` panel when viewing the store. + related_products: + type: array + description: | + An array of IDs for the related products. + items: + type: integer + warranty: + maxLength: 65535 + minLength: 0 + type: string + description: | + Warranty information displayed on the product page. Can include HTML formatting. + bin_picking_number: + maxLength: 255 + minLength: 0 + type: string + description: | + The BIN picking number for the product. + layout_file: + maxLength: 500 + minLength: 0 + type: string + description: | + The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + upc: + type: string + maxLength: 32 + minLength: 0 + description: | + The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations. + search_keywords: + maxLength: 65535 + minLength: 0 + type: string + description: | + A comma-separated list of keywords that can be used to locate the product when searching the store. + availability_description: + maxLength: 255 + minLength: 0 + type: string + description: | + Availability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.' + availability: + type: string + description: | + Availability of the product. (Corresponds to the product's [Purchasability](https://support.bigcommerce.com/s/article/Adding-Products-v3?language=en_US#sections) section in the control panel.) Supported values: `available` - the product is available for purchase; `disabled` - the product is listed on the storefront, but cannot be purchased; `preorder` - the product is listed for pre-orders. + enum: + - available + - disabled + - preorder + gift_wrapping_options_type: + type: string + description: | + Type of gift-wrapping options. Values: `any` - allow any gift-wrapping options in the store; `none` - disallow gift-wrapping on the product; `list` – provide a list of IDs in the `gift_wrapping_options_list` field. + enum: + - any + - none + - list + gift_wrapping_options_list: + type: array + description: | + A list of gift-wrapping option IDs. + items: + type: integer + sort_order: + maximum: 2147483647 + minimum: -2147483648 + type: integer + description: | + Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results. + condition: + type: string + description: | + The product condition. Will be shown on the product page if the `is_condition_shown` field's value is `true`. Possible values: `New`, `Used`, `Refurbished`. + enum: + - New + - Used + - Refurbished + is_condition_shown: + type: boolean + description: | + Flag used to determine whether the product condition is shown to the customer on the product page. + order_quantity_minimum: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The minimum quantity an order must contain, to be eligible to purchase this product. + order_quantity_maximum: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The maximum quantity an order can contain when purchasing the product. + page_title: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom title for the product page. If not defined, the product name will be used as the meta title. + meta_keywords: + type: array + description: | + Custom meta keywords for the product page. If not defined, the store's default keywords will be used. + items: + type: string + meta_description: + maxLength: 65535 + minLength: 0 + type: string + description: | + Custom meta description for the product page. If not defined, the store's default meta description will be used. + view_count: + maximum: 1000000000 + minimum: 0 + type: integer + description: | + The number of times the product has been viewed. + preorder_release_date: + type: string + description: | + Pre-order release date. See the `availability` field for details on setting a product's availability to accept pre-orders. + format: date-time + nullable: true + preorder_message: + maxLength: 255 + minLength: 0 + type: string + description: | + Custom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the `%%DATE%%` placeholder, which will be substituted for the release date. + is_preorder_only: + type: boolean + description: | + If set to true then on the preorder release date the preorder status will automatically be removed. + If set to false, then on the release date the preorder status **will not** be removed. It will need to be changed manually either in the + control panel or using the API. Using the API set `availability` to `available`. + is_price_hidden: + type: boolean + description: | + False by default, indicating that this product's price should be shown on the product page. If set to `true`, the price is hidden. (NOTE: To successfully set `is_price_hidden` to `true`, the `availability` value must be `disabled`.) + price_hidden_label: + maxLength: 200 + minLength: 0 + type: string + description: | + By default, an empty string. If `is_price_hidden` is `true`, the value of `price_hidden_label` is displayed instead of the price. (NOTE: To successfully set a non-empty string value with `is_price_hidden` set to `true`, the `availability` value must be `disabled`.) + custom_url: + $ref: '#/components/schemas/customUrl_Full' + open_graph_type: + type: string + description: | + Type of product, defaults to `product`. + enum: + - product + - album + - book + - drink + - food + - game + - movie + - song + - tv_show + open_graph_title: + type: string + description: | + Title of the product, if not specified the product name will be used instead. + open_graph_description: + type: string + description: | + Description to use for the product, if not specified then the meta_description will be used instead. + open_graph_use_meta_description: + type: boolean + description: | + Flag to determine if product description or open graph description is used. + open_graph_use_product_name: + type: boolean + description: | + Flag to determine if product name or open graph name is used. + open_graph_use_image: + type: boolean + description: | + Flag to determine if product image or open graph image is used. + brand_name or brand_id: + type: string + description: The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using `brand_name` it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only the `brand_id`. + example: Common Good + gtin: + type: string + description: Global Trade Item Number + mpn: + type: string + description: Manufacturer Part Number + reviews_rating_sum: + type: integer + description: | + The total (cumulative) rating for the product. + example: 3 + reviews_count: + type: integer + description: | + The number of times the product has been rated. + example: 4 + total_sold: + type: integer + description: | + The total quantity of this product sold. + example: 80 + custom_fields: + type: array + items: + $ref: '#/components/schemas/productCustomField_Put' + bulk_pricing_rules: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Bulk Pricing Rule*. Read-Only. + readOnly: true + required: + - id + - $ref: '#/components/schemas/bulkPricingRule_Full' + images: + type: array + items: + $ref: '#/components/schemas/productImage_Full' + videos: + type: array + items: + $ref: '#/components/schemas/productVideo_Full' + required: + - name + - type + - weight + - price + metafield_Full: + title: metafield_Full + allOf: + - type: object + properties: + id: + type: integer + description: Unique ID of the *Metafield*. Read-Only. + readOnly: true + example: 6 + - $ref: '#/components/schemas/metafield_Base' + - type: object + properties: + resource_type: + type: string + description: | + The type of resource with which the metafield is associated. + example: product + enum: + - category + - brand + - product + - variant + x-required: + - post + resource_id: + maximum: 10000000000 + minimum: 0 + type: integer + description: | + The ID of the resource with which the metafield is associated. + example: 111 + x-required: + - post + date_created: + type: string + description: | + Date and time of the metafield's creation. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + date_modified: + type: string + description: | + Date and time when the metafield was last updated. Read-Only. + readOnly: true + format: date-time + example: '2018-05-07T20:14:17+00:00' + x-internal: false + errorResponse_409: + title: errorResponse_409 + allOf: + - type: object + properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - type: object + properties: + errors: + $ref: '#/components/schemas/DetailedErrors' + x-internal: false + errorResponse_422: + title: errorResponse_422 + allOf: + - type: object + properties: + code: + type: integer + status: + type: integer + title: + type: string + description: The error title describing the particular error. + type: + type: string + - type: object + properties: + errors: + $ref: '#/components/schemas/DetailedErrors' + x-internal: false + MetaPaginationObject: + type: object + properties: + pagination: + type: object + properties: + total: + type: integer + example: 246 + minimum: 0 + count: + type: integer + example: 5 + minimum: 0 + per_page: + type: integer + example: 5 + minimum: 0 + current_page: + type: integer + example: 1 + minimum: 1 + total_pages: + type: integer + example: 50 + minimum: 0 + links: + type: object + properties: + next: + type: string + example: '?limit=5&page=2' + current: + type: string + example: '?limit=5&page=1' + x-tags: + - Models + 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 + x-tags: + - Models + ProductChannelAssignment: + properties: + product_id: + type: integer + channel_id: + type: integer + x-tags: + - Models + ProductCategoryAssignment: + properties: + product_id: + type: integer + category_id: + type: integer + x-tags: + - Models + beta5DetailedErrors: + type: object + properties: {} + additionalProperties: true + x-tags: + - Models + beta5ErrorResponse: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + errors: + $ref: '#/components/schemas/beta5DetailedErrors' + x-tags: + - Models + parameters: + ProductIdParam: + name: product_id + in: path + description: | + The ID of the `Product` to which the resource belongs. + required: true + schema: + type: integer + ReviewIdParam: + name: review_id + description: | + The ID of the `review` that is being operated on. + required: true + in: path + schema: + type: integer + ImageIdParam: + name: image_id + description: | + The ID of the `Image` that is being operated on. + required: true + in: path + schema: + type: integer + MetafieldIdParam: + name: metafield_id + in: path + description: | + The ID of the `Metafield`. + required: true + schema: + type: integer + VideoIdParam: + name: id + description: The BigCommerce ID of the `Video` + required: true + in: path + schema: + type: integer + ComplexRuleIdParam: + name: complex_rule_id + description: | + The ID of the `ComplexRule`. + required: true + in: path + schema: + type: integer + CustomFieldIdParam: + name: custom_field_id + description: | + The ID of the `CustomField`. + required: true + in: path + schema: + type: integer + BulkPricingRuleIdParam: + name: bulk_pricing_rule_id + description: | + The ID of the `BulkPricingRule`. + required: true + in: path + schema: + type: integer + 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' + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Products | modify | `store_v2_products` | + | Products | read-only | `store_v2_products_read_only` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header From cc2efa7da8f4f3f0b032b7646d906c3053411740 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 2 May 2023 16:16:04 -0500 Subject: [PATCH 151/360] DEVDOCS-4459: [update] Customer Groups, Get and Delete endpoints need 400 response (#1289) Merging to staging. --- reference/customers.v2.yml | 41 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index baa28dad7..e7c50bf77 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -959,11 +959,18 @@ paths: type: boolean responses: '200': - description: '' + description: The request was successful. content: application/json: schema: $ref: '#/components/schemas/customerGroup_Full' + '400': + description: |- + Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' put: tags: - Customer Groups @@ -1018,8 +1025,15 @@ paths: operationId: deleteACustomerGroup responses: '204': - description: '' + description: No content. Request was successful but produced no response. content: {} + '400': + description: |- + Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' '/customer_groups/count': parameters: - $ref: '#/components/parameters/Accept' @@ -1429,6 +1443,7 @@ components: notes: type: string description: Store-owner notes on the customer. + tax_exempt_category: type: string description: 'If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.' @@ -1473,6 +1488,28 @@ components: - first_name - last_name - email + ErrorRequest: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorBasic' + ErrorBasic: + type: object + properties: + status: + description: | + The HTTP status code. + type: integer + title: + description: | + The error title describing the particular error. + type: string + type: + type: string + x-tags: + - Models customerAddress_Base: title: customerAddress_Base required: From 5bd0dd5f8bea3a3970f65f1ee20d57a3e07862db Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 3 May 2023 16:39:07 -0500 Subject: [PATCH 152/360] DEVDOCS-4788: [deprecate] events_history_enabled (#1293) --- reference/webhooks.v3.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index e03c523a8..cdbb88e9e 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -313,6 +313,7 @@ paths: tags: - Webhook Events summary: Get Events + deprecated: true parameters: - $ref: '#/components/parameters/FilterPageParam' - $ref: '#/components/parameters/FilterLimitParam' @@ -3026,6 +3027,7 @@ components: type: boolean example: true description: Boolean value that identifies whether events are stored that could not be received. + deprecated: true headers: type: object description: 'Headers used to validate that webhooks are active. You can pass in any number of custom headers to validate webhooks are being returned. ' From 746e67354198020a6ab22309362a7cc66bc298bb Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Thu, 4 May 2023 01:44:20 -0500 Subject: [PATCH 153/360] (no ticket): [revise] add PR template, change codeowners (#1301) --- .github/CODEOWNERS | 2 +- .../PULL_REQUEST_TEMPLATE/publication_pr_template.md | 9 --------- .../PULL_REQUEST_TEMPLATE/pull_request_template.md | 7 ------- pull_request_template.md | 11 +++++++++++ 4 files changed, 12 insertions(+), 17 deletions(-) delete mode 100644 .github/PULL_REQUEST_TEMPLATE/publication_pr_template.md delete mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template.md create mode 100644 pull_request_template.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7fa3637f7..bc5fb189f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,6 +1,6 @@ # These owners will be the default owners for everything in the repo. Unless a later match takes precedence, @global-owner1 and @global-owner2 will be requested for review when someone opens a pull request. -@slsriehl @bigcommerce/devdocs-codeowners @markcmurphy +@slsriehl @bigcommerce/dev-docs-team @markcmurphy # Teams can be specified as code owners as well. Teams should # be identified in the format @org/team-name. Teams must have diff --git a/.github/PULL_REQUEST_TEMPLATE/publication_pr_template.md b/.github/PULL_REQUEST_TEMPLATE/publication_pr_template.md deleted file mode 100644 index 0e3d44b2e..000000000 --- a/.github/PULL_REQUEST_TEMPLATE/publication_pr_template.md +++ /dev/null @@ -1,9 +0,0 @@ -# Publish with Rebase Merge - -## Included tickets / PRs -* [DEVDOCS-] - # -* [DEVDOCS-] - # -* [DEVDOCS-] - # - -## Additional information -Related Developer Center PRs, other related PRs, salient notes, etc. diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md deleted file mode 100644 index 597b0b3d5..000000000 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ /dev/null @@ -1,7 +0,0 @@ -# [DEVDOCS-] - -## What changed? -* present tense description of what changed - -## Anything else? -Related PRs, salient notes, etc. diff --git a/pull_request_template.md b/pull_request_template.md new file mode 100644 index 000000000..188cdb296 --- /dev/null +++ b/pull_request_template.md @@ -0,0 +1,11 @@ +# [DEVDOCS-] +{Ticket number or summary of work} + +## What changed? +Provide a bulleted list in the present tense +* + +## Anything else? +Add related PRs, salient notes, ticket numbers, etc. + +ping {names} From b37985ed01ddd035f0e9143403cc83657240cd3d Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 4 May 2023 13:06:18 -0500 Subject: [PATCH 154/360] add deprecation message (#1304) Co-authored-by: Mark Murphy --- reference/webhooks.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index cdbb88e9e..b8c3ea8f4 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -3026,7 +3026,7 @@ components: events_history_enabled: type: boolean example: true - description: Boolean value that identifies whether events are stored that could not be received. + description: *Deprecated*. Boolean value that identifies whether events are stored that could not be received. deprecated: true headers: type: object From 6c9f4b60e0cb23b4371b7363a428a486f20a0918 Mon Sep 17 00:00:00 2001 From: Mark Murphy Date: Thu, 4 May 2023 13:28:43 -0500 Subject: [PATCH 155/360] update formatting on deprecated note --- reference/webhooks.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index b8c3ea8f4..21f250382 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -3026,7 +3026,7 @@ components: events_history_enabled: type: boolean example: true - description: *Deprecated*. Boolean value that identifies whether events are stored that could not be received. + description: Deprecated. Boolean value that identifies whether events are stored that could not be received. deprecated: true headers: type: object From ba4e72945e0b6cbd2168244c712777ff98a3b50d Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Sat, 6 May 2023 22:47:42 -0500 Subject: [PATCH 156/360] DEVDOCS-4899: [revise] Payments, clarify API features (#1284) Co-authored-by: Traci Porter --- .../payments/accepted-methods_payments.v3.yml | 495 +++++++++++++++++ .../payments/access-tokens_payments.v3.yml | 390 ++++++++++++++ reference/payments/methods_payments.v2.yml | 152 ++++++ reference/payments/process_payments.yml | 509 ++++++++++++++++++ 4 files changed, 1546 insertions(+) create mode 100644 reference/payments/accepted-methods_payments.v3.yml create mode 100644 reference/payments/access-tokens_payments.v3.yml create mode 100644 reference/payments/methods_payments.v2.yml create mode 100644 reference/payments/process_payments.yml diff --git a/reference/payments/accepted-methods_payments.v3.yml b/reference/payments/accepted-methods_payments.v3.yml new file mode 100644 index 000000000..bea957af0 --- /dev/null +++ b/reference/payments/accepted-methods_payments.v3.yml @@ -0,0 +1,495 @@ +openapi: '3.0.0' +info: + version: '' + title: Accepted Payment Methods + description: | + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + + The [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) endpoint returns information about the payment methods each configured payment gateway accepts. This information optimizes your implementation's likelihood of making successful payments requests + that return errors solely when payment methods fail, without making API calls to the gateway prior to running the payment. + + For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). + + This endpoint uses the X-Auth-Token header to authenticate. For an X-Auth-Token example request, see the related section in our [Authentication article](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + > To learn more about authenticating Payments endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + * [Payments Overview](/api-docs/store-management/payments-api-overview) + * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/api-docs/store-management/orders-api-overview) + + ### Webhooks + + *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + + ### Additional Payments endpoints + + * [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) + * [Process payments](/docs/rest-payments/processing#process-payment) + * [Get a customer's stored instruments](/docs/rest-management/customers/customer-stored-instruments#get-stored-instruments) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +tags: + - name: Methods +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: [] +paths: + '/payments/methods': + parameters: + - $ref: '#/components/parameters/Accept' + get: + description: |- + Returns a list of accepted payment methods based on the `order_id` or `checkout_id`. + + **Notes** + * Use the [Create an Order](/docs/rest-management/orders#create-an-order) endpoint to generate the `order_id`. + * Orders created will be set to incomplete order status. + * The cart ID and checkout ID are the same. + + **Required Fields** + * `order_id` or `checkout_id` + summary: Get Accepted Payment Methods + tags: + - Methods + operationId: PaymentsMethodsGet + deprecated: false + parameters: + - name: order_id + in: query + description: Identifier for the order + schema: + type: integer + format: int32 + exclusiveMinimum: false + exclusiveMaximum: false + - name: checkout_id + in: query + description: Identifier for the checkout (same as the cart ID) + schema: + type: string + exclusiveMinimum: false + exclusiveMaximum: false + responses: + '200': + $ref: '#/components/responses/paymentsMethods_Resp' + '400': + description: Request has been rejected + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '401': + description: Valid authentication required + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '404': + description: Request has been rejected due to resource not being found + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '422': + description: Request has been rejected due to missing or invalid data + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + default: + description: Internal server error + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type +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' + schemas: + paymentMethodStoredInstrument: + title: paymentMethodStoredInstrument + type: object + properties: + brand: + description: Brand of this card such as VISA or Mastercard + type: string + minLength: 1 + expiry_month: + description: Expiry month of this card + type: integer + minimum: 1 + maximum: 12 + format: int32 + expiry_year: + description: Expiry year of this card + type: integer + format: int32 + issuer_identification_number: + description: Issuer identification number of this card. This is extracted from the card when the order is payed for. + type: string + minLength: 6 + maxLength: 6 + last_4: + description: Last four numbers of this card + type: string + minLength: 4 + maxLength: 4 + token: + description: A BigCommerce-generated identifier that represents the stored card. + type: string + minLength: 64 + maxLength: 64 + is_default: + description: Whether this instrument is a default instrument + example: false + type: boolean + default: false + type: + description: Type to classify this stored card + example: stored_card + type: string + default: stored_card + required: + - brand + - expiry_month + - expiry_year + - issuer_identification_number + - last_4 + - token + - is_default + - type + x-examples: + example-1: + brand: string + expiry_month: 1 + expiry_year: 0 + issuer_identification_number: string + last_4: stri + token: stringstringstringstringstringstringstringstringstringstringstri + is_default: false + type: stored_card + x-internal: false + paymentMethod_Full: + title: paymentMethod_Full + type: object + properties: + id: + description: Identifier for this payment method + type: string + minLength: 1 + name: + description: Name of this payment method + type: string + minLength: 1 + stored_instruments: + type: array + items: + $ref: '#/components/schemas/paymentMethodStoredInstrument' + supported_instruments: + type: array + items: + title: Supported Card Instrument + type: object + properties: + instrument_type: + title: InstrumentType + description: Type of this instrument + example: VISA + type: string + enum: + - VISA + - MASTERCARD + - DISCOVER + - AMEX + - DINERS_CLUB + - JCB + - DANKORT + - MAESTRO + - STORED_CARD + verification_value_required: + description: Whether verification value is required for payment + type: boolean + required: + - instrument_type + test_mode: + description: Whether this payment method is on test mode + example: false + type: boolean + default: false + type: + description: Type to classify this payment method + example: card + type: string + default: card + required: + - id + - name + - supported_instruments + - test_mode + - type + x-examples: + example-1: + id: string + name: string + stored_instruments: + - brand: string + expiry_month: 1 + expiry_year: 0 + issuer_identification_number: string + last_4: stri + token: stringstringstringstringstringstringstringstringstringstringstri + is_default: false + type: stored_card + supported_instruments: + - instrument_type: VISA + verification_value_required: true + test_mode: false + type: card + x-internal: false + responses: + paymentsMethods_Resp: + description: '' + content: + application/json: + schema: + title: Payments Methods Response + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/paymentMethod_Full' + meta: + type: object + properties: {} + additionalProperties: true + description: Response metadata. + examples: + response: + value: + data: + - id: bigcommerce.gift_certificate + name: Gift Certificate + test_mode: false + type: gift_certificate + supported_instruments: [] + stored_instruments: [] + - id: bigcommerce.store_credit + name: Store Credit + test_mode: false + type: store_credit + supported_instruments: [] + stored_instruments: [] + - id: stripe.card + name: Stripe + test_mode: true + type: card + supported_instruments: + - instrument_type: VISA + verification_value_required: true + - instrument_type: MASTERCARD + verification_value_required: true + - instrument_type: AMEX + verification_value_required: true + - instrument_type: DISCOVER + verification_value_required: true + - instrument_type: JCB + verification_value_required: true + - instrument_type: DINERS_CLUB + verification_value_required: true + - instrument_type: STORED_CARD + verification_value_required: true + stored_instruments: + - type: stored_card + brand: VISA + expiry_month: 9 + expiry_year: 2020 + issuer_identification_number: '424242' + last_4: '4242' + token: 050a1e5c982e5905288ec5ec33f292772762033a0704f46fccb16bf1940b51ef + is_default: true + meta: {} + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Create Payments | create | `store_payments_access_token_create` | + | Get Payment Methods | read-only | `store_payments_methods_read` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header + diff --git a/reference/payments/access-tokens_payments.v3.yml b/reference/payments/access-tokens_payments.v3.yml new file mode 100644 index 000000000..4d87a22b3 --- /dev/null +++ b/reference/payments/access-tokens_payments.v3.yml @@ -0,0 +1,390 @@ +openapi: '3.0.0' +info: + version: '' + title: Payment Access Token + description: | + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + + BigCommerce payments requests require a Payment Access Token, or _PAT_, which is a single use BigCommerce-generated JWT that's tied to the particular **order** for which the shopper authorizes BigCommerce to submit a payment. + + To get a valid PAT, submit the order number to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint. Authenticate using an [API account access token](/api-docs/getting-started/api-accounts#api-accounts) with the [Create payments](/api-docs/getting-started/api-accounts#token-creation-scopes) scope as the value of the X-Auth-Token header. + + For a guide through the API call sequence needed to create a PAT and make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). + + > To learn more about authenticating Payments endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + * [Payments Overview](/api-docs/store-management/payments-api-overview) + * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/api-docs/store-management/orders-api-overview) + + ### Webhooks + + *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + + + ### Additional Payments endpoints + + * [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) + * [Process payments](/docs/rest-payments/processing#process-payment) + * [Get a customer's stored instruments](/docs/rest-management/customers/customer-stored-instruments#get-stored-instruments) + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +tags: + - name: Tokens +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: [] +paths: + '/payments/access_tokens': + parameters: + - $ref: '#/components/parameters/Accept' + post: + description: |- + This endpoint provides the capability to create a payment access token. The payment access token is required when making request to Payment API for submitting payment for an order. + + After the token is created, use the token to [Process Payments](/docs/rest-payments/processing/process-payment#process-payment). + + **Required Fields** + * order_id + summary: Create Payment Access Token + tags: + - Tokens + operationId: PaymentsAccessTokensPost + deprecated: false + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Payment Access Token Request + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + examples: + example-1: + value: + order: + id: 1 + is_recurring: false + required: true + x-examples: + application/json: + order: + id: 44796008 + is_recurring: true + Example: + order: + id: 182 + responses: + '201': + description: Payment access token has been successfully created + headers: {} + content: + application/json: + schema: + title: Payments Access Tokens Response + type: object + properties: + data: + title: Payment Access Token + type: object + properties: + id: + description: Payment access token. This token is required in subsequent payment request to Payment API endpoint. + type: string + minLength: 1 + required: + - id + meta: + type: object + properties: {} + additionalProperties: true + description: Response metadata. + examples: + example-1: + value: + data: + id: eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MTUyNTA3NTksIm5iZiI6MTYxNTI0Nz E1OSwiaXNzIjoicGF5bWVudHMuYmlnY29tbWVyY2UuY29tIiwic3ViIjoieHNsM3 JoZGYzNiIsImp0aSI6IjNhOGE3NTJjLTBmNWQtNDNmNS05MzdjLTRhMTYzODBlMW YwZCIsImlhdCI6MTYxNTI0NzE1OSwiZGF0YSI6eyJzdG9yZV9pZCI6IjEwMDEzMz YzMjQiLCJvcmRlcl9pZCI6IjE2NiIsImFtb3VudCI6NDU3OTAsImN1cnJlbmN5Ij oiVVNEIn19.dpCDgOfbNrz095VARY20yYBRTOuq-W1F0ETTgf1Zhbs + meta: {} + '400': + description: Request has been rejected + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '401': + description: Valid authentication required + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '404': + description: Request has been rejected due to resource not being found + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '409': + description: Request has been rejected due to conflict with the current state of the target resource + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '422': + description: Request has been rejected due to missing or invalid data + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type + default: + description: Internal server error + content: + application/json: + schema: + title: ErrorResponse + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: string + required: + - status + - title + - type +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' + schemas: + Order: + title: Order + type: object + properties: + id: + description: Identifier for the order + type: integer + minimum: 1 + format: int32 + is_recurring: + description: Whether this is a recurring order. If the order is recurring this field should be set to true in order to let the payment gateway know. + example: false + type: boolean + default: false + required: + - id + x-examples: + example-1: + id: 1 + is_recurring: false + x-internal: false + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Create Payments | create | `store_payments_access_token_create` | + | Get Payment Methods | read-only | `store_payments_methods_read` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header + diff --git a/reference/payments/methods_payments.v2.yml b/reference/payments/methods_payments.v2.yml new file mode 100644 index 000000000..951110d5a --- /dev/null +++ b/reference/payments/methods_payments.v2.yml @@ -0,0 +1,152 @@ +openapi: '3.0.1' +info: + title: Payment Methods (Deprecated) + description: | + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + + This endpoint is deprecated. Use [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) instead. + + The V3 version of this endpoint contains more information about the payment methods each payment gateway accepts. The additional information enables your application and BigCommerce to make the most likely-to-succeed payment request to the gateway, without using extra middleware or making preparatory API calls to the gateway on your end prior to running the payment. Use [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) for a leaner, more optimized application. + + > To learn more about authenticating Payments endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + * [Payments Overview](/api-docs/store-management/payments-api-overview) + * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/api-docs/store-management/orders-api-overview) + + ### Webhooks + + *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + + ### Payments endpoints + + * [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) + * [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) + * [Process payments](/docs/rest-payments/processing#process-payment) + * [Get a customer's stored instruments](/docs/rest-management/customers/customer-stored-instruments#get-stored-instruments) + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com + license: + name: '' + version: '' +servers: + - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce API Gateway +security: + - X-Auth-Token: [] +tags: + - name: Methods (Deprecated) +paths: + '/payments/methods': + parameters: + - $ref: '#/components/parameters/Accept' + get: + tags: + - Methods (Deprecated) + summary: Get All Payment Methods + operationId: getAllPaymentMethods + deprecated: true + description: | + Gets the list of enabled payment methods. Default sorting is by payment method, alphabetically from A to Z. + + > #### Note + > Avoid using this API operation if possible. It is not supported; therefore, all enabled providers may not appear. + parameters: + - name: page + in: query + description: Optional filter param `/api/v2/payments/methods?page={number}` + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number + - name: limit + in: query + description: Optional filter param `/api/v2/payments/methods?limit={count}` + schema: + exclusiveMaximum: false + exclusiveMinimum: false + type: number + responses: + '200': + description: "" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/payment_Base' + x-unitTests: [] + x-operation-settings: + CollectParameters: false + AllowDynamicQueryParameters: false + AllowDynamicFormParameters: false + IsMultiContentStreaming: false +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' + schemas: + payment_Base: + title: payment_Base + type: object + properties: + code: + type: string + description: Unique platform-wide code identifying the payment method. + example: squarev2 + name: + type: string + description: Descriptive name of the payment method. + example: Square + test_mode: + type: boolean + description: Determines whether the payment gateway is in test mode. Always + false for offline payment methods. + example: false + example: + code: squarev2 + name: Square + test_mode: false + x-internal: false + securitySchemes: + X-Auth-Token: + name: X-Auth-Token + description: |- + ### OAuth scopes + + | UI Name | Permission | Parameter | + |:--------|:-----------|:----------| + | Information & Settings | read-only | `store_payments_methods_read` | + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + + ### Further reading + + For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: apiKey + in: header diff --git a/reference/payments/process_payments.yml b/reference/payments/process_payments.yml new file mode 100644 index 000000000..7491ca627 --- /dev/null +++ b/reference/payments/process_payments.yml @@ -0,0 +1,509 @@ +openapi: '3.0.0' +info: + version: '' + title: Payment Processing + description: | + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + + The Payment Processing API uses BigCommerce's PCI-compliant payments server and a supported payment gateway to charge customers. The payment portal you choose may support charging stored instruments and/or making refund transactions. For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). + + A Payment Access Token is required to authorize payment processing requests. The X-Auth-Token header is not required in requests to the payment processing endpoint. For a payment processing authentication example request, see the related section in our [Authentication article](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). + + Also note that payment processing requests use the BigCommerce Payments Gateway, which uses a different server than our other REST APIs. Please see the server URL for the payment processing endpoint. + + > To learn more about authenticating Payments endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. + + ## Resources + + * [Payments Overview](/api-docs/store-management/payments-api-overview) + * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/api-docs/store-management/orders-api-overview) + + ### Webhooks + + *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + + ### Additional Payments endpoints + + * [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) + * [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) + * [Get a customer's stored instruments](/docs/rest-management/customers/customer-stored-instruments#get-stored-instruments) + + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com +tags: + - name: Processing +servers: + - url: 'https://payments.bigcommerce.com/stores/{store_hash}' + variables: + store_hash: + default: store_hash + description: Permanent ID of the BigCommerce store. + description: BigCommerce Payments Gateway +security: + - BearerPAT: [] +paths: + '/payments': + post: + summary: Process Payments + tags: + - Processing + operationId: PaymentsPost + description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payment-processing) for more information.' + parameters: + - $ref: '#/components/parameters/AcceptPaymentResponse' + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + title: Payment Request + type: object + properties: + payment: + title: Payment + type: object + required: + - instrument + - payment_method_id + properties: + instrument: + anyOf: + - $ref: '#/components/schemas/Card' + - $ref: '#/components/schemas/StoredCard' + - $ref: '#/components/schemas/StoredPayPalAccount' + - $ref: '#/components/schemas/GiftCertificate' + - $ref: '#/components/schemas/StoreCredit' + payment_method_id: + description: Identifier for payment method that will be used for this payment and `id` from the Get Accepted Payment Methods API + type: string + minLength: 1 + save_instrument: + type: boolean + description: 'To use `save_instrument`, configure the payment gateway to accept stored cards.' + required: + - payment + examples: + Card: + value: + payment: + instrument: + type: card + cardholder_name: string + number: string + expiry_month: 1 + expiry_year: 0 + verification_value: stri + issue_month: 1 + issue_year: 0 + issue_number: 0 + payment_method_id: string + Stored Card: + value: + payment: + instrument: + type: stored_card + token: 8cdf7b6ea1b27119463bf9e5106639618cc77a9adc49f0069ca8b756cc15caee + verification_value: '1142' + payment_method_id: adyenv2.scheme + save_instrument: true + Stored PayPal Account: + value: + payment: + instrument: + type: stored_paypal_account + token: 2c129313bcffe4501ec5fa2764c8c16320e38c7ba9e8cdf95583b541bb05ad91 + payment_method_id: braintree.paypal + Gift Certificate: + value: + payment: + instrument: + type: gift_certificate + gift_certificate_code: ABC-DEF-GXX + payment_method_id: bigcommerce.gift_certificate + Store Credit: + value: + payment: + instrument: + type: store_credit + payment_method_id: bigcommerce.store_credit + required: true + x-examples: + application/json: + payment: + instrument: {} + payment_method_id: Lorem in + amount: 81505146 + currency_code: NYE + Payment Access Token: |- + curl -X POST \ + https://payments.bigcommerce.com/stores/{store_hash}/payments \ + -H 'Accept: application/vnd.bc.v1+json' \ + -H 'Authorization: PAT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NsdfasftIsIm5iZiI6MTU1MTM5MDU0MiwiaXNzIjoicGF5bWVudHMuYmlnY29tbWVyY2UuY29tIiwic3ViIjoianJhaDZnbW4iLCJqdGkiOiI3Nzg3ZmU1Zi01OWJmLTQ3ZWMtYTFmZC00ZDQ3ZTkwNjFlNWMiLCJpYXQiOjE1NTEzOTA1NDIsImRhdGEiOnsic3RvcmVfaWQiOjEwMjU2NDYsIm9yZGVyX2lkIjoyMTUsImFtb3VudCI6OTgwMCwiY3VycmVuY3kiOiJVU0QifX0.WbR90d8m4gn8wK7kPMDEoVq8B0hHC5Ul5H4Hpqq6Yvo' \ + -H 'Content-Type: application/json' \ + Vaulted Card: + payment: + instrument: + type: stored_card + token: vaulted instrument token + verification_value: '123' + payment_method_id: stripe.card + save_instrument: true + Credit Card: |- + { + "payment": { + "instrument": { + "type": "card", + "number": "4111111111111111", + "cardholder_name": "BP", + "expiry_month": 12, + "expiry_year": 2020, + "verification_value": "411" + }, + "payment_method_id": "authorizenet.card", + "save_instrument": true + } + } + description: '' + responses: + '202': + description: Payment has been successfully processed + content: + application/json: + schema: + title: Success Payment Response + type: object + properties: + id: + description: Identifier for this transaction + type: string + transaction_type: + title: Transaction Type + description: Transaction type for this payment + example: authorization + type: string + enum: + - authorization + - purchase + status: + type: string + title: Status + description: Status to indicate a success response + enum: + - success + - pending + examples: + response: + value: + id: 227d9e1e-94f8-408c-95a5-f97b30592eb7 + transaction_type: authorization + status: pending + '400': + description: Payment request has been rejected due to malformed request + content: + application/json: + schema: + title: Error Payment Response + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + description: '' + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '401': + description: Valid authentication required + content: + application/json: + schema: + title: Error Payment Response + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + description: '' + type: object + additionalProperties: + type: string + required: + - status + - title + - type + '422': + description: 'Payment request has been rejected due to missing, invalid data or declined by payment provider' + content: + application/json: + schema: + title: Error Payment Response + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + description: '' + type: object + additionalProperties: + type: string + required: + - status + - title + - type + default: + description: Internal server error + content: + application/json: + schema: + title: Error Payment Response + type: object + properties: + status: + description: HTTP status code + type: integer + format: int32 + title: + description: Short summary describing the particular error + type: string + detail: + description: Detailed summary describing the particular error + type: string + type: + description: Reference that identifies the particular error + type: string + code: + description: Code representing the particular error + type: integer + format: int32 + errors: + description: '' + type: object + additionalProperties: + type: string + required: + - status + - title + - type +components: + parameters: + AcceptPaymentResponse: + name: Accept + in: header + schema: + type: string + enum: + - 'application/vnd.bc.v1+json' + default: 'application/vnd.bc.v1+json' + required: true + description: This required value must be `application/vnd.bc.v1+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' + schemas: + Card: + title: Card + type: object + x-examples: + example-1: + type: card + cardholder_name: string + number: string + expiry_month: 1 + expiry_year: 0 + verification_value: stri + issue_month: 1 + issue_year: 0 + issue_number: 0 + x-internal: false + properties: + type: + type: string + default: card + example: card + description: Type to classify this payment instrument (required) + cardholder_name: + type: string + minLength: 1 + description: Cardholderʼs full name (required) + number: + type: string + minLength: 1 + description: Credit card number (required) + expiry_month: + type: integer + format: int32 + minimum: 1 + maximum: 12 + description: Expiry month of this card (required) + expiry_year: + type: integer + format: int32 + description: Expiry year of this card (required) + verification_value: + type: string + minLength: 3 + maxLength: 4 + description: Verification value of this card (CVV) + issue_month: + type: integer + description: Issue month of this card + format: int32 + minimum: 1 + maximum: 12 + issue_year: + type: integer + format: int32 + description: Issue year of this card + issue_number: + type: integer + format: int32 + description: Issue number of this card + StoredCard: + title: Stored Card + type: object + x-internal: false + x-examples: + example-1: + type: stored_card + token: stringstringstringstringstringstringstringstringstringstringstri + verification_value: 1142 + properties: + type: + description: Type to classify this payment instrument (required) + example: stored_card + type: string + default: stored_card + token: + description: Identifier representing this stored card (required) + type: string + minLength: 64 + maxLength: 64 + verification_value: + type: string + description: Verification value of this card (CVV) + minLength: 3 + maxLength: 4 + StoredPayPalAccount: + title: StoredPayPalAccount + type: object + x-internal: false + properties: + type: + type: string + description: Type to classify this payment instrument (required) + enum: + - stored_paypal_account + token: + description: Identifier representing this stored PayPal account (required) + type: string + minLength: 64 + maxLength: 64 + x-examples: + example-1: + type: stored_paypal_account + token: stringstringstringstringstringstringstringstringstringstringstri + GiftCertificate: + title: GiftCertificate + type: object + properties: + type: + type: string + example: gift_certificate + gift_certificate_code: + type: string + example: ABC-DEF-GXX + x-examples: + example-1: + type: gift_certificate + gift_certificate_code: ABC-DEF-GXX + StoreCredit: + title: StoreCredit + type: object + properties: + type: + type: string + example: store_credit + x-examples: + example-1: + type: store_credit + securitySchemes: + BearerPAT: + description: |- + ### OAuth scopes + + The required scopes are granted to the `payment_access_token` upon generation. + + ### Authentication header + + | Header | Argument | Description | + |:-------|:---------|:------------| + |`Authorization`|`PAT {{PAYMENT_ACCESS_TOKEN}}`| Obtained using the Create Access Token endpoint.| + + ### Further reading + + For an outline of the Process Payment API call flow and more information about authenticating, see [Authentication and Example Requests](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). + + For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + type: http + scheme: bearer + bearerFormat: 'PAT {{PAYMENT_ACCESS_TOKEN}}' From 94962030b50a6663bd372d8f8b9bca59bcda7c46 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Sun, 7 May 2023 01:04:23 -0500 Subject: [PATCH 157/360] DEVDOCS-4884: [update] Catalog files, update links (#1305) --- reference/catalog/brands_catalog.v3.yml | 4 ++-- reference/catalog/categories_catalog.v3.yml | 6 +++--- reference/catalog/category-trees_catalog.v3.yml | 2 +- reference/catalog/product-variants_catalog.v3.yml | 6 +++--- reference/catalog/products_catalog.v3.yml | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index c6523a50f..f9ea5b1b5 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -6,9 +6,9 @@ info: Our Catalog Brands endpoints let you [create individual brands](/docs/rest-catalog/brands#create-a-brand) and [modify the brands](/docs/rest-catalog/brands#update-a-brand) associated with a store's products, along with [deleting brands](/docs/rest-catalog/brands#delete-a-brand). - Brand images have their own dedicated [create a brand image](/docs/rest-catalog/brands#create-a-brand-image) and [delete a brand image](/docs/rest-catalog/brands#delete-a-brand-image) endpoints. + Brand images have their own dedicated [create a brand image](/docs/rest-catalog/brands/images#create-a-brand-image) and [delete a brand image](/docs/rest-catalog/brands/images#delete-a-brand-image) endpoints. - In addition, brands have metafields that you can use to store information structured in key-value pairs; learn more about [creating brand metafields](/docs/rest-catalog/brands#create-a-brand-metafield), [updating brand metafields](/docs/rest-catalog/brands#update-a-brand-metafield), and [deleting brand metafields](/docs/rest-catalog/brands#delete-a-brand-metafield). + In addition, brands have metafields that you can use to store information structured in key-value pairs; learn more about [creating brand metafields](/docs/rest-catalog/brands/metafields#create-a-brand-metafield), [updating brand metafields](/docs/rest-catalog/brands/metafields#update-a-brand-metafield), and [deleting brand metafields](/docs/rest-catalog/brands/metafields#delete-a-brand-metafield). > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index f5c6bbacb..50482dfd6 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -6,11 +6,11 @@ info: Our Catalog Categories endpoints let you [create individual categories](/docs/rest-catalog/categories#create-a-category) and [modify categories](/docs/rest-catalog/categories#update-a-category) that organize a store's products, as well as [delete categories](/docs/rest-catalog/categories#delete-a-category). - Category images have their own dedicated [create a category image](/docs/rest-catalog/categories#create-a-category-image) and [delete a category image](/docs/rest-catalog/categories#delete-a-category-image) endpoints. + Category images have their own dedicated [create a category image](/docs/rest-catalog/categories/images#create-a-category-image) and [delete a category image](/docs/rest-catalog/categories/images#delete-a-category-image) endpoints. - In addition, categories have metafields that you can use to store information structured in key-value pairs; learn more about [creating category metafields](/docs/rest-catalog/categories#create-a-category-metafield), [updating category metafields](/docs/rest-catalog/categories#update-a-category-metafield), and [deleting category metafields](/docs/rest-catalog/categories#delete-a-category-metafield). + In addition, categories have metafields that you can use to store information structured in key-value pairs; learn more about [creating category metafields](/docs/rest-catalog/categories/metafields#create-a-category-metafield), [updating category metafields](/docs/rest-catalog/categories/metafields#update-a-category-metafield), and [deleting category metafields](/docs/rest-catalog/categories/metafields#delete-a-category-metafield). - This API family also contains endpoints to [update product sort order](/docs/rest-catalog/categories#update-product-sort-order) within a category. + This API family also contains endpoints to [update product sort order](/docs/rest-catalog/categories/sort-order#update-product-sort-order) within a category. These endpoints are primarily useful in applications for single storefront stores. To work with categories for an [MSF-enabled store](/api-docs/multi-storefront/overview), see [Category Trees](/docs/rest-catalog/category-trees). diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 6ecab7f87..025722475 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -6,7 +6,7 @@ info: Our Catalog Category Trees endpoints are the more modern and performant counterparts to the [Categories endpoints](/docs/rest-catalog/categories). Although the Category Trees endpoints and objects are designed to center an MSF-compatible, [multi-tenant category tree architecture](#categories), the endpoints work just as well in a single storefront context. - The Category Trees endpoints let you [get the Categories for a specific tree](/docs/rest-catalog/category-trees#get-a-category-tree), and [bulk create](/docs/rest-catalog/category-trees#create-categories), [bulk update](/docs/rest-catalog/category-trees#update-categories), and [bulk delete](/docs/rest-catalog/category-trees#delete-categories) Categories. You can also [bulk update the properties of Category Trees](/docs/rest-catalog/category-trees#upsert-category-trees), which includes changing the channels to which a Tree is assigned. + The Category Trees endpoints let you [get the Categories for a specific tree](/docs/rest-catalog/category-trees/categories#get-a-category-tree), and [bulk create](/docs/rest-catalog/category-trees/categories#create-categories), [bulk update](/docs/rest-catalog/category-trees/categories#update-categories), and [bulk delete](/docs/rest-catalog/category-trees/categories#delete-categories) Categories. You can also [bulk update the properties of Category Trees](/docs/rest-catalog/category-trees#upsert-category-trees), which includes changing the channels to which a Tree is assigned. The terms "category tree" and "catalog tree" are used interchangeably throughout the documentation. diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 100f7055a..b0fcbd838 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -8,11 +8,11 @@ info: Our Catalog Product Variants endpoints let you work in two ways. - On a per-product basis, you can [create and manage Product Variants](/docs/rest-catalog/product-variants#create-a-product-variant), their [images](/docs/rest-catalog/product-variants#create-a-variant-image), and their [metafields](/docs/rest-catalog/product-variants#create-a-product-variant-metafield), which are arbitrary key-value attributes. + On a per-product basis, you can [create and manage Product Variants](/docs/rest-catalog/product-variants), their [images](/docs/rest-catalog/product-variants/images), and their [metafields](/docs/rest-catalog/product-variants/metafields), which are arbitrary key-value attributes. - By design, Product Variants consist of a combination of [Product Variant Option](/docs/rest-catalog/product-variant-options) values. + By design, Product Variants consist of a combination of [Product Variant Option values](/docs/rest-catalog/product-variant-options/values). - This API family also provides endpoints that can make [batch updates](/docs/rest-catalog/product-variants#update-variants-batch) to Product Variants from different products across the Catalog, as well as [getting all variants](/docs/rest-catalog/product-variants#get-all-variants). + This API family also provides endpoints that can make [batch updates](/docs/rest-catalog/product-variants/variants-batch#update-variants-batch) to Product Variants from different products across the Catalog, as well as [getting all variants](/docs/rest-catalog/product-variants/variants-batch#get-all-variants). The terms "product variant" and "variant" are used interchangeably throughout the documentation. diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 82a56a3bd..bb309a10b 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -4,11 +4,11 @@ info: description: |- > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). - Our Catalog Products endpoints let you [create products](/docs/rest-catalog/products#create-a-product), perform [batch operations on existing products](/docs/rest-catalog/products#update-products-batch) and work with [reviews](/docs/rest-catalog/products#create-a-product-review), [images](/docs/rest-catalog/products#create-a-product-image), and [videos](/docs/rest-catalog/products#create-a-product-video). Note that after a product is created initially, you can manage the nuances of its variations using the [Product Modifier](/docs/rest-catalog/product-modifiers), [Product Variant](/docs/rest-catalog/product-variants), and [Product Variant Options](/docs/rest-catalog/product-variant-options) endpoints. + Our Catalog Products endpoints let you [create products](/docs/rest-catalog/products#create-a-product), perform [batch operations on existing products](/docs/rest-catalog/products#update-products-batch) and work with [reviews](/docs/rest-catalog/products/reviews), [images](/docs/rest-catalog/products/images), and [videos](/docs/rest-catalog/products/videos). Note that after a product is created initially, you can manage the nuances of its variations using the [Product Modifier](/docs/rest-catalog/product-modifiers), [Product Variant](/docs/rest-catalog/product-variants), and [Product Variant Options](/docs/rest-catalog/product-variant-options) endpoints. - Other core product endpoints focus on [bulk pricing](/docs/rest-catalog/products#create-a-bulk-pricing-rule), [complex rules](/docs/rest-catalog/products#create-a-complex-rule), [custom fields](/docs/rest-catalog/products#create-a-custom-fields), and [metafields](/docs/rest-catalog/products#create-a-product-metafield). Product Variant objects also contain [their own metafields](/docs/rest-catalog/product-variants#create-a-product-variant-metafield). For [MSF-enabled](/api-docs/multi-storefront/overview) stores, the product object also contains product [channel assignments](/docs/rest-catalog/products#create-products-channel-assignments) and [category assignments](/docs/rest-catalog/products#create-products-category-assignments); read more about [products in the MSF context](/api-docs/multi-storefront/api-guide#products). + Other core product endpoints focus on [bulk pricing](/docs/rest-catalog/products/bulk-pricing-rules), [complex rules](/docs/rest-catalog/products/complex-rules), [custom fields](/docs/rest-catalog/products/custom-fields), and [metafields](/docs/rest-catalog/products/metafields). Product Variant objects also contain [their own metafields](/docs/rest-catalog/product-variants/metafields). For [MSF-enabled](/api-docs/multi-storefront/overview) stores, the product object also contains product [channel assignments](/docs/rest-catalog/products/channel-assignments) and [category assignments](/docs/rest-catalog/products/category-assignments); read more about [products in the MSF context](/api-docs/multi-storefront/api-guide#products). - This API family also contains an endpoint to [Get a catalog summary](/docs/rest-catalog/products#get-a-catalog-summary). + This API family also contains an endpoint to [Get a catalog summary](/docs/rest-catalog/products/summary). > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. From 87a2d12f4317a2321bd95342c9771c7197dd9ccc Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 8 May 2023 12:51:47 -0500 Subject: [PATCH 158/360] DEVDOCS-4899: [revise] Payments, more revisions pending official split (#1307) Co-authored-by: Traci Porter --- reference/payments/accepted-methods_payments.v3.yml | 9 +++++---- reference/payments/access-tokens_payments.v3.yml | 6 +++--- reference/payments/methods_payments.v2.yml | 7 ++++--- reference/payments/process_payments.yml | 7 ++++--- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/reference/payments/accepted-methods_payments.v3.yml b/reference/payments/accepted-methods_payments.v3.yml index bea957af0..3b7e2dbe8 100644 --- a/reference/payments/accepted-methods_payments.v3.yml +++ b/reference/payments/accepted-methods_payments.v3.yml @@ -22,9 +22,9 @@ info: ### Webhooks - *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) - *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) - *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + * [Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + * [Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + * [Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) ### Additional Payments endpoints @@ -32,6 +32,7 @@ info: * [Process payments](/docs/rest-payments/processing#process-payment) * [Get a customer's stored instruments](/docs/rest-management/customers/customer-stored-instruments#get-stored-instruments) + termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -282,7 +283,7 @@ components: type: integer format: int32 issuer_identification_number: - description: Issuer identification number of this card. This is extracted from the card when the order is payed for. + description: Issuer identification number of this card. This is extracted from the card when the order is paid for. type: string minLength: 6 maxLength: 6 diff --git a/reference/payments/access-tokens_payments.v3.yml b/reference/payments/access-tokens_payments.v3.yml index 4d87a22b3..caec3cb94 100644 --- a/reference/payments/access-tokens_payments.v3.yml +++ b/reference/payments/access-tokens_payments.v3.yml @@ -21,9 +21,9 @@ info: ### Webhooks - *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) - *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) - *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + * [Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + * [Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + * [Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) ### Additional Payments endpoints diff --git a/reference/payments/methods_payments.v2.yml b/reference/payments/methods_payments.v2.yml index 951110d5a..6291e2f70 100644 --- a/reference/payments/methods_payments.v2.yml +++ b/reference/payments/methods_payments.v2.yml @@ -18,9 +18,9 @@ info: ### Webhooks - *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) - *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) - *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + * [Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + * [Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + * [Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) ### Payments endpoints @@ -28,6 +28,7 @@ info: * [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) * [Process payments](/docs/rest-payments/processing#process-payment) * [Get a customer's stored instruments](/docs/rest-management/customers/customer-stored-instruments#get-stored-instruments) + termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce diff --git a/reference/payments/process_payments.yml b/reference/payments/process_payments.yml index 7491ca627..afe51c2e3 100644 --- a/reference/payments/process_payments.yml +++ b/reference/payments/process_payments.yml @@ -21,9 +21,9 @@ info: ### Webhooks - *[Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) - *[Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) - *[Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) + * [Carts](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#carts) + * [Orders](https://developer.bigcommerce.com/api-docs/store-management/webhooks/webhook-events#orders) + * [Price list assignment](https://developer.bigcommerce.com/api-docs/channels/guide/webhooks#price-list-assignments) ### Additional Payments endpoints @@ -31,6 +31,7 @@ info: * [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) * [Get a customer's stored instruments](/docs/rest-management/customers/customer-stored-instruments#get-stored-instruments) + termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce From b14909ae235d93c5a80c569095475031ddab8ada Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 8 May 2023 17:44:27 -0500 Subject: [PATCH 159/360] DEVDOCS-4884: [update] Many, update catalog links (#1306) --- docs/available-apis.mdx | 2 +- reference/carts.v3.yml | 2 +- reference/catalog/brands_catalog.v3.yml | 2 +- reference/catalog/categories_catalog.v3.yml | 4 ++-- reference/catalog/product-variant-options_catalog.v3.yml | 4 ++-- reference/catalog/product-variants_catalog.v3.yml | 2 +- reference/catalog/products_catalog.v3.yml | 2 +- reference/custom-template-associations.v3.yml | 2 +- reference/shipping_provider.yml | 8 ++++---- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/available-apis.mdx b/docs/available-apis.mdx index ba481d8bc..def1794ee 100644 --- a/docs/available-apis.mdx +++ b/docs/available-apis.mdx @@ -47,7 +47,7 @@ Mananage store resources from server-side code. Interactions with the **V3** API are very similar to that of the **V2** API; however, the **V3** API introduces a number of improvements: * Most tasks can be performed with fewer API calls (for example, a product with variants and custom fields can be created in a single request) * Each **V3** resource includes a `meta` object, simplifying pagination -* **V3** Brands, Categories, Products, and Product Variants expose a [metafields](/docs/rest-management/catalog/product-metafields#create-a-product-metafield) resource for use by developers to store custom data. +* **V3** Brands, Categories, Products, and Product Variants expose a [metafields](/docs/rest-catalog/products/metafields#create-a-product-metafield) resource for use by developers to store custom data. * **V3** API is optimized for performance (in general, data can be sent, received, and processed faster via **V3**, relative to **V2**). [Learn more about the V3 API](/api-docs/getting-started/about-our-api). diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 93ad69ba2..5ecf66a94 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -49,7 +49,7 @@ paths: * A cart can be created by adding an existing **catalog item** or a **custom item**. * Carts are valid for **30 days** from the **last modification** (this includes creating the cart or editing the cart). * If a product has modifiers, use the `option_selections` array to describe the **modifier** selection(s). - * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/docs/rest-management/catalog/product-variant-option-values), [modifier value](/docs/rest-management/catalog/product-modifier-values), or a combination of both. + * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/docs/rest-catalog/product-variant-options/values), [modifier value](/docs/rest-catalog/product-modifiers/values), or a combination of both. * Redirect URLs can only be generated from carts that were created using the **Server-to-Server Carts API**. * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront configuration. * To restore a cart that was created by a shopper or through the Storefront Cart API, first recreate the cart using the Server to Server Cart API. diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index f9ea5b1b5..9d2571e52 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -1492,7 +1492,7 @@ paths: **Read-Only Fields** - id - Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. + Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-catalog/brands#update-a-brand) endpoint and an `image_url`. operationId: createBrandImage parameters: - $ref: '#/components/parameters/ContentType' diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index 50482dfd6..54f88532a 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -353,7 +353,7 @@ paths: tags: - Categories summary: Create a Category - description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." + description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-catalog/category-trees/categories#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." operationId: createCategory parameters: - $ref: '#/components/parameters/ContentType' @@ -1639,7 +1639,7 @@ paths: Only one image at a time can be created. Limit image size to 1MB. - To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. + To update a *Category Image*, use the [Update categories](/docs/rest-catalog/category-trees/categories#update-categories) endpoint and an `image_url`. operationId: createCategoryImage parameters: - $ref: '#/components/parameters/ContentType' diff --git a/reference/catalog/product-variant-options_catalog.v3.yml b/reference/catalog/product-variant-options_catalog.v3.yml index 3a7827410..883191867 100644 --- a/reference/catalog/product-variant-options_catalog.v3.yml +++ b/reference/catalog/product-variant-options_catalog.v3.yml @@ -139,9 +139,9 @@ paths: **Notes** * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. - * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. + * There are several examples listed below that create options, but the SKUs are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. - * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. + * If more than one variant needs to be created, use the [Create a Product](/docs/rest-catalog/products#create-a-product) endpoint. operationId: createOption parameters: - $ref: '#/components/parameters/ContentType' diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index b0fcbd838..327425b79 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -238,7 +238,7 @@ paths: * 600 SKUs per product limit. * 255 characters SKU length limit. - Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. + Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-catalog/products#create-a-product) during the initial product creation. operationId: createVariant parameters: - $ref: '#/components/parameters/ContentType' diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index bb309a10b..30846094e 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -364,7 +364,7 @@ paths: type: integer - name: sku in: query - description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' + description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-catalog/product-variants#get-all-product-variants). ' schema: type: string - name: 'sku:in' diff --git a/reference/custom-template-associations.v3.yml b/reference/custom-template-associations.v3.yml index 1f6970c96..85f72a664 100644 --- a/reference/custom-template-associations.v3.yml +++ b/reference/custom-template-associations.v3.yml @@ -30,7 +30,7 @@ info: ## Getting entity IDs - Use the [Catalog API](/docs/rest-management/catalog) to get the `entity_id` for `category`, `product`, and `brand` entity types. For example, to [get all products](/docs/rest-management/catalog/products#get-all-products), send a `GET` request to `/v3/catalog/products`. + Use the [Catalog API](/docs/rest-catalog/products) to get the `entity_id` for `category`, `product`, and `brand` entity types. For example, to [get all products](/docs/rest-catalog/products#get-all-products), send a `GET` request to `/v3/catalog/products`. ```http GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/catalog/products diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index db293a106..c28da00d0 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -627,7 +627,7 @@ components: description: The value associated with the meta field. namespace: type: string - description: 'The namespace associated with metafields for [products](/docs/rest-management/catalog/product-metafields#create-a-product-metafield) and [product variants](/docs/rest-management/catalog/product-variants-metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' + description: 'The namespace associated with metafields for [products](/docs/rest-catalog/products/metafields#create-a-product-metafield) and [product variants](/docs/rest-catalog/product-variants/metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string enum: @@ -1135,7 +1135,7 @@ components: description: The value associated with the product or product variant meta field. namespace: type: string - description: 'The namespace associated with metafields for [products](docs/rest-management/catalog/product-metafields) and [product variants](/docs/rest-management/catalog/product-variants-metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' + description: 'The namespace associated with metafields for [products](/docs/rest-catalog/products/metafields) and [product variants](/docs/rest-catalog/product-variants/metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string enum: @@ -1318,7 +1318,7 @@ components: description: The value associated with the product or product variant meta field. namespace: type: string - description: 'The namespace associated with metafields for [products](docs/rest-management/catalog/product-metafields) and [product variants](/docs/rest-management/catalog/product-variants-metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' + description: 'The namespace associated with metafields for [products](/docs/rest-catalog/products/metafields) and [product variants](/docs/rest-catalog/product-variants/metafields). Save the metafield namespace using the format `shipping_carrier_{yourCarrierId}`; otherwise, it will not be recognized as a valid attribute.' resource_type: type: string description: Resource type associated with the product or product variant meta field. Currently, the only values available are 'product' or 'variant'. @@ -1854,7 +1854,7 @@ components: description: The value associated with the meta field. namespace: type: string - description: 'The namespace associated with a [product](docs/rest-management/catalog/product-metafields) or [product variant](/docs/rest-management/catalog/product-variants-metafields) metafields. You should save a metafield namespace under this format `shipping_carrier_{yourCarrierId}`; otherwise, you will not be able to recognize it as an attribute.' + description: 'The namespace associated with a [product](/docs/rest-catalog/products/metafields) or [product variant](/docs/rest-catalog/product-variants/metafields) metafields. You should save a metafield namespace under this format `shipping_carrier_{yourCarrierId}`; otherwise, you will not be able to recognize it as an attribute.' resource_type: type: string enum: From 2f2a9807dec5e5015655657a5791940b3b92f5de Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 9 May 2023 12:40:28 -0500 Subject: [PATCH 160/360] DEVDOCS-4899: [update] Many, update payment-related links (#1310) --- reference/payment_processing.yml | 6 +++--- reference/payments/accepted-methods_payments.v3.yml | 2 +- reference/payments/access-tokens_payments.v3.yml | 4 ++-- reference/payments/methods_payments.v2.yml | 2 +- reference/payments/process_payments.yml | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/reference/payment_processing.yml b/reference/payment_processing.yml index 769e5ff0b..3deb2b4c2 100644 --- a/reference/payment_processing.yml +++ b/reference/payment_processing.yml @@ -2,7 +2,7 @@ openapi: '3.0.0' info: version: '' title: Payment Processing - description: 'Process payments using payment instrument such as credit card. See [Payments Overview](/api-docs/store-management/payment-processing) for more information.' + description: 'Process payments using payment instrument such as credit card. See [Payments Overview](/api-docs/store-management/payments-api-overview) for more information.' termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -28,7 +28,7 @@ paths: tags: - Process Payment operationId: PaymentsPost - description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payment-processing) for more information.' + description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payments-api-overview) for more information.' servers: - url: 'https://payments.bigcommerce.com' description: BigCommerce Payments Gateway @@ -325,7 +325,7 @@ paths: description: |- This endpoint provides the capability to create a payment access token. The payment access token is required when making request to Payment API for submitting payment for an order. - After the token is created, use the token to [Process Payments](/docs/rest-payments/processing/process-payment#process-payment). + After the token is created, use the token to [Process Payments](/docs/rest-payments/processing#process-payment). **Required Fields** * order_id diff --git a/reference/payments/accepted-methods_payments.v3.yml b/reference/payments/accepted-methods_payments.v3.yml index 3b7e2dbe8..95e4e43a9 100644 --- a/reference/payments/accepted-methods_payments.v3.yml +++ b/reference/payments/accepted-methods_payments.v3.yml @@ -3,7 +3,7 @@ info: version: '' title: Accepted Payment Methods description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). The [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) endpoint returns information about the payment methods each configured payment gateway accepts. This information optimizes your implementation's likelihood of making successful payments requests that return errors solely when payment methods fail, without making API calls to the gateway prior to running the payment. diff --git a/reference/payments/access-tokens_payments.v3.yml b/reference/payments/access-tokens_payments.v3.yml index caec3cb94..ca98eaf1d 100644 --- a/reference/payments/access-tokens_payments.v3.yml +++ b/reference/payments/access-tokens_payments.v3.yml @@ -3,7 +3,7 @@ info: version: '' title: Payment Access Token description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). BigCommerce payments requests require a Payment Access Token, or _PAT_, which is a single use BigCommerce-generated JWT that's tied to the particular **order** for which the shopper authorizes BigCommerce to submit a payment. @@ -55,7 +55,7 @@ paths: description: |- This endpoint provides the capability to create a payment access token. The payment access token is required when making request to Payment API for submitting payment for an order. - After the token is created, use the token to [Process Payments](/docs/rest-payments/processing/process-payment#process-payment). + After the token is created, use the token to [Process Payments](/docs/rest-payments/processing#process-payment). **Required Fields** * order_id diff --git a/reference/payments/methods_payments.v2.yml b/reference/payments/methods_payments.v2.yml index 6291e2f70..5a2b5e66f 100644 --- a/reference/payments/methods_payments.v2.yml +++ b/reference/payments/methods_payments.v2.yml @@ -2,7 +2,7 @@ openapi: '3.0.1' info: title: Payment Methods (Deprecated) description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). This endpoint is deprecated. Use [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) instead. diff --git a/reference/payments/process_payments.yml b/reference/payments/process_payments.yml index afe51c2e3..ad8553bf8 100644 --- a/reference/payments/process_payments.yml +++ b/reference/payments/process_payments.yml @@ -3,7 +3,7 @@ info: version: '' title: Payment Processing description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payment-processing). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). The Payment Processing API uses BigCommerce's PCI-compliant payments server and a supported payment gateway to charge customers. The payment portal you choose may support charging stored instruments and/or making refund transactions. For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). @@ -55,7 +55,7 @@ paths: tags: - Processing operationId: PaymentsPost - description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payment-processing) for more information.' + description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payments-api-overview) for more information.' parameters: - $ref: '#/components/parameters/AcceptPaymentResponse' - $ref: '#/components/parameters/ContentType' From b3c31f411a52abb3de487d9788f2909f0de318bd Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 9 May 2023 15:28:13 -0500 Subject: [PATCH 161/360] (no ticket): [update] Scripts, add name to script_Full (#1312) --- reference/scripts.v3.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reference/scripts.v3.yml b/reference/scripts.v3.yml index cb9b591b5..e57de69f3 100644 --- a/reference/scripts.v3.yml +++ b/reference/scripts.v3.yml @@ -828,6 +828,11 @@ components: allOf: - type: object properties: + name: + type: string + description: The user-friendly name. + minLength: 1 + maxLength: 255 uuid: type: string format: uuid From b5616d90d6f8afc3fc66be2d194b2717c56420e7 Mon Sep 17 00:00:00 2001 From: Marcus Sung <98011424+bc-msung@users.noreply.github.com> Date: Thu, 11 May 2023 02:37:40 +1000 Subject: [PATCH 162/360] DEVDOCS-4931: [update] Tax Connection API, edit 404 error message (#1294) --- reference/tax.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/tax.v3.yml b/reference/tax.v3.yml index 8d2ef1bfc..bd2c0e9e9 100644 --- a/reference/tax.v3.yml +++ b/reference/tax.v3.yml @@ -69,7 +69,7 @@ paths: username: MyDisconnectedTaxProviderAccount configured: false '404': - description: Provider does not exist + description: Provider or provider connection does not exist tags: - Tax Provider Connection put: From cdb08b24cc93a34d88ef31748fd93e7e432d04bd Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 10 May 2023 11:49:25 -0500 Subject: [PATCH 163/360] DEVDOCS-4783: Tax Settings API, add field for subtracting store tax (#1296) Co-authored-by: theromulans --- reference/pricing.sf.yml | 1 + reference/tax_settings.v3.yml | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index 1f097dd9f..495a92f96 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -87,6 +87,7 @@ paths: application/json: schema: type: object + description: Note that a store's [tax settings](/docs/rest-management/tax-settings) may affect the calculations for `tax_inclusive` and `tax_exclusive` prices. properties: data: type: array diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index 4f65e11ee..55867a622 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -31,7 +31,7 @@ paths: '200': description: OK content: - application/json: + application/json: schema: type: object properties: @@ -143,6 +143,10 @@ components: - FIXED - BASIC - DISABLE + should_subtract_store_tax: + default: true + type: boolean + description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the item's store tax rate before calculating tax using the shopper's tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopper's location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. Tax_Settings_Req: type: object properties: @@ -170,6 +174,10 @@ components: - FIXED - BASIC - DISABLE + should_subtract_store_tax: + default: true + type: boolean + description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the item's store tax rate before calculating tax using the shopper's tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopper's location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. MetaOpen: title: Response meta type: object From c9377658d2a2d10f01187b8381291dbe44bb78b9 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Wed, 10 May 2023 11:59:15 -0500 Subject: [PATCH 164/360] DEVDOCS-4783: [revise] Tax Settings + Pricing, use curly quotes (#1313) --- reference/pricing.sf.yml | 4 ++-- reference/tax_settings.v3.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index 495a92f96..0ad732cb7 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -87,7 +87,7 @@ paths: application/json: schema: type: object - description: Note that a store's [tax settings](/docs/rest-management/tax-settings) may affect the calculations for `tax_inclusive` and `tax_exclusive` prices. + description: Note that a storeʼs [tax settings](/docs/rest-management/tax-settings) may affect the calculations for `tax_inclusive` and `tax_exclusive` prices. properties: data: type: array @@ -263,7 +263,7 @@ paths: type: number description: The estimated tax inclusive price for this product based on the provided customer group description: The price for a product including estimates for tax - description: The product's variants that will typically apply to this product. + description: The productʼs variants that will typically apply to this product. bulk_pricing: type: array items: diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index 55867a622..a5c30a07d 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -146,7 +146,7 @@ components: should_subtract_store_tax: default: true type: boolean - description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the item's store tax rate before calculating tax using the shopper's tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopper's location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. + description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. Tax_Settings_Req: type: object properties: @@ -177,7 +177,7 @@ components: should_subtract_store_tax: default: true type: boolean - description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the item's store tax rate before calculating tax using the shopper's tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopper's location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. + description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. MetaOpen: title: Response meta type: object From aa23ded5d64df674933593e24661ba57f814d961 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 11 May 2023 13:58:22 -0500 Subject: [PATCH 165/360] DEVDOCS-4673: [update] Catalog API, add max for inventory levels (#1314) --- reference/catalog/product-variants_catalog.v3.yml | 10 ++++++++++ reference/catalog/products_catalog.v3.yml | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 327425b79..0c9d52a06 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -1274,10 +1274,12 @@ paths: type: integer description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' x-nullable: true + maximum: 2147483647 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' x-nullable: true + maximum: 2147483647 bin_picking_number: maxLength: 255 minLength: 0 @@ -1460,10 +1462,12 @@ paths: type: integer description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' x-nullable: true + maximum: 2147483647 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' x-nullable: true + maximum: 2147483647 bin_picking_number: maxLength: 255 minLength: 0 @@ -1573,10 +1577,12 @@ paths: type: integer description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' x-nullable: true + maximum: 2147483647 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' x-nullable: true + maximum: 2147483647 bin_picking_number: maxLength: 255 minLength: 0 @@ -1870,10 +1876,12 @@ components: type: integer description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' nullable: true + maximum: 2147483647 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' nullable: true + maximum: 2147483647 bin_picking_number: maxLength: 255 minLength: 0 @@ -2055,10 +2063,12 @@ components: type: integer description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' nullable: true + maximum: 2147483647 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' nullable: true + maximum: 2147483647 bin_picking_number: maxLength: 255 minLength: 0 diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 30846094e..ed2c1e1e9 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -6707,10 +6707,12 @@ components: type: integer description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' nullable: true + maximum: 2147483647 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' nullable: true + maximum: 2147483647 bin_picking_number: maxLength: 255 minLength: 0 @@ -6888,10 +6890,12 @@ components: type: integer description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' nullable: true + maximum: 2147483647 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' nullable: true + maximum: 2147483647 bin_picking_number: maxLength: 255 minLength: 0 From cd46f73eed6bacebee8c95a08ee96bb591ec050b Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 May 2023 09:36:23 -0500 Subject: [PATCH 166/360] DEVDOCS-4916: [revise] Ordersv3 - payment-field is an array (#1292) --- reference/orders.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 8610ca770..0d20f2ebd 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -2209,7 +2209,7 @@ components: items: $ref: '#/components/schemas/ItemsRefund' payments: - type: object + type: array items: $ref: '#/components/schemas/PaymentRequest' merchant_calculated_override: From 2f191ff981455086a8de9231cbb54b1b1d793a28 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 May 2023 11:08:42 -0500 Subject: [PATCH 167/360] updated per DEVDOCS-4928 (#1303) --- models/email_templates/_all.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/models/email_templates/_all.yml b/models/email_templates/_all.yml index 01a2b3f13..6b9bd62b4 100644 --- a/models/email_templates/_all.yml +++ b/models/email_templates/_all.yml @@ -1401,8 +1401,16 @@ properties: type: boolean provider_name: type: string + deprecated: true offline_payment_message: type: string + payment_method: + type: string + provider: + type: object + properties: + name: + type: string gateway_amount: type: object description: Price value. Provided only if the payment method is offline. From ce8495987f3841b109250de524d470c1f3e36115 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 May 2023 11:11:59 -0500 Subject: [PATCH 168/360] DEVDOCS-4896: [update] add unshipped_products (#1302) --- models/email_templates/_all.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/models/email_templates/_all.yml b/models/email_templates/_all.yml index 6b9bd62b4..fb37bee75 100644 --- a/models/email_templates/_all.yml +++ b/models/email_templates/_all.yml @@ -708,6 +708,8 @@ properties: type: array items: type: object + description: Products that have been shipped, i.e., have been added to a consignment. + example: [Partially Shipped, Completed, Shipped, Refunded] properties: name: type: string @@ -732,8 +734,13 @@ properties: type: string link: type: string + unshipped_products: + type: array + description: Products that have not been shipped or added to a shipping consignment. + example: [Awaiting Fulfillment, Awaiting Shipment, Awaiting Pickup, Partially Shipped, Completed, Shipped, Refunded] ready_for_pickup_products: type: array + description: Products that have been added to a BOPIS pickup consignment and marked as ready for pickup. items: type: object properties: @@ -751,6 +758,7 @@ properties: type: string picked_up_products: type: array + description: Products that have been added to a BOPIS pickup consignment and marked as picked up. items: type: object properties: From ef4beb6494de83e45b925afc76a51ccbd6433836 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 12 May 2023 11:15:12 -0500 Subject: [PATCH 169/360] Removed required for the headers field (#1309) --- reference/webhooks.v3.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index 21f250382..4e99a2ec9 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -3038,7 +3038,6 @@ components: required: - scope - destination - - headers webhook_Full: allOf: - $ref: '#/components/schemas/webhook_Base' From 2e45573d0ffeaedd49b06667fa5d00f7d5f60e8e Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 15 May 2023 11:18:31 -0500 Subject: [PATCH 170/360] DEVDOCS-4847: [update] Channels API, update protected UI settings description (#1319) Co-authored-by: Traci Porter --- reference/channels.v3.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index 50611fbb4..82a514689 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -1131,7 +1131,7 @@ components: type: object properties: bigcommerce_protected_app_sections: - $ref: '#/components/schemas/BigcommerceProtectedAppSections' + $ref: '#/components/schemas/BigCommerceProtectedAppSections' custom_app_sections: $ref: '#/components/schemas/CustomAppSections' meta: @@ -2632,9 +2632,9 @@ components: items: $ref: '#/components/schemas/ChannelProductVariantFull' x-internal: false - BigcommerceProtectedAppSections: + BigCommerceProtectedAppSections: type: array - description: 'List of pre-built UI pages an app developer can choose to enable for a channel. More information can be found [here](https://developer.bigcommerce.com/docs/ZG9jOjM4MzMyMzA-building-storefront-channels#protected-ui-sections)' + description: 'List of channel-specific control panel menu navigation items and corresponding settings pages an app developer can choose to enable for the subject channel. Protected settings override any settings set in those UI sections at the storewide level. Learn more in the [Building Storefront Channels](/api-docs/channels/tutorials/storefront#protected-ui-sections) tutorial.' items: type: string enum: @@ -2648,7 +2648,7 @@ components: type: object properties: bigcommerce_protected_app_sections: - $ref: '#/components/schemas/BigcommerceProtectedAppSections' + $ref: '#/components/schemas/BigCommerceProtectedAppSections' custom_app_sections: $ref: '#/components/schemas/CustomAppSections' CustomAppSections: @@ -2658,10 +2658,10 @@ components: properties: title: type: string - description: Text displayed to the merchant + description: Text displayed to the merchant. query_path: type: string - description: Value used in the `section` query param + description: Value used in the `section` query param. x-internal: false Error: type: object From 7791ff1250ce18cdeb96c0093a7b1255bbbcf509 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 16 May 2023 16:01:40 -0500 Subject: [PATCH 171/360] DEVDOCS-3469: [update] Catalog Categories, note required image extensions in image_url (#1317) --- reference/catalog/categories_catalog.v3.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index 54f88532a..2b21372d8 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -453,7 +453,7 @@ paths: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -894,7 +894,7 @@ paths: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -1032,7 +1032,7 @@ paths: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -1945,7 +1945,7 @@ components: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -2331,7 +2331,7 @@ components: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. + Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true meta_description: From 1a9714d52430bf90816fc3abfee6f3492c3caadc Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 16 May 2023 16:28:38 -0500 Subject: [PATCH 172/360] DEVDOCS-4872: [update] Scripts API, document html field length limit (#1321) --- reference/scripts.v3.yml | 75 ++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/reference/scripts.v3.yml b/reference/scripts.v3.yml index e57de69f3..2e2a960f9 100644 --- a/reference/scripts.v3.yml +++ b/reference/scripts.v3.yml @@ -3,7 +3,7 @@ info: title: Scripts version: '' description: |- - Inject client-side code onto a BigCommerce storefront. To learn more about scripts, see [Scripts API](/api-docs/store-management/scripts). + Add client-side code to a BigCommerce storefront page or associate a script with a channel. To learn more about scripts, see the [Scripts API](/api-docs/store-management/scripts) article. termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -36,29 +36,30 @@ paths: application/json: schema: $ref: '#/components/schemas/script_Post' - examples: {} + examples: + Script Source URL: + value: + name: Bootstrap + description: Build responsive websites + src: 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js' + auto_uninstall: true + load_method: default + location: footer + visibility: all_pages + kind: src + consent_category: essential + HTML Script Tag: + value: + name: Bootstrap + description: Build responsive websites + html: '' + auto_uninstall: true + load_method: default + location: footer + visibility: all_pages + kind: script_tag + consent_category: essential required: true - x-examples: - Script Source URL: - name: Bootstrap - description: Build responsive websites - src: 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js' - auto_uninstall: true - load_method: default - location: footer - visibility: all_pages - kind: src - consent_category: essential - HTML Script Tag: - name: Bootstrap - description: Build responsive websites - html: null - auto_uninstall: true - load_method: default - location: footer - visibility: all_pages - kind: script_tag - consent_category: essential responses: '200': description: '' @@ -66,7 +67,6 @@ paths: application/json: schema: $ref: '#/components/schemas/script_Response' - examples: {} '422': description: | This is the result of missing required fields, or of invalid data. See the response for more details. @@ -111,8 +111,13 @@ paths: * uuid **Notes** - * If kind is `src` –- Only the `src` property is needed, and you can optionally supply a `load_method`. The `html` field should not be specified. - * If kind is `script_tag` -- Only the `script_tag` is needed. The `src` field should not be specified. + * If the `kind` is `src`: + * Specify the `src` property. + * Optionally, you can supply a `load_method`. + * Do not specify the `html` field. + * If the `kind` is `script_tag`: + * Specify the `html` property. + * Do not specify the `src` field. * Each app can have 10 scripts installed. * Multiple scripts can be created [per call](/api-docs/store-management/scripts#notes). get: @@ -225,7 +230,6 @@ paths: application/json: schema: $ref: '#/components/schemas/script_Response' - examples: {} '404': description: | The resource was not found. @@ -311,7 +315,6 @@ paths: application/json: schema: $ref: '#/components/schemas/script_Response' - examples: {} '404': description: | The resource was not found. @@ -678,7 +681,6 @@ components: description: | Link to the next page returned in the response. title: Collection Meta - x-internal: false Pagination: type: object description: 'Data about the response, including pagination and collection totals.' @@ -846,7 +848,6 @@ components: format: date-time description: The date on which this object was last updated. - $ref: '#/components/schemas/script_Base' - x-examples: {} x-internal: false script_Post: title: script_Post @@ -894,20 +895,19 @@ components: $ref: '#/components/schemas/script_Full' meta: $ref: '#/components/schemas/CollectionMeta' - x-internal: false script_Base: type: object title: script_Base description: 'Script properties common to `post`, `put`, and `get` requests.' - x-internal: false - x-examples: {} properties: description: type: string description: The user-friendly description. html: type: string - description: An html string containing exactly one `script` tag. Only present if `kind` is `script_tag`. + description: An HTML string containing exactly one `script` tag. Present when the script `kind` is `script_tag`. + minLength: 0 + maxLength: 65536 src: type: string description: The `src` attribute of the script to load. Only present if `kind` is `src`. @@ -941,10 +941,9 @@ components: description: |- What type of script this is. - `src` - a `script` tag will be generated with its `src` attribute set to the value of `src`; For scripts that use the src url. By providing a path to the script, we can optimize and serve the script tag automatically for you. + `src` - For scripts that use the src URL. A `script` tag will be generated with its `src` attribute set to the value of the `src` property. When your app provides a path to the script, we can optimize and add the script automatically for you. The load_method can vary. - `script_tag` - The value of `html` will be injected directly onto the page. - For scripts which include a raw HTML script_tag to be inserted into the page. The load_method must be default. + `script_tag` - For scripts that include a raw HTML `script` tag-enclosed block of JavaScript. The value of `html` is added directly to the page. The load_method must be default. enum: - src - script_tag @@ -954,7 +953,7 @@ components: description: 'The client id of the API user that created this script, or blank if created by other means.' consent_category: type: string - description: 'Consent category for GDPR and CCPA compliance. Defaults to `uknown` when not specified. Scripts with an `uknown` consent category do not display on stores with customer cookie consent banners enabled. ' + description: Consent category for GDPR and CCPA compliance. Defaults to `unknown` when not specified. Scripts with an `unknown` consent category do not display on stores with customer cookie consent banners enabled. enum: - essential - functional From 343494954fa23bdd9a298b35a96eacf808911227 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 17 May 2023 12:19:46 -0500 Subject: [PATCH 173/360] DEVDOCS-4826: [revise] Tax Zones - Create Tax Zone note fix (#1316) --- reference/tax_rates_zones.v3.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/tax_rates_zones.v3.yml b/reference/tax_rates_zones.v3.yml index 1064667aa..8e1e521a4 100644 --- a/reference/tax_rates_zones.v3.yml +++ b/reference/tax_rates_zones.v3.yml @@ -125,8 +125,9 @@ paths: description: |- Create one or more tax zones. - > #### Note - > You cannot create a default tax zone. + + **Note:** + You can't create a default tax zone. operationId: create-tax-zones requestBody: $ref: '#/components/requestBodies/Tax_ZoneArrayPOST' From 012baa010689cb038dcb00a65cb6cc9ebda17f4b Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 17 May 2023 12:22:02 -0500 Subject: [PATCH 174/360] DEVDOCS-4295: [revise] Orders v2, PUT Order ID modify default_currency_code (#1315) --- reference/orders.v2.oas2.yml | 176 ++++++++++++++++++++++++++++++++++- 1 file changed, 175 insertions(+), 1 deletion(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 7e801a88a..8a5059bf9 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -4768,22 +4768,149 @@ components: x-internal: false order_Put: allOf: - - $ref: '#/components/schemas/order_Shared' - type: object properties: + base_handling_cost: + description: 'The value of the base handling cost. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + base_shipping_cost: + description: 'The value of the base shipping cost. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + base_wrapping_cost: + description: The value of the base wrapping cost expressed as a floating point number to four decimal places in string format. + example: '0.0000' + type: string billing_address: $ref: '#/components/schemas/billingAddress_Put' + channel_id: + description: Shows where the order originated. The channel_id will default to 1. + example: 1 + type: integer consignments: $ref: '#/components/schemas/orderConsignment_Put' + customer_id: + type: number + customer_message: + description: 'Message that the customer entered (number, options) -o the `Order Comments` box during checkout.' + example: Thank you + type: string + date_created: + description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`.' + type: string + default_currency_code: + description: A read-only field displays the currency code of the [transactional currency](/api-docs/multi-currency/guide/introduction#display-vs-transactional) the shopper uses. + type: string + discount_amount: + description: 'Amount of discount for this transaction. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + ebay_order_id: + description: 'If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`.' + example: '0' + type: string + external_id: + description: 'The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + example: null + oneOf: + - type: string + nullable: true + external_merchant_id: + description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + example: null + oneOf: + - type: string + nullable: true + external_source: + description: |- + This value identifies an external system that generated the order and submitted it to BigCommerce with the Orders API. + * When supplying the value, we recommend combining the type of system and vendor, e.g., ERP (Acumatica) or POS (Square). + * If you are migrating historical orders processed on another eCommerce platform to BigCommerce, supply the following code as the value: M-MIG. This code will exclude historical orders from the store’s GMV/order count, which factors into pricing. + * If you do not provide a value, then it will default to null. + example: null + type: string + nullable: true + geoip_country: + description: 'The full name of the country where the customer made the purchase, based on the IP.' + example: United States + type: string + geoip_country_iso2: + description: 'The country where the customer made the purchase, in ISO2 format, based on the IP.' + example: US + type: string + handling_cost_ex_tax: + description: 'The value of the handling cost, excluding tax. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + handling_cost_inc_tax: + description: 'The value of the handling cost, including tax. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + ip_address: + type: string + description: |- + IPv4 Address of the customer, if known. + + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address` value will reset the `ip_address_v6` value and vice versa. + example: 12.345.678.910 + maxLength: 30 + ip_address_v6: + type: string + description: |- + IPv6 Address of the customer, if known. + + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address_v6` value will reset the `ip_address` value and vice versa. + example: '2001:db8:3333:4444:5555:6666:7777:8888' + maxLength: 39 + is_deleted: + description: 'Indicates whether the order was deleted (archived). Set to to true, to archive an order.' + example: false + type: boolean + items_shipped: + description: The number of items that have been shipped. + example: 0 + type: number + items_total: + description: The total number of items in the order. + example: 1 + type: number + order_is_digital: + description: Whether this is an order for digital products. + example: false + type: boolean payment_method: type: string description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `Cash`,`Test Payment Gateway`, etc.' + payment_provider_id: + description: The external Transaction ID/Payment ID within this order’s payment provider (if a payment provider was used). + example: '' + oneOf: + - type: string + - type: number products: type: array items: anyOf: - $ref: '#/components/schemas/orderCatalogProduct_Put' - $ref: '#/components/schemas/orderCustomProduct_Put' + refunded_amount: + description: 'The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) ' + example: '0.0000' + type: string + shipping_cost_ex_tax: + description: 'The value of shipping cost, excluding tax. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + shipping_cost_inc_tax: + description: 'The value of shipping cost, including tax. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + staff_notes: + type: string + description: Any additional notes for staff. + example: Send Saturday + maxLength: 65535 shipping_addresses: allOf: - type: object @@ -4791,6 +4918,53 @@ components: id: type: integer - $ref: '#/components/schemas/shippingAddress_Put' + status_id: + description: The status ID of the order. + type: integer + subtotal_ex_tax: + description: 'Override value for subtotal excluding tax. If specified, the field `subtotal_inc_tax` is also required. (Float, Float-As-String, Integer)' + example: '225.0000' + type: string + subtotal_inc_tax: + description: 'Override value for subtotal including tax. If specified, the field `subtotal_ex_tax` is also required. (Float, Float-As-String, Integer)' + example: '225.0000' + type: string + tax_provider_id: + description: | + BasicTaxProvider - Tax is set to manual and order is created in the store. + + AvaTaxProvider - Tax is set to automatic and order is created in the store. Used for Avalara. + + "" (empty string) - The order is created with the API, or the tax provider is unknown. + enum: + - BasicTaxProvider + - AvaTaxProvider + - '' + type: string + customer_locale: + type: string + example: en + description: The customer’s locale. + external_order_id: + type: string + example: external-order-id + description: The external id of the order. + total_ex_tax: + description: 'Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer)' + example: '225.0000' + type: string + total_inc_tax: + description: 'Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer)' + example: '225.0000' + type: string + wrapping_cost_ex_tax: + description: 'The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string + wrapping_cost_inc_tax: + description: 'The value of the wrapping cost, including tax. (Float, Float-As-String, Integer)' + example: '0.0000' + type: string order_Post: title: order_Post description: Products and Billing address only required for POST operation. From 50c9ed246e6c149e4105c1bd8da4c550006ecd30 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Wed, 17 May 2023 12:40:59 -0500 Subject: [PATCH 175/360] DEVDOCS-4933: [update] Catalog Categories + Trees, rename url to custom_url (#1322) Co-authored-by: Kan Zhang Co-authored-by: Traci Porter --- reference/catalog/categories_catalog.v3.yml | 4 ++-- reference/catalog/category-trees_catalog.v3.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index 2b21372d8..bfc4c8aca 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -2209,13 +2209,13 @@ components: - $ref: '#/components/schemas/default_product_sort' - type: object properties: - url: + custom_url: $ref: '#/components/schemas/Url' x-examples: {} Url: type: object properties: - path: + url: type: string is_customized: type: boolean diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 025722475..5006d9c81 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -581,7 +581,7 @@ components: - $ref: '#/components/schemas/default_product_sort' - type: object properties: - url: + custom_url: $ref: '#/components/schemas/Url' x-examples: {} CategoryUuidData: @@ -664,7 +664,7 @@ components: type: boolean image_url: type: string - url: + custom_url: $ref: '#/components/schemas/Url' CategoryDataPUT: allOf: @@ -680,7 +680,7 @@ components: Url: type: object properties: - path: + url: type: string is_customized: type: boolean From 7f7c799689702b673d2fceb949e10064c195d397 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 17 May 2023 15:33:14 -0500 Subject: [PATCH 176/360] DEVDOCS-4355: Ordersv2 - Order products, update header (#1323) --- reference/orders.v2.oas2.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 8a5059bf9..a95b1c4bf 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -443,9 +443,10 @@ paths: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/order_id_path' get: - description: 'Lists all order products on an order using `order_id`. By default, items sort from lowest to highest according to a newly created ID, separate from the `order_id` and the `product_id`.' + description: 'Lists 50 order products on an order using `order_id`. By default, items sort from lowest to highest according to a newly created ID, separate from the `order_id` and the `product_id`.' summary: List Order Products parameters: + - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' responses: From 726695bcdf6574f87fa962eeb7b4866990dbab4c Mon Sep 17 00:00:00 2001 From: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Date: Thu, 18 May 2023 13:58:24 -0500 Subject: [PATCH 177/360] DEVDOCS-4824 + DEVDOCS-3526: [migrate] Many, remove references to Stoplight + unused docs (#1235) Co-authored-by: Sarah Riehl --- .stoplight.json | 34 - CONTRIBUTING.md | 20 +- README.md | 47 +- assets/html/graphql-explorer.html | 30 - assets/html/graphql-playground.html | 11865 -------------------------- docs/available-apis.mdx | 64 - docs/customer-login-sso.mdx | 137 - docs/docs.mdx | 3 + docs/storefront-graphql.mdx | 130 - reference/catalog.v3.yml | 2 - reference/customers.sf.yml | 6 +- reference/tax_rates_zones.v3.yml | 6 +- toc.json | 320 - 13 files changed, 41 insertions(+), 12623 deletions(-) delete mode 100644 .stoplight.json delete mode 100644 assets/html/graphql-explorer.html delete mode 100644 assets/html/graphql-playground.html delete mode 100644 docs/available-apis.mdx delete mode 100644 docs/customer-login-sso.mdx create mode 100644 docs/docs.mdx delete mode 100644 docs/storefront-graphql.mdx delete mode 100644 toc.json diff --git a/.stoplight.json b/.stoplight.json deleted file mode 100644 index 34fa7ec4e..000000000 --- a/.stoplight.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "formats": { - "openapi": { - "rootDir": "reference", - "include": [ - "**" - ] - }, - "markdown": { - "rootDir": "docs", - "include": [ - "**" - ] - }, - "image": { - "rootDir": "assets/images", - "include": [ - "**" - ] - }, - "json_schema": { - "rootDir": "models", - "include": [ - "**" - ] - } - }, - "exclude": [ - "README.md", - "CONTRIBUTING.md", - "pull_request_template_CODEOWNER.md", - "pull_request_template.md" - ] -} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e34c5e594..69da7de9e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,11 +1,13 @@ # Contributing to BigCommerce's API Specifications -Thanks for showing interest in contributing! +Thanks for your interest in contributing! ## Edit -* **Edit:** Fork the repository and edit with your preferred editor (we recommend [VS Code](https://code.visualstudio.com/) or [Stoplight Studio](https://meta.stoplight.io/docs/studio)). -* **Lint:** Check for errors using [Spectral](https://stoplight.io/open-source/spectral). -* **Commit:** Write good commit messages using the guidelines in the following section + +* **Edit:** Fork the repository and edit with your preferred editor. We recommend [VS Code](https://code.visualstudio.com/). +* **Lint:** Check for errors using [Spectral](https://stoplight.io/open-source/spectral) or another OAS linter. + +* **Commit:** Write good commit messages using the guidelines in the following section. * **Push** to your fork to ensure that your pull request contains the most up-to-date version of your code. ## Write descriptive commit messages @@ -16,11 +18,10 @@ Thanks for showing interest in contributing! * Use the imperative mood ("Fix broken link to x" not "Fixes broken link to x"). ## Pull request -[What is a pull request?](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) -Internal users: Consult the repo's `internal_pr_template` to learn more about our pull request process. Then use the template to create your PR's description. +[What is a pull request?](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) -External users: Consult the repo's `external_pr_template` to learn more about our pull request process. Then use the template to create your PR's description. +Use the included `pull_request_template.md` to tell us more about the changes you propose. ## Tools @@ -28,8 +29,7 @@ The following tools might be helpful. | Tool | Description | |:-----|:------------| -| [BigCommerce Stoplight Workspace](https://bigcommerce.stoplight.io/) | Our hosted documentation back end.
Contains editing tools for internal users.| -| [Spectral CLI](https://stoplight.io/open-source/spectral) | Node.js CLI for Stoplight's OpenAPI linter | -| [Spectral Linter for VS Code](https://marketplace.visualstudio.com/items?itemName=stoplight.spectral)| Stoplight's OpenAPI linter as a VS Code extension | +| [Spectral CLI](https://stoplight.io/open-source/spectral) | Node.js CLI for the Spectral OpenAPI linter | +| [Spectral Linter for VS Code](https://marketplace.visualstudio.com/items?itemName=stoplight.spectral)| The Spectral OpenAPI linter as a VS Code extension | | [swagger2openapi](https://www.npmjs.com/package/swagger2openapi)| Node.js CLI for converting Swagger to OpenAPI 3.0 | | [openapi.tools](https://openapi.tools/) | List of open-source OpenAPI tools | diff --git a/README.md b/README.md index 52f2d646f..e40852fe2 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,34 @@ # BigCommerce API Specifications -OpenAPI Specifications (OAS) and JSON schema used to generate the human-readable [BigCommerce API Reference](https://developer.bigcommerce.com/api-reference). +This repo contains the OpenAPI Specifications (OAS) and JSON schema that form the human-readable [BigCommerce REST API Reference](https://developer.bigcommerce.com/docs/api). - -> #### OAS updates -> As of August 22, 2022, all API specification files are in OAS 3+ format. Please update your forks to ensure you're working with the newest source files. -> -> **Caveat:** The file that contains webhook events callback schemas, `webhooks_events.yml`, is still in Swagger 2.0 format. +As of August 22, 2022, all API specification files are in OAS 3+ format. We also made significant changes to this repo in March 2023. Please update your fork to ensure you're working with the newest source files. + +## Contributing + +If you're interested in contributing, see [CONTRIBUTING.md](CONTRIBUTING.md). ## Directory structure ```shell . -├── .circleci # config for circleci job that runs openapi linter - └── config.yml # - docs: https://meta.stoplight.io/docs/spectral -├── docs # markdown files -├── models # yaml schema for various objects - ├── ... - └── json2schema.py # script to easily convert json data to yaml schema -├── reference # openapi specification files +├── .github/ # github config + └── workflows/ # workflows to lint pull requests, etc. +├── .idea/ # directory ignored by git - use for yourself +├── models/ # yml schema for various objects + ├── email_templates/ # email template schemas + ├── webhooks/ # webhooks schemas + └── json2schema.py # script to convert json to yml +├── reference/ # openapi specification files + ├── catalog/ # catalog OAS API reference + ├── payments/ # payments OAS API reference + └── ... # other OAS API reference +├── .eslintrc.json # config for MDX linter ├── .gitignore # gitignore -├── .spectral.yaml # config for stoplight spectral openapi linter -├── .stoplight.json # Stoplight Platform edit view configuration file -├── CONTRIBUTING.md # guidelines for contribution -├── pull_request_template_CODEOWNER.md # template for codeowner dev merges -├── pull_request_template.md # template for most pull requests -└── toc.json # Stoplight Platform table of contents configuration file +├── .spectral.yaml # config for OAS linter +├── CONTRIBUTING # guidelines for contribution +├── package-lock.json +├── package.json +├── pull_request_template.md # template for most pull requests +└── README ``` - -## Contributing - -If you're interested in contributing, see [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/assets/html/graphql-explorer.html b/assets/html/graphql-explorer.html deleted file mode 100644 index 4485b68d0..000000000 --- a/assets/html/graphql-explorer.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - -
Loading...
- - - diff --git a/assets/html/graphql-playground.html b/assets/html/graphql-playground.html deleted file mode 100644 index 54b7f2dc0..000000000 --- a/assets/html/graphql-playground.html +++ /dev/null @@ -1,11865 +0,0 @@ - - - -
-
- -
- -
-
-

Storefront GraphQL API Reference

-

Queries

-
-

customer

-
-
-
The currently logged in customer
-
-
-
-
-
-
Returns a - Customer -
-
-
-
-

Example

-
Query
- - -
query customer {
-  customer {
-    entityId
-    company
-    customerGroupId
-    email
-    firstName
-    lastName
-    notes
-    phone
-    taxExemptCategory
-    addressCount
-    attributeCount
-    storeCredit {
-      ...MoneyFragment
-    }
-    attributes {
-      ...CustomerAttributesFragment
-    }
-  }
-}
-
- -
-
-
-
-
-
-
-
Response
- - -
{
-  "data": {
-    "customer": {
-      "entityId": 123,
-      "company": "xyz789",
-      "customerGroupId": 987,
-      "email": "xyz789",
-      "firstName": "xyz789",
-      "lastName": "xyz789",
-      "notes": "abc123",
-      "phone": "xyz789",
-      "taxExemptCategory": "abc123",
-      "addressCount": 123,
-      "attributeCount": 987,
-      "storeCredit": [Money],
-      "attributes": CustomerAttributes
-    }
-  }
-}
-
- -
-
-
-
-
- - -
- Queries - -
- - -

inventory

-
-
-
Alpha version. Do not use in production.
-
-
-
-
-
-
Returns an - Inventory! -
-
-
-
-

Example

-
Query
- - -
query inventory {
-  inventory {
-    locations(entityIds: $entityIds, codes: $codes, typeIds: $typeIds, serviceTypeIds: $serviceTypeIds, distanceFilter: $distanceFilter, countryCodes: $countryCodes, states: $states, cities: $cities, before: $before, after: $after, first: $first, last: $last) {
-      ...LocationConnectionFragment
-    }
-  }
-}
-
- -
-
-
-
-
-
-
-
Response
- - -
{"data": {"inventory": {"locations": LocationConnection}}}
-
- -
-
-
-
-
- - -
- Queries - -
- - -

site

-
-
-
-
Returns a - Site! -
-
-
-
-

Example

-
Query
- - -
query site {
-  site {
-    search {
-      ...SearchQueriesFragment
-    }
-    categoryTree(rootEntityId: $rootEntityId) {
-      ...CategoryTreeItemFragment
-    }
-    brands(before: $before, after: $after, first: $first, last: $last, productEntityIds: $productEntityIds) {
-      ...BrandConnectionFragment
-    }
-    products(before: $before, after: $after, first: $first, last: $last, ids: $ids, entityIds: $entityIds, hideOutOfStock: $hideOutOfStock) {
-      ...ProductConnectionFragment
-    }
-    newestProducts(before: $before, after: $after, first: $first, last: $last, hideOutOfStock: $hideOutOfStock) {
-      ...ProductConnectionFragment
-    }
-    bestSellingProducts(before: $before, after: $after, first: $first, last: $last, hideOutOfStock: $hideOutOfStock) {
-      ...ProductConnectionFragment
-    }
-    featuredProducts(before: $before, after: $after, first: $first, last: $last, hideOutOfStock: $hideOutOfStock) {
-      ...ProductConnectionFragment
-    }
-    product(id: $id, entityId: $entityId, variantEntityId: $variantEntityId, optionValueIds: $optionValueIds, sku: $sku) {
-      ...ProductFragment
-    }
-    route(path: $path) {
-      ...RouteFragment
-    }
-    settings {
-      ...SettingsFragment
-    }
-    content {
-      ...ContentFragment
-    }
-    currency(currencyCode: $currencyCode) {
-      ...CurrencyFragment
-    }
-    currencies(before: $before, after: $after, first: $first, last: $last) {
-      ...CurrencyConnectionFragment
-    }
-  }
-}
-
- -
-
-
-
-
-
-
-
Response
- - -
{
-  "data": {
-    "site": {
-      "search": SearchQueries,
-      "categoryTree": [CategoryTreeItem],
-      "brands": BrandConnection,
-      "products": ProductConnection,
-      "newestProducts": ProductConnection,
-      "bestSellingProducts": ProductConnection,
-      "featuredProducts": ProductConnection,
-      "product": Product,
-      "route": Route,
-      "settings": Settings,
-      "content": Content,
-      "currency": Currency,
-      "currencies": CurrencyConnection
-    }
-  }
-}
-
- -
-
-
-
-

Mutations

-
-

login

-
-
-
-
Returns a - LoginResult! -
-
-
- - - - - - - - - - - - - -
NameDescription
email - - String! -
password - - String! -
-
-
-
-
-

Example

-
Query
- - -
mutation login($email: String!, $password: String!) {
-  login(email: $email, password: $password) {
-    result
-    customer {
-      ...CustomerFragment
-    }
-  }
-}
-
- -
Variables
- - -
{"email": "abc123", "password": "abc123"}
-
- -
-
-
-
-
-
-
-
Response
- - -
{
-  "data": {
-    "login": {"result": "abc123", "customer": Customer}
-  }
-}
-
- -
-
-
-
-
- - -
- Mutations - -
- - -

logout

-
-
-
-
Returns a - LogoutResult! -
-
-
-
-

Example

-
Query
- - -
mutation logout {
-  logout {
-    result
-  }
-}
-
- -
-
-
-
-
-
-
-
Response
- - -
{"data": {"logout": {"result": "xyz789"}}}
-
- -
-
-
-
- -

Types

-
-

- -

Aggregated

-

-
-
-
-

Aggregated

-
-
- - - - - - - - - - - - - -
Field NameDescription
availableToSell - - Long! - Number of available products in stock. This can be 'null' if inventory is not set orif the store's Inventory Settings disable displaying stock levels on the storefront.
warningLevel - - Int! - Indicates a threshold low-stock level. This can be 'null' if the inventory warning level is not set or if the store's Inventory Settings disable displaying stock levels on the storefront.
-
-
-
-
-
Example
- - -
{"availableToSell": Long, "warningLevel": 123}
-
- -
-
-
-
-
-
- Types -
-

- -

AggregatedInventory

-

-
-
-
-

Aggregated Product Inventory

-
-
- - - - - - - - - - - - - -
Field NameDescription
availableToSell - - Int! - Number of available products in stock. This can be 'null' if inventory is not set orif the store's Inventory Settings disable displaying stock levels on the storefront.
warningLevel - - Int! - Indicates a threshold low-stock level. This can be 'null' if the inventory warning level is not set or if the store's Inventory Settings disable displaying stock levels on the storefront.
-
-
-
-
-
Example
- - -
{"availableToSell": 123, "warningLevel": 987}
-
- -
-
-
-
-
-
- Types -
-

- -

Author

-

-
-
-
-

Author

-
-
- - - - - - - - - -
Field NameDescription
name - - String! - Author name.
-
-
-
-
-
Example
- - -
{"name": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

BigDecimal

-

-
-
-
-

The BigDecimal scalar type represents signed fractional values with arbitrary precision.

-
-
-
-
-
Example
- - -
object
-
- -
-
-
-
-
-
- Types -
-

- -

Boolean

-

-
-
-
-

The Boolean scalar type represents true or false.

-
-
-
-
-
Example
- - -
true
-
- -
-
-
-
-
-
- Types -
-

- -

Brand

-

-
-
-
-

Brand

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
id - - ID! - The ID of an object
entityId - - Int! - Id of the brand.
name - - String! - Name of the brand.
defaultImage - - Image - Default image for brand.
pageTitle - - String! - Page title for the brand. - Use SEO details instead. -
metaDesc - - String! - Meta description for the brand. - Use SEO details instead. -
metaKeywords - - [String!]! - Meta keywords for the brand. - Use SEO details instead. -
seo - - SeoDetails! - Brand SEO details.
searchKeywords - - [String!]! - Search keywords for the brand.
path - - String! - Path for the brand page.
products - - ProductConnection! -
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

hideOutOfStock - - Boolean -

-
-
-
metafields - - MetafieldConnection! - Metafield data related to a brand.
-
-

Arguments

-
-

namespace - - String! -

-
-
-

keys - - [String!] default = []

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
-
-
-
-
-
Example
- - -
{
-  "id": ID,
-  "entityId": 123,
-  "name": "xyz789",
-  "defaultImage": Image,
-  "pageTitle": "xyz789",
-  "metaDesc": "xyz789",
-  "metaKeywords": ["abc123"],
-  "seo": SeoDetails,
-  "searchKeywords": ["abc123"],
-  "path": "abc123",
-  "products": ProductConnection,
-  "metafields": MetafieldConnection
-}
-
- -
-
-
-
-
-
- Types -
-

- -

BrandConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [BrandEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [BrandEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

BrandEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Brand! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Brand, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

Breadcrumb

-

-
-
-
-

Breadcrumb

-
-
- - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Category id.
name - - String! - Name of the category.
-
-
-
-
-
Example
- - -
{"entityId": 123, "name": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

BreadcrumbConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [BreadcrumbEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [BreadcrumbEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

BreadcrumbEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Breadcrumb! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Breadcrumb, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

BulkPricingFixedPriceDiscount

-

-
-
-
-

Bulk pricing tier that sets a fixed price for the product or variant.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
price - - BigDecimal! - This price will override the current product price.
minimumQuantity - - Int! - Minimum item quantity that applies to this bulk pricing tier.
maximumQuantity - - Int - Maximum item quantity that applies to this bulk pricing tier - if not defined then the tier does not have an upper bound.
-
-
-
-
-
Example
- - -
{
-  "price": BigDecimal,
-  "minimumQuantity": 123,
-  "maximumQuantity": 123
-}
-
- -
-
-
-
-
-
- Types -
-

- -

BulkPricingPercentageDiscount

-

-
-
-
-

Bulk pricing tier that reduces the price of the product or variant by a percentage.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
percentOff - - BigDecimal! - The percentage that will be removed from the product price.
minimumQuantity - - Int! - Minimum item quantity that applies to this bulk pricing tier.
maximumQuantity - - Int - Maximum item quantity that applies to this bulk pricing tier - if not defined then the tier does not have an upper bound.
-
-
-
-
-
Example
- - -
{
-  "percentOff": BigDecimal,
-  "minimumQuantity": 987,
-  "maximumQuantity": 123
-}
-
- -
-
-
-
-
-
- Types -
-

- -

BulkPricingRelativePriceDiscount

-

-
-
-
-

Bulk pricing tier that will subtract an amount from the price of the product or variant.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
priceAdjustment - - BigDecimal! - The price of the product/variant will be reduced by this priceAdjustment.
minimumQuantity - - Int! - Minimum item quantity that applies to this bulk pricing tier.
maximumQuantity - - Int - Maximum item quantity that applies to this bulk pricing tier - if not defined then the tier does not have an upper bound.
-
-
-
-
-
Example
- - -
{
-  "priceAdjustment": BigDecimal,
-  "minimumQuantity": 987,
-  "maximumQuantity": 123
-}
-
- -
-
-
-
-
-
- Types -
-

- -

Category

-

-
-
-
-

Category

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
id - - ID! - The ID of an object
entityId - - Int! - Unique ID for the category.
name - - String! - Category name.
path - - String! - Category path.
defaultImage - - Image - Default image for the category.
description - - String! - Category description.
breadcrumbs - - BreadcrumbConnection! - Category breadcrumbs.
-
-

Arguments

-
-

depth - - Int! -

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
products - - ProductConnection! -
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

hideOutOfStock - - Boolean -

-
-
-

sortBy - - CategoryProductSort -

-
-
-
metafields - - MetafieldConnection! - Metafield data related to a category.
-
-

Arguments

-
-

namespace - - String! -

-
-
-

keys - - [String!] default = []

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
seo - - SeoDetails! - Category SEO details.
-
-
-
-
-
Example
- - -
{
-  "id": ID,
-  "entityId": 123,
-  "name": "abc123",
-  "path": "abc123",
-  "defaultImage": Image,
-  "description": "xyz789",
-  "breadcrumbs": BreadcrumbConnection,
-  "products": ProductConnection,
-  "metafields": MetafieldConnection,
-  "seo": SeoDetails
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CategoryConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [CategoryEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [CategoryEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CategoryEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Category! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Category, "cursor": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

CategoryProductSort

-

-
-
-
-

Product sorting by categories.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

DEFAULT

-
-

FEATURED

-
-

NEWEST

-
-

BEST_SELLING

-
-

A_TO_Z

-
-

Z_TO_A

-
-

BEST_REVIEWED

-
-

LOWEST_PRICE

-
-

HIGHEST_PRICE

-
-
-
-
-
-
-
- Types -
-

- -

CategoryTreeItem

-

-
-
-
-

An item in a tree of categories.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - The id category.
name - - String! - The name of category.
path - - String! - Path assigned to this category
description - - String! - The description of this category.
productCount - - Int! - The number of products in this category.
image - - Image - The category image.
children - - [CategoryTreeItem!]! - Subcategories of this category
-
-
-
-
-
Example
- - -
{
-  "entityId": 987,
-  "name": "xyz789",
-  "path": "abc123",
-  "description": "abc123",
-  "productCount": 123,
-  "image": Image,
-  "children": [CategoryTreeItem]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CheckboxOption

-

-
-
-
-

A simple yes/no question represented by a checkbox.

-
-
- - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
checkedByDefault - - Boolean! - Indicates the default checked status.
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
-
-
-
-
-
Example
- - -
{
-  "checkedByDefault": true,
-  "entityId": 987,
-  "displayName": "abc123",
-  "isRequired": true
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ContactField

-

-
-
-
-

Contact field

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
address - - String! - Store address line.
country - - String! - Store country.
addressType - - String! - Store address type.
email - - String! - Store email.
phone - - String! - Store phone number.
-
-
-
-
-
Example
- - -
{
-  "address": "abc123",
-  "country": "abc123",
-  "addressType": "abc123",
-  "email": "xyz789",
-  "phone": "abc123"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

Content

-

-
-
-
-

The page content.

-
-
- - - - - - - - - - - - - - - - - - - -
Field NameDescription
renderedRegionsByPageType - - RenderedRegionsByPageType! -
-
-

Arguments

-
-

pageType - - PageType! -

-
-
-
renderedRegionsByPageTypeAndEntityId - - RenderedRegionsByPageType! -
-
-

Arguments

-
-

entityId - - Long! -

-
-
-

entityPageType - - EntityPageType! -

-
-
-
-
-
-
-
-
Example
- - -
{
-  "renderedRegionsByPageType": RenderedRegionsByPageType,
-  "renderedRegionsByPageTypeAndEntityId": RenderedRegionsByPageType
-}
-
- -
-
-
-
-
-
- Types -
-

- -

Currency

-

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Currency ID.
code - - currencyCode! - Currency code.
name - - String! - Currency name.
flagImage - - String - Flag image URL.
isActive - - Boolean! - Indicates whether this currency is active.
exchangeRate - - Float! - Exchange rate relative to default currency.
isTransactional - - Boolean! - Indicates whether this currency is transactional.
display - - CurrencyDisplay! - Currency display settings.
-
-
-
-
-
Example
- - -
{
-  "entityId": 123,
-  "code": currencyCode,
-  "name": "abc123",
-  "flagImage": "xyz789",
-  "isActive": false,
-  "exchangeRate": 123.45,
-  "isTransactional": true,
-  "display": CurrencyDisplay
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CurrencyConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [CurrencyEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [CurrencyEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CurrencyDisplay

-

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
symbol - - String! - Currency symbol.
symbolPlacement - - CurrencySymbolPosition! - Currency symbol.
decimalToken - - String! - Currency decimal token.
thousandsToken - - String! - Currency thousands token.
decimalPlaces - - Int! - Currency decimal places.
-
-
-
-
-
Example
- - -
{
-  "symbol": "abc123",
-  "symbolPlacement": CurrencySymbolPosition,
-  "decimalToken": "abc123",
-  "thousandsToken": "xyz789",
-  "decimalPlaces": 987
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CurrencyEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Currency! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Currency, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

CurrencySymbolPosition

-

-
-
-
-

Currency symbol position

-
-
- - - - - - - - - - - - - -
Enum ValueDescription
-

LEFT

-
-

RIGHT

-
-
-
-
-
-
-
- Types -
-

- -

CustomField

-

-
-
-
-

Custom field

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Custom field id.
name - - String! - Name of the custom field.
value - - String! - Value of the custom field.
-
-
-
-
-
Example
- - -
{"entityId": 123, "name": "xyz789", "value": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

CustomFieldConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [CustomFieldEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [CustomFieldEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CustomFieldEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - CustomField! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": CustomField, "cursor": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

Customer

-

-
-
-
-

A customer that shops on a store

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - The ID of the customer.
company - - String! - The company name of the customer.
customerGroupId - - Int! - The customer group id of the customer.
email - - String! - The email address of the customer.
firstName - - String! - The first name of the customer.
lastName - - String! - The last name of the customer.
notes - - String! - The notes of the customer.
phone - - String! - The phone number of the customer.
taxExemptCategory - - String! - The tax exempt category of the customer.
addressCount - - Int! - Customer addresses count.
attributeCount - - Int! - Customer attributes count.
storeCredit - - [Money!]! - Customer store credit.
attributes - - CustomerAttributes! - Customer attributes.
-
-
-
-
-
Example
- - -
{
-  "entityId": 123,
-  "company": "abc123",
-  "customerGroupId": 987,
-  "email": "xyz789",
-  "firstName": "abc123",
-  "lastName": "abc123",
-  "notes": "abc123",
-  "phone": "abc123",
-  "taxExemptCategory": "abc123",
-  "addressCount": 123,
-  "attributeCount": 123,
-  "storeCredit": [Money],
-  "attributes": CustomerAttributes
-}
-
- -
-
-
-
-
-
- Types -
-

- -

CustomerAttribute

-

-
-
-
-

A custom, store-specific attribute for a customer

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - The ID of the custom customer attribute
value - - String - The value of the custom customer attribute
name - - String! - The name of the custom customer attribute
-
-
-
-
-
Example
- - -
{"entityId": 987, "value": "xyz789", "name": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

CustomerAttributes

-

-
-
-
-

Custom, store-specific customer attributes

-
-
- - - - - - - - - - - - -
Field NameDescription
attribute - - CustomerAttribute! -
-
-

Arguments

-
-

entityId - - Int! -

-

-

The ID of the customer attribute

-

-
-
-
-
-
-
-
-
Example
- - -
{"attribute": CustomerAttribute}
-
- -
-
-
-
-
-
- Types -
-

- -

DateFieldOption

-

-
-
-
-

A calendar for allowing selection of a date.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
-
-
-
-
-
Example
- - -
{"entityId": 123, "displayName": "xyz789", "isRequired": true}
-
- -
-
-
-
-
-
- Types -
-

- -

DateTime

-

-
-
-
-
-
Example
- - -
object
-
- -
-
-
-
-
-
- Types -
-

- -

DateTimeExtended

-

-
-
-
-

Date Time Extended

-
-
- - - - - - - - - -
Field NameDescription
utc - - DateTime! - ISO-8601 formatted date in UTC
-
-
-
-
-
Example
- - -
{"utc": DateTime}
-
- -
-
-
-
-
-
- Types -
-

- -

DisplayField

-

-
-
-
-

Display field

-
-
- - - - - - - - - - - - - -
Field NameDescription
shortDateFormat - - String! - Short date format.
extendedDateFormat - - String! - Extended date format.
-
-
-
-
-
Example
- - -
{"shortDateFormat": "abc123", "extendedDateFormat": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

Distance

-

-
-
-
-

Distance

-
-
- - - - - - - - - - - - - -
Field NameDescription
value - - Float! - Distance in specified length unit
lengthUnit - - LengthUnit! - Length unit
-
-
-
-
-
Example
- - -
{"value": 123.45, "lengthUnit": LengthUnit}
-
- -
-
-
-
-
-
- Types -
-

- -

DistanceFilter

-

-
-
-
-

Filter locations by the distance

-
-
- - - - - - - - - - - - - - - - - - - - - -
Input FieldDescription
radius - - Float! - -

Radius of search in length units specified in lengthUnit argument

-
longitude - - Float! - -

Signed decimal degrees without compass direction

-
latitude - - Float! - -

Signed decimal degrees without compass direction

-
lengthUnit - - LengthUnit! -
-
-
-
-
-
Example
- - -
{
-  "radius": 123.45,
-  "longitude": 987.65,
-  "latitude": 987.65,
-  "lengthUnit": LengthUnit
-}
-
- -
-
-
-
-
-
- Types -
-

- -

EntityPageType

-

-
-
-
-

Entity page type

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

BLOG_POST

-
-

BRAND

-
-

CATEGORY

-
-

CONTACT_US

-
-

PAGE

-
-

PRODUCT

-
-
-
-
-
-
-
- Types -
-

- -

FileUploadFieldOption

-

-
-
-
-

A form allowing selection and uploading of a file from the user's local computer.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
-
-
-
-
-
Example
- - -
{"entityId": 123, "displayName": "xyz789", "isRequired": false}
-
- -
-
-
-
-
-
- Types -
-

- -

Float

-

-
-
-
-

The Float scalar type represents signed double-precision fractional values as specified by - IEEE 754.

-
-
-
-
-
Example
- - -
987.65
-
- -
-
-
-
-
-
- Types -
-

- -

ID

-

-
-
-
-

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

-
-
-
-
-
Example
- - -
object
-
- -
-
-
-
-
-
- Types -
-

- -

Image

-

-
-
-
-

Image

-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
url - - String! - Absolute path to image using store CDN.
-
-

Arguments

-
-

width - - Int! -

-
-
-

height - - Int -

-
-
-
urlOriginal - - String! - Absolute path to original image using store CDN.
altText - - String! - Text description of an image that can be used for SEO and/or accessibility purposes.
isDefault - - Boolean! - Indicates whether this is the primary image.
-
-
-
-
-
Example
- - -
{
-  "url": "xyz789",
-  "urlOriginal": "xyz789",
-  "altText": "xyz789",
-  "isDefault": true
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ImageConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [ImageEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [ImageEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ImageEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Image! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Image, "cursor": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

Int

-

-
-
-
-

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

-
-
-
-
-
Example
- - -
987
-
- -
-
-
-
-
-
- Types -
-

- -

Inventory

-

-
-
-
-

An inventory

-
-
- - - - - - - - - - - - -
Field NameDescription
locations - - LocationConnection! - Locations
-
-

Arguments

-
-

entityIds - - [Int!] default = []

-
-
-

codes - - [String!] default = []

-
-
-

typeIds - - [String!] default = []

-
-
-

serviceTypeIds - - [String!] default = []

-
-
-

distanceFilter - - DistanceFilter -

-
-
-

countryCodes - - [countryCode!] default = []

-
-
-

states - - [String!] default = []

-
-
-

cities - - [String!] default = []

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
-
-
-
-
-
Example
- - -
{"locations": LocationConnection}
-
- -
-
-
-
-
-
- Types -
-

- -

InventoryByLocations

-

-
-
-
-

Inventory By Locations

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
locationEntityId - - Long! - Location id.
availableToSell - - Long! - Number of available products in stock.
warningLevel - - Int! - Indicates a threshold low-stock level.
isInStock - - Boolean! - Indicates whether this product is in stock.
locationDistance - - Distance - Distance between location and specified longitude and latitude
locationEntityTypeId - - String - Location type id.
locationEntityServiceTypeIds - - [String!]! - Location service type ids. - Deprecated. Will be substituted with pickup methods. -
locationEntityCode - - String! - Location code.
-
-
-
-
-
Example
- - -
{
-  "locationEntityId": Long,
-  "availableToSell": Long,
-  "warningLevel": 123,
-  "isInStock": false,
-  "locationDistance": Distance,
-  "locationEntityTypeId": "abc123",
-  "locationEntityServiceTypeIds": ["abc123"],
-  "locationEntityCode": "abc123"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

LengthUnit

-

-
-
-
-

length unit

-
-
- - - - - - - - - - - - - -
Enum ValueDescription
-

Miles

-
-

Kilometres

-
-
-
-
-
-
-
- Types -
-

- -

LocationConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [LocationEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [LocationEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

LocationEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - InventoryByLocations! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": InventoryByLocations, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

LoginResult

-

-
-
-
-

Login result

-
-
- - - - - - - - - - - - - -
Field NameDescription
result - - String! - The result of a login - Use customer node instead. -
customer - - Customer - The currently logged in customer.
-
-
-
-
-
Example
- - -
{"result": "abc123", "customer": Customer}
-
- -
-
-
-
-
-
- Types -
-

- -

LogoField

-

-
-
-
-

Logo field

-
-
- - - - - - - - - - - - - -
Field NameDescription
title - - String! - Logo title.
image - - Image! - Store logo image.
-
-
-
-
-
Example
- - -
{"title": "xyz789", "image": Image}
-
- -
-
-
-
-
-
- Types -
-

- -

LogoutResult

-

-
-
-
-

Logout result

-
-
- - - - - - - - - -
Field NameDescription
result - - String! - The result of a logout
-
-
-
-
-
Example
- - -
{"result": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

Long

-

-
-
-
-

The Long scalar type represents non-fractional signed whole numeric values. Long can represent values between -(2^63) and 2^63 - 1.

-
-
-
-
-
Example
- - -
object
-
- -
-
-
-
-
-
- Types -
-

- -

Measurement

-

-
-
-
-

Measurement

-
-
- - - - - - - - - - - - - -
Field NameDescription
value - - Float! - Unformatted weight measurement value.
unit - - String! - Unit of measurement.
-
-
-
-
-
Example
- - -
{"value": 987.65, "unit": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

MetafieldConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [MetafieldEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [MetafieldEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

MetafieldEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Metafields! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Metafields, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

Metafields

-

-
-
-
-

Key/Value pairs of data attached tied to a resource entity (product, brand, category, etc.)

-
-
- - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
id - - ID! - The ID of an object
entityId - - Int! - The ID of the metafield when referencing via our backend API.
key - - String! - A label for identifying a metafield data value.
value - - String! - A metafield value.
-
-
-
-
-
Example
- - -
{
-  "id": ID,
-  "entityId": 987,
-  "key": "abc123",
-  "value": "abc123"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

Money

-

-
-
-
-

A money object - includes currency code and a money amount

-
-
- - - - - - - - - - - - - -
Field NameDescription
currencyCode - - String! - Currency code of the current money.
value - - BigDecimal! - The amount of money.
-
-
-
-
-
Example
- - -
{"currencyCode": "abc123", "value": BigDecimal}
-
- -
-
-
-
-
-
- Types -
-

- -

MoneyRange

-

-
-
-
-

A min and max pair of money objects

-
-
- - - - - - - - - - - - - -
Field NameDescription
min - - Money! - Minimum money object.
max - - Money! - Maximum money object.
-
-
-
-
-
Example
- - -
{"min": Money, "max": Money}
-
- -
-
-
-
-
-
- Types -
-

- -

MultiLineTextFieldOption

-

-
-
-
-

A multi-line text input field, aka a text box.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
-
-
-
-
-
Example
- - -
{"entityId": 123, "displayName": "abc123", "isRequired": false}
-
- -
-
-
-
-
-
- Types -
-

- -

MultipleChoiceOption

-

-
-
-
-

An option type that has a fixed list of values.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
displayStyle - - String! - The chosen display style for this multiple choice option.
values - - ProductOptionValueConnection! - List of option values.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
-
-
-
-
-
Example
- - -
{
-  "displayStyle": "xyz789",
-  "values": ProductOptionValueConnection,
-  "entityId": 987,
-  "displayName": "xyz789",
-  "isRequired": false
-}
-
- -
-
-
-
-
-
- Types -
-

- -

MultipleChoiceOptionValue

-

-
-
-
-

A simple multiple choice value comprised of an id and a label.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option value.
label - - String! - Label for the option value.
isDefault - - Boolean! - Indicates whether this value is the chosen default selected value.
-
-
-
-
-
Example
- - -
{"entityId": 123, "label": "abc123", "isDefault": false}
-
- -
-
-
-
-
-
- Types -
-

- -

NumberFieldOption

-

-
-
-
-

A single line text input field that only accepts numbers.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
-
-
-
-
-
Example
- - -
{"entityId": 123, "displayName": "xyz789", "isRequired": true}
-
- -
-
-
-
-
-
- Types -
-

- -

OptionConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [OptionEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [OptionEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

OptionEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - ProductOption! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": ProductOption, "cursor": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

OptionValueConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [OptionValueEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [OptionValueEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

OptionValueEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - ProductOptionValue! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": ProductOptionValue, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

OptionValueId

-

-
-
-
- - - - - - - - - - - - - -
Input FieldDescription
optionEntityId - - Int! -
valueEntityId - - Int! -
-
-
-
-
-
Example
- - -
{"optionEntityId": 987, "valueEntityId": 987}
-
- -
-
-
-
-
-
- Types -
-

- -

PageInfo

-

-
-
-
-

Information about pagination in a connection.

-
-
- - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
hasNextPage - - Boolean! - When paginating forwards, are there more items?
hasPreviousPage - - Boolean! - When paginating backwards, are there more items?
startCursor - - String - When paginating backwards, the cursor to continue.
endCursor - - String - When paginating forwards, the cursor to continue.
-
-
-
-
-
Example
- - -
{
-  "hasNextPage": true,
-  "hasPreviousPage": false,
-  "startCursor": "abc123",
-  "endCursor": "xyz789"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

PageType

-

-
-
-
-

Page type

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

ACCOUNT_ADDRESS

-
-

ACCOUNT_ADD_ADDRESS

-
-

ACCOUNT_ADD_RETURN

-
-

ACCOUNT_ADD_WISHLIST

-
-

ACCOUNT_DOWNLOAD_ITEM

-
-

ACCOUNT_EDIT

-
-

ACCOUNT_INBOX

-
-

ACCOUNT_ORDERS_ALL

-
-

ACCOUNT_ORDERS_COMPLETED

-
-

ACCOUNT_ORDERS_DETAILS

-
-

ACCOUNT_ORDERS_INVOICE

-
-

ACCOUNT_RECENT_ITEMS

-
-

ACCOUNT_RETURNS

-
-

ACCOUNT_RETURN_SAVED

-
-

ACCOUNT_WISHLISTS

-
-

ACCOUNT_WISHLIST_DETAILS

-
-

AUTH_ACCOUNT_CREATED

-
-

AUTH_CREATE_ACC

-
-

AUTH_FORGOT_PASS

-
-

AUTH_LOGIN

-
-

AUTH_NEW_PASS

-
-

BLOG

-
-

BRANDS

-
-

CART

-
-

COMPARE

-
-

GIFT_CERT_BALANCE

-
-

GIFT_CERT_PURCHASE

-
-

GIFT_CERT_REDEEM

-
-

HOME

-
-

ORDER_INFO

-
-

SEARCH

-
-

SITEMAP

-
-

SUBSCRIBED

-
-

UNSUBSCRIBE

-
-
-
-
-
-
-
- Types -
-

- -

PriceRanges

-

-
-
-
-

The min and max range of prices that apply to this product.

-
-
- - - - - - - - - - - - - -
Field NameDescription
priceRange - - MoneyRange! - Product price min/max range.
retailPriceRange - - MoneyRange - Product retail price min/max range.
-
-
-
-
-
Example
- - -
{
-  "priceRange": MoneyRange,
-  "retailPriceRange": MoneyRange
-}
-
- -
-
-
-
-
-
- Types -
-

- -

PriceSearchFilterInput

-

-
-
-
- - - - - - - - - - - - - -
Input FieldDescription
minPrice - - Float -
maxPrice - - Float -
-
-
-
-
-
Example
- - -
{"minPrice": 987.65, "maxPrice": 987.65}
-
- -
-
-
-
-
-
- Types -
-

- -

Prices

-

-
-
-
-

The various prices that can be set on a product.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
price - - Money! - Calculated price of the product. Calculated price takes into account basePrice, salePrice, rules (modifier, option, option set) that apply to the product configuration, and customer group discounts. It represents the in-cart price for a product configuration without bulk pricing rules.
salePrice - - Money - Sale price of the product.
basePrice - - Money - Original price of the product.
retailPrice - - Money - Retail price of the product.
mapPrice - - Money - Minimum advertised price of the product.
priceRange - - MoneyRange! - Product price min/max range.
retailPriceRange - - MoneyRange - Product retail price min/max range.
saved - - Money - The difference between the retail price (MSRP) and the current price, which can be presented to the shopper as their savings.
-
-
-
-
-
Example
- - -
{
-  "price": Money,
-  "salePrice": Money,
-  "basePrice": Money,
-  "retailPrice": Money,
-  "mapPrice": Money,
-  "priceRange": MoneyRange,
-  "retailPriceRange": MoneyRange,
-  "saved": Money
-}
-
- -
-
-
-
-
-
- Types -
-

- -

Product

-

-
-
-
-

Product

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
id - - ID! - The ID of an object
entityId - - Int! - Id of the product.
sku - - String! - Default product variant when no options are selected.
path - - String! - Relative URL path to product page.
name - - String! - Name of the product.
description - - String! - Description of the product.
plainTextDescription - - String! - Description of the product in plain text.
-
-

Arguments

-
-

characterLimit - - Int default = 120

-
-
-
warranty - - String! - Warranty information of the product.
minPurchaseQuantity - - Int - Minimum purchasable quantity for this product in a single order.
maxPurchaseQuantity - - Int - Maximum purchasable quantity for this product in a single order.
addToCartUrl - - String! - Absolute URL path for adding a product to cart.
addToWishlistUrl - - String! - Absolute URL path for adding a product to customer's wishlist. - Deprecated. -
prices - - Prices - Prices object determined by supplied product ID, variant ID, and selected option IDs.
-
-

Arguments

-
-

includeTax - - Boolean default = false

-
-
-

currencyCode - - currencyCode -

-

-

Please select a currency

-

-
-
-
priceRanges - - PriceRanges - The minimum and maximum price of this product based on variant pricing and/or modifier price rules. - Use priceRanges inside prices node instead. -
-
-

Arguments

-
-

includeTax - - Boolean default = false

-
-
-
weight - - Measurement - Weight of the product.
height - - Measurement - Height of the product.
width - - Measurement - Width of the product.
depth - - Measurement - Depth of the product.
options - - OptionConnection! - Product options.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
productOptions - - ProductOptionConnection! - Product options.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
reviewSummary - - Reviews! - Summary of the product reviews, includes the total number of reviews submitted and summation of the ratings on the reviews (ratings range from 0-5 per review).
type - - String! - Type of product, ex: physical, digital
availability - - String! - The availability state of the product. - Use status inside availabilityV2 instead. -
availabilityDescription - - String! - A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'. - Use description inside availabilityV2 instead. -
categories - - CategoryConnection! - List of categories associated with the product.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
brand - - Brand - Brand associated with the product.
variants - - VariantConnection! - Variants associated with the product.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

entityIds - - [Int!] default = []

-
-
-

optionValueIds - - [OptionValueId!] default = []

-
-
-
customFields - - CustomFieldConnection! - Custom fields of the product.
-
-

Arguments

-
-

names - - [String!] default = []

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
images - - ImageConnection! - A list of the images for a product.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
defaultImage - - Image - Default image for a product.
relatedProducts - - RelatedProductsConnection! - Related products for this product.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
inventory - - ProductInventory! - Inventory information of the product.
metafields - - MetafieldConnection! - Metafield data related to a product.
-
-

Arguments

-
-

namespace - - String! -

-
-
-

keys - - [String!] default = []

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
upc - - String - Universal product code.
mpn - - String - Manufacturer part number.
gtin - - String - Global trade item number.
createdAt - - DateTimeExtended! - Product creation date - Alpha version. Do not use in production. -
reviews - - ReviewConnection! - Reviews associated with the product.
-
-

Arguments

-
-

sort - - ProductReviewsSortInput -

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
seo - - SeoDetails! - Product SEO details.
-
-
-
-
-
Example
- - -
{
-  "id": ID,
-  "entityId": 123,
-  "sku": "abc123",
-  "path": "abc123",
-  "name": "xyz789",
-  "description": "xyz789",
-  "plainTextDescription": "abc123",
-  "warranty": "xyz789",
-  "minPurchaseQuantity": 987,
-  "maxPurchaseQuantity": 123,
-  "addToCartUrl": "abc123",
-  "addToWishlistUrl": "xyz789",
-  "prices": Prices,
-  "priceRanges": PriceRanges,
-  "weight": Measurement,
-  "height": Measurement,
-  "width": Measurement,
-  "depth": Measurement,
-  "options": OptionConnection,
-  "productOptions": ProductOptionConnection,
-  "reviewSummary": Reviews,
-  "type": "abc123",
-  "availability": "xyz789",
-  "availabilityDescription": "abc123",
-  "categories": CategoryConnection,
-  "brand": Brand,
-  "variants": VariantConnection,
-  "customFields": CustomFieldConnection,
-  "images": ImageConnection,
-  "defaultImage": Image,
-  "relatedProducts": RelatedProductsConnection,
-  "inventory": ProductInventory,
-  "metafields": MetafieldConnection,
-  "upc": "abc123",
-  "mpn": "abc123",
-  "gtin": "xyz789",
-  "createdAt": DateTimeExtended,
-  "reviews": ReviewConnection,
-  "seo": SeoDetails
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductAttributeSearchFilterInput

-

-
-
-
- - - - - - - - - - - - - -
Input FieldDescription
attribute - - String! -
values - - [String!]! -
-
-
-
-
-
Example
- - -
{"attribute": "abc123", "values": ["xyz789"]}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductAvailabilityStatus

-

-
-
-
-

Product availability status

-
-
- - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

Available

-
-

Preorder

-
-

Unavailable

-
-
-
-
-
-
-
- Types -
-

- -

ProductAvailable

-

-
-
-
-

Available Product

-
-
- - - - - - - - - - - - - -
Field NameDescription
status - - ProductAvailabilityStatus! - The availability state of the product.
description - - String! - A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'.
-
-
-
-
-
Example
- - -
{
-  "status": ProductAvailabilityStatus,
-  "description": "abc123"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [ProductEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [ProductEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Product! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Product, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductInventory

-

-
-
-
-

Product Inventory Information

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
isInStock - - Boolean! - Indicates whether this product is in stock.
hasVariantInventory - - Boolean! - Indicates whether this product's inventory is being tracked on variant level. If true, you may wish to check the variants node to understand the true inventory of each individual variant, rather than relying on this product-level aggregate to understand how many items may be added to cart.
aggregated - - AggregatedInventory - Aggregated product inventory information. This data may not be available if not set or if the store's Inventory Settings have disabled displaying stock levels on the storefront.
-
-
-
-
-
Example
- - -
{
-  "isInStock": true,
-  "hasVariantInventory": true,
-  "aggregated": AggregatedInventory
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductOption

-

-
-
-
-

Product Option

-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
values - - OptionValueConnection! - Option values.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
-
-
-
-
-
Example
- - -
{
-  "entityId": 987,
-  "displayName": "xyz789",
-  "isRequired": false,
-  "values": OptionValueConnection
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductOptionConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [ProductOptionEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [ProductOptionEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductOptionEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - -
Field NameDescription
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductOptionValue

-

-
-
-
-

Product Option Value

-
-
- - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option value.
label - - String! - Label for the option value.
-
-
-
-
-
Example
- - -
{"entityId": 123, "label": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductOptionValueConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [ProductOptionValueEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [ProductOptionValueEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductOptionValueEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - -
Field NameDescription
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"cursor": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductPickListOptionValue

-

-
-
-
-

A Product PickList Value - a product to be mapped to the base product if selected.

-
-
- - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
productId - - Int! - The ID of the product associated with this option value.
entityId - - Int! - Unique ID for the option value.
label - - String! - Label for the option value.
isDefault - - Boolean! - Indicates whether this value is the chosen default selected value.
-
-
-
-
-
Example
- - -
{"productId": 123, "entityId": 123, "label": "abc123", "isDefault": false}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductPreOrder

-

-
-
-
-

PreOrder Product

-
-
- - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
message - - String - The message to be shown in the store when a product is put into the pre-order availability state, e.g. "Expected release date is %%DATE%%"
willBeReleasedAt - - DateTimeExtended - Product release date
status - - ProductAvailabilityStatus! - The availability state of the product.
description - - String! - A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'.
-
-
-
-
-
Example
- - -
{
-  "message": "xyz789",
-  "willBeReleasedAt": DateTimeExtended,
-  "status": ProductAvailabilityStatus,
-  "description": "xyz789"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ProductReviewsSortInput

-

-
-
-
- - - - - - - - - -
Enum ValueDescription
-

NEWEST

-
-
-
-
-
-
-
- Types -
-

- -

ProductUnavailable

-

-
-
-
-

Unavailable Product

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
message - - String - The message to be shown in the store when "Call for pricing" is enabled for this product, e.g. "Contact us at 555-5555"
status - - ProductAvailabilityStatus! - The availability state of the product.
description - - String! - A few words telling the customer how long it will normally take to ship this product, such as 'Usually ships in 24 hours'.
-
-
-
-
-
Example
- - -
{
-  "message": "xyz789",
-  "status": ProductAvailabilityStatus,
-  "description": "abc123"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

RatingSearchFilterInput

-

-
-
-
- - - - - - - - - - - - - -
Input FieldDescription
minRating - - Float -
maxRating - - Float -
-
-
-
-
-
Example
- - -
{"minRating": 123.45, "maxRating": 123.45}
-
- -
-
-
-
-
-
- Types -
-

- -

Region

-

-
-
-
- - - - - - - - - - - - - -
Field NameDescription
name - - String! - The name of a region.
html - - String! - The rendered HTML content targeted at the region.
-
-
-
-
-
Example
- - -
{"name": "abc123", "html": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

RelatedProductsConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [RelatedProductsEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [RelatedProductsEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

RelatedProductsEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Product! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Product, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

RenderedRegionsByPageType

-

-
-
-
-

The rendered regions by specific page.

-
-
- - - - - - - - - -
Field NameDescription
regions - - [Region!]! -
-
-
-
-
-
Example
- - -
{"regions": [Region]}
-
- -
-
-
-
-
-
- Types -
-

- -

Review

-

-
-
-
-

Review

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Long! - Unique ID for the product review.
author - - Author! - Product review author.
title - - String! - Product review title.
text - - String! - Product review text.
rating - - Int! - Product review rating.
createdAt - - DateTimeExtended! - Product review creation date.
-
-
-
-
-
Example
- - -
{
-  "entityId": Long,
-  "author": Author,
-  "title": "abc123",
-  "text": "abc123",
-  "rating": 987,
-  "createdAt": DateTimeExtended
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ReviewConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [ReviewEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [ReviewEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

ReviewEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Review! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Review, "cursor": "xyz789"}
-
- -
-
-
-
-
-
- Types -
-

- -

Reviews

-

-
-
-
-

Review Rating Summary

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
averageRating - - Float! - Average rating of the product. - Alpha version. Do not use in production. -
numberOfReviews - - Int! - Total number of reviews on product.
summationOfRatings - - Int! - Summation of rating scores from each review.
-
-
-
-
-
Example
- - -
{"averageRating": 987.65, "numberOfReviews": 123, "summationOfRatings": 987}
-
- -
-
-
-
-
-
- Types -
-

- -

Route

-

-
-
-
-

route

-
-
- - - - - -
Field NameDescription
-
-
-
-
-
Example
- - -
{}
-
- -
-
-
-
- -
-
- Types -
-

- -

SearchProducts

-

-
-
-
- - - - - - - - - - - - -
Field NameDescription
products - - ProductConnection! - Details of the products.
-
-

Arguments

-
-

after - - String -

-
-
-

first - - Int -

-
-
-
-
-
-
-
-
Example
- - -
{"products": ProductConnection}
-
- -
-
-
-
-
-
- Types -
-

- -

SearchProductsFiltersInput

-

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Input FieldDescription
searchTerm - - String -
price - - PriceSearchFilterInput -
rating - - RatingSearchFilterInput -
categoryEntityId - - Int -
categoryEntityIds - - [Int!] -
brandEntityIds - - [Int!] -
productAttributes - - [ProductAttributeSearchFilterInput!] -
isFreeShipping - - Boolean -
isFeatured - - Boolean -
isInStock - - Boolean -
-
-
-
-
-
Example
- - -
{
-  "searchTerm": "abc123",
-  "price": PriceSearchFilterInput,
-  "rating": RatingSearchFilterInput,
-  "categoryEntityId": 123,
-  "categoryEntityIds": [987],
-  "brandEntityIds": [987],
-  "productAttributes": [
-    ProductAttributeSearchFilterInput
-  ],
-  "isFreeShipping": true,
-  "isFeatured": true,
-  "isInStock": false
-}
-
- -
-
-
-
-
-
- Types -
-

- -

SearchProductsSortInput

-

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

FEATURED

-
-

NEWEST

-
-

BEST_SELLING

-
-

BEST_REVIEWED

-
-

A_TO_Z

-
-

Z_TO_A

-
-

LOWEST_PRICE

-
-

HIGHEST_PRICE

-
-
-
-
-
-
-
- Types -
-

- -

SearchQueries

-

-
-
-
- - - - - - - - - - - - -
Field NameDescription
searchProducts - - SearchProducts! - Details of the products and facets matching given search criteria.
-
-

Arguments

-
-

filters - - SearchProductsFiltersInput! -

-
-
-

sort - - SearchProductsSortInput -

-
-
-
-
-
-
-
-
Example
- - -
{"searchProducts": SearchProducts}
-
- -
-
-
-
-
-
- Types -
-

- -

SeoDetails

-

-
-
-
-

Seo Details

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
pageTitle - - String! - Page title.
metaDescription - - String! - Meta description.
metaKeywords - - String! - Meta keywords.
-
-
-
-
-
Example
- - -
{"pageTitle": "xyz789", "metaDescription": "abc123", "metaKeywords": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

Settings

-

-
-
-
-

Store settings information from the control panel.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
storeName - - String! - The name of the store.
storeHash - - String! - The hash of the store.
status - - StorefrontStatusType! - The current store status.
logo - - LogoField! - Logo information for the store.
contact - - ContactField - Contact information for the store.
url - - UrlField! - Store urls.
display - - DisplayField! - Store display format information.
channelId - - Long! - Channel ID.
tax - - TaxDisplaySettings -
search - - Search! - Store search settings.
-
-
-
-
-
Example
- - -
{
-  "storeName": "abc123",
-  "storeHash": "xyz789",
-  "status": StorefrontStatusType,
-  "logo": LogoField,
-  "contact": ContactField,
-  "url": UrlField,
-  "display": DisplayField,
-  "channelId": Long,
-  "tax": TaxDisplaySettings,
-  "search": Search
-}
-
- -
-
-
-
-
-
- Types -
-

- -

Site

-

-
-
-
-

A site

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
search - - SearchQueries! - The Search queries. - Alpha version. Do not use in production. -
categoryTree - - [CategoryTreeItem!]! -
-
-

Arguments

-
-

rootEntityId - - Int -

-
-
-
brands - - BrandConnection! - Details of the brand.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

productEntityIds - - [Int!] default = []

-
-
-
products - - ProductConnection! - Details of the products.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

ids - - [ID!] default = []

-
-
-

entityIds - - [Int!] default = []

-
-
-

hideOutOfStock - - Boolean -

-
-
-
newestProducts - - ProductConnection! - Details of the newest products.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

hideOutOfStock - - Boolean -

-
-
-
bestSellingProducts - - ProductConnection! - Details of the best selling products.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

hideOutOfStock - - Boolean -

-
-
-
featuredProducts - - ProductConnection! - Details of the featured products.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-

hideOutOfStock - - Boolean -

-
-
-
product - - Product - A single product object with variant pricing overlay capabilities.
-
-

Arguments

-
-

id - - ID -

-
-
-

entityId - - Int -

-
-
-

variantEntityId - - Int -

-
-
-

optionValueIds - - [OptionValueId!] default = []

-
-
-

sku - - String -

-
-
-
route - - Route! - Route for a node
-
-

Arguments

-
-

path - - String! -

-
-
-
settings - - Settings - Store settings.
content - - Content! -
currency - - Currency - Currency details.
-
-

Arguments

-
-

currencyCode - - currencyCode! -

-

-

Currency Code

-

-
-
-
currencies - - CurrencyConnection! - Store Currencies.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
-
-
-
-
-
Example
- - -
{
-  "search": SearchQueries,
-  "categoryTree": [CategoryTreeItem],
-  "brands": BrandConnection,
-  "products": ProductConnection,
-  "newestProducts": ProductConnection,
-  "bestSellingProducts": ProductConnection,
-  "featuredProducts": ProductConnection,
-  "product": Product,
-  "route": Route,
-  "settings": Settings,
-  "content": Content,
-  "currency": Currency,
-  "currencies": CurrencyConnection
-}
-
- -
-
-
-
-
-
- Types -
-

- -

StorefrontStatusType

-

-
-
-
-

Storefront Mode

-
-
- - - - - - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

LAUNCHED

-
-

MAINTENANCE

-
-

PRE_LAUNCH

-
-

HIBERNATION

-
-
-
-
-
-
-
- Types -
-

- -

String

-

-
-
-
-

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

-
-
-
-
-
-
- Types -
-

- -

SwatchOptionValue

-

-
-
-
-

A swatch option value - swatch values can be associated with a list of hexidecimal colors or an image.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
hexColors - - [String!]! - List of up to 3 hex encoded colors to associate with a swatch value.
imageUrl - - String - Absolute path of a swatch texture image.
-
-

Arguments

-
-

width - - Int! -

-
-
-

height - - Int -

-
-
-
entityId - - Int! - Unique ID for the option value.
label - - String! - Label for the option value.
isDefault - - Boolean! - Indicates whether this value is the chosen default selected value.
-
-
-
-
-
Example
- - -
{
-  "hexColors": ["xyz789"],
-  "imageUrl": "xyz789",
-  "entityId": 987,
-  "label": "abc123",
-  "isDefault": false
-}
-
- -
-
-
-
-
-
- Types -
-

- -

TaxDisplaySettings

-

-
-
-
- - - - - - - - - - - - - -
Field NameDescription
pdp - - TaxPriceDisplay! - Tax display setting for Product Details Page.
plp - - TaxPriceDisplay! - Tax display setting for Product List Page.
-
-
-
-
-
Example
- - -
{
-  "pdp": TaxPriceDisplay,
-  "plp": TaxPriceDisplay
-}
-
- -
-
-
-
-
-
- Types -
-

- -

TaxPriceDisplay

-

-
-
-
-

Tax setting can be set included or excluded (Tax setting can also be set to both on PDP/PLP).

-
-
- - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

INC

-
-

EX

-
-

BOTH

-
-
-
-
-
-
-
- Types -
-

- -

TextFieldOption

-

-
-
-
-

A single line text input field.

-
-
- - - - - - - - - - - - - - - - - -
Field NameDescription
entityId - - Int! - Unique ID for the option.
displayName - - String! - Display name for the option.
isRequired - - Boolean! - One of the option values is required to be selected for the checkout.
-
-
-
-
-
Example
- - -
{"entityId": 123, "displayName": "xyz789", "isRequired": false}
-
- -
-
-
-
-
-
- Types -
-

- -

UrlField

-

-
-
-
-

Url field

-
-
- - - - - - - - - - - - - -
Field NameDescription
vanityUrl - - String! - Store url.
cdnUrl - - String! - CDN url to fetch assets.
-
-
-
-
-
Example
- - -
{"vanityUrl": "abc123", "cdnUrl": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

Variant

-

-
-
-
-

Variant

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field NameDescription
id - - ID! - The ID of an object
entityId - - Int! - Id of the variant.
sku - - String! - Sku of the variant.
weight - - Measurement - The variant's weight. If a weight was not explicitly specified on the variant, this will be the product's weight.
height - - Measurement - The variant's height. If a height was not explicitly specified on the variant, this will be the product's height.
width - - Measurement - The variant's width. If a width was not explicitly specified on the variant, this will be the product's width.
depth - - Measurement - The variant's depth. If a depth was not explicitly specified on the variant, this will be the product's depth.
options - - OptionConnection! - The options which define a variant.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
productOptions - - ProductOptionConnection! - Product options that compose this variant.
-
-

Arguments

-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
defaultImage - - Image - Default image for a variant.
prices - - Prices - Variant prices
-
-

Arguments

-
-

includeTax - - Boolean default = false

-
-
-

currencyCode - - currencyCode -

-

-

Please select a currency

-

-
-
-
inventory - - VariantInventory - Variant inventory
metafields - - MetafieldConnection! - Metafield data related to a variant.
-
-

Arguments

-
-

namespace - - String! -

-
-
-

keys - - [String!] default = []

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
upc - - String - Universal product code.
mpn - - String - Manufacturer part number.
gtin - - String - Global trade item number.
-
-
-
-
-
Example
- - -
{
-  "id": ID,
-  "entityId": 987,
-  "sku": "xyz789",
-  "weight": Measurement,
-  "height": Measurement,
-  "width": Measurement,
-  "depth": Measurement,
-  "options": OptionConnection,
-  "productOptions": ProductOptionConnection,
-  "defaultImage": Image,
-  "prices": Prices,
-  "inventory": VariantInventory,
-  "metafields": MetafieldConnection,
-  "upc": "abc123",
-  "mpn": "xyz789",
-  "gtin": "xyz789"
-}
-
- -
-
-
-
-
-
- Types -
-

- -

VariantConnection

-

-
-
-
-

A connection to a list of items.

-
-
- - - - - - - - - - - - - -
Field NameDescription
pageInfo - - PageInfo! - Information to aid in pagination.
edges - - [VariantEdge] - A list of edges.
-
-
-
-
-
Example
- - -
{
-  "pageInfo": PageInfo,
-  "edges": [VariantEdge]
-}
-
- -
-
-
-
-
-
- Types -
-

- -

VariantEdge

-

-
-
-
-

An edge in a connection.

-
-
- - - - - - - - - - - - - -
Field NameDescription
node - - Variant! - The item at the end of the edge.
cursor - - String! - A cursor for use in pagination.
-
-
-
-
-
Example
- - -
{"node": Variant, "cursor": "abc123"}
-
- -
-
-
-
-
-
- Types -
-

- -

VariantInventory

-

-
-
-
-

Variant Inventory

-
-
- - - - - - - - - - - - - - - - - - - - -
Field NameDescription
aggregated - - Aggregated - Aggregated product variant inventory information. This data may not be available if not set or if the store's Inventory Settings have disabled displaying stock levels on the storefront.
isInStock - - Boolean! - Indicates whether this product is in stock.
byLocation - - LocationConnection - Inventory by locations.
-
-

Arguments

-
-

locationEntityIds - - [Int!] default = []

-
-
-

locationEntityCodes - - [String!] default = []

-
-
-

locationEntityTypeIds - - [String!] default = []

-
-
-

locationEntityServiceTypeIds - - [String!] default = []

-
-
-

distanceFilter - - DistanceFilter -

-
-
-

before - - String -

-
-
-

after - - String -

-
-
-

first - - Int -

-
-
-

last - - Int -

-
-
-
-
-
-
-
-
Example
- - -
{
-  "aggregated": Aggregated,
-  "isInStock": false,
-  "byLocation": LocationConnection
-}
-
- -
-
-
-
-
-
- Types -
-

- -

countryCode

-

-
-
-
-

Country Code

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

AW

-
-

AF

-
-

AO

-
-

AI

-
-

AX

-
-

AL

-
-

AD

-
-

AE

-
-

AR

-
-

AM

-
-

AS

-
-

AQ

-
-

TF

-
-

AG

-
-

AU

-
-

AT

-
-

AZ

-
-

BI

-
-

BE

-
-

BJ

-
-

BQ

-
-

BF

-
-

BD

-
-

BG

-
-

BH

-
-

BS

-
-

BA

-
-

BL

-
-

BY

-
-

BZ

-
-

BM

-
-

BO

-
-

BR

-
-

BB

-
-

BN

-
-

BT

-
-

BV

-
-

BW

-
-

CF

-
-

CA

-
-

CC

-
-

CH

-
-

CL

-
-

CN

-
-

CI

-
-

CM

-
-

CD

-
-

CG

-
-

CK

-
-

CO

-
-

KM

-
-

CV

-
-

CR

-
-

CU

-
-

CW

-
-

CX

-
-

KY

-
-

CY

-
-

CZ

-
-

DE

-
-

DJ

-
-

DM

-
-

DK

-
-

DO

-
-

DZ

-
-

EC

-
-

EG

-
-

ER

-
-

EH

-
-

ES

-
-

EE

-
-

ET

-
-

FI

-
-

FJ

-
-

FK

-
-

FR

-
-

FO

-
-

FM

-
-

GA

-
-

GB

-
-

GE

-
-

GG

-
-

GH

-
-

GI

-
-

GN

-
-

GP

-
-

GM

-
-

GW

-
-

GQ

-
-

GR

-
-

GD

-
-

GL

-
-

GT

-
-

GF

-
-

GU

-
-

GY

-
-

HK

-
-

HM

-
-

HN

-
-

HR

-
-

HT

-
-

HU

-
-

ID

-
-

IM

-
-

IN

-
-

IO

-
-

IE

-
-

IR

-
-

IQ

-
-

IS

-
-

IL

-
-

IT

-
-

JM

-
-

JE

-
-

JO

-
-

JP

-
-

KZ

-
-

KE

-
-

KG

-
-

KH

-
-

KI

-
-

KN

-
-

KR

-
-

KW

-
-

LA

-
-

LB

-
-

LR

-
-

LY

-
-

LC

-
-

LI

-
-

LK

-
-

LS

-
-

LT

-
-

LU

-
-

LV

-
-

MO

-
-

MF

-
-

MA

-
-

MC

-
-

MD

-
-

MG

-
-

MV

-
-

MX

-
-

MH

-
-

MK

-
-

ML

-
-

MT

-
-

MM

-
-

ME

-
-

MN

-
-

MP

-
-

MZ

-
-

MR

-
-

MS

-
-

MQ

-
-

MU

-
-

MW

-
-

MY

-
-

YT

-
-

NA

-
-

NC

-
-

NE

-
-

NF

-
-

NG

-
-

NI

-
-

NU

-
-

NL

-
-

NO

-
-

NP

-
-

NR

-
-

NZ

-
-

OM

-
-

PK

-
-

PA

-
-

PN

-
-

PE

-
-

PH

-
-

PW

-
-

PG

-
-

PL

-
-

PR

-
-

KP

-
-

PT

-
-

PY

-
-

PS

-
-

PF

-
-

QA

-
-

RE

-
-

RO

-
-

RU

-
-

RW

-
-

SA

-
-

SD

-
-

SN

-
-

SG

-
-

GS

-
-

SH

-
-

SJ

-
-

SB

-
-

SL

-
-

SV

-
-

SM

-
-

SO

-
-

PM

-
-

RS

-
-

SS

-
-

ST

-
-

SR

-
-

SK

-
-

SI

-
-

SE

-
-

SZ

-
-

SX

-
-

SC

-
-

SY

-
-

TC

-
-

TD

-
-

TG

-
-

TH

-
-

TJ

-
-

TK

-
-

TM

-
-

TL

-
-

TO

-
-

TT

-
-

TN

-
-

TR

-
-

TV

-
-

TW

-
-

TZ

-
-

UG

-
-

UA

-
-

UM

-
-

UY

-
-

US

-
-

UZ

-
-

VA

-
-

VC

-
-

VE

-
-

VG

-
-

VI

-
-

VN

-
-

VU

-
-

WF

-
-

WS

-
-

YE

-
-

ZA

-
-

ZM

-
-

ZW

-
-
-
-
-
-
-
- Types -
-

- -

currencyCode

-

-
-
-
-

Currency Code

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enum ValueDescription
-

ADP

-
-

AED

-
-

AFA

-
-

AFN

-
-

ALK

-
-

ALL

-
-

AMD

-
-

ANG

-
-

AOA

-
-

AOK

-
-

AON

-
-

AOR

-
-

ARA

-
-

ARL

-
-

ARM

-
-

ARP

-
-

ARS

-
-

ATS

-
-

AUD

-
-

AWG

-
-

AZM

-
-

AZN

-
-

BAD

-
-

BAM

-
-

BAN

-
-

BBD

-
-

BDT

-
-

BEC

-
-

BEF

-
-

BEL

-
-

BGL

-
-

BGM

-
-

BGN

-
-

BGO

-
-

BHD

-
-

BIF

-
-

BMD

-
-

BND

-
-

BOB

-
-

BOL

-
-

BOP

-
-

BOV

-
-

BRB

-
-

BRC

-
-

BRE

-
-

BRL

-
-

BRN

-
-

BRR

-
-

BRZ

-
-

BSD

-
-

BTN

-
-

BUK

-
-

BWP

-
-

BYB

-
-

BYN

-
-

BYR

-
-

BZD

-
-

CAD

-
-

CDF

-
-

CHE

-
-

CHF

-
-

CHW

-
-

CLE

-
-

CLF

-
-

CLP

-
-

CNX

-
-

CNY

-
-

COP

-
-

COU

-
-

CRC

-
-

CSD

-
-

CSK

-
-

CUC

-
-

CUP

-
-

CVE

-
-

CYP

-
-

CZK

-
-

DDM

-
-

DEM

-
-

DJF

-
-

DKK

-
-

DOP

-
-

DZD

-
-

ECS

-
-

ECV

-
-

EEK

-
-

EGP

-
-

ERN

-
-

ESA

-
-

ESB

-
-

ESP

-
-

ETB

-
-

EUR

-
-

FIM

-
-

FJD

-
-

FKP

-
-

FRF

-
-

GBP

-
-

GEK

-
-

GEL

-
-

GHC

-
-

GHS

-
-

GIP

-
-

GMD

-
-

GNF

-
-

GNS

-
-

GQE

-
-

GRD

-
-

GTQ

-
-

GWE

-
-

GWP

-
-

GYD

-
-

HKD

-
-

HNL

-
-

HRD

-
-

HRK

-
-

HTG

-
-

HUF

-
-

IDR

-
-

IEP

-
-

ILP

-
-

ILR

-
-

ILS

-
-

INR

-
-

IQD

-
-

ISJ

-
-

IRR

-
-

ISK

-
-

ITL

-
-

JMD

-
-

JOD

-
-

JPY

-
-

KES

-
-

KGS

-
-

KHR

-
-

KMF

-
-

KPW

-
-

KRH

-
-

KRO

-
-

KRW

-
-

KWD

-
-

KYD

-
-

KZT

-
-

LAK

-
-

LBP

-
-

LKR

-
-

LRD

-
-

LSL

-
-

LTL

-
-

LTT

-
-

LUC

-
-

LUF

-
-

LUL

-
-

LVL

-
-

LVR

-
-

LYD

-
-

MAD

-
-

MAF

-
-

MCF

-
-

MDC

-
-

MDL

-
-

MGA

-
-

MGF

-
-

MKD

-
-

MKN

-
-

MLF

-
-

MMK

-
-

MNT

-
-

MOP

-
-

MRO

-
-

MTL

-
-

MTP

-
-

MUR

-
-

MVP

-
-

MVR

-
-

MWK

-
-

MXN

-
-

MXP

-
-

MXV

-
-

MYR

-
-

MZE

-
-

MZM

-
-

MZN

-
-

NAD

-
-

NGN

-
-

NIC

-
-

NIO

-
-

NLG

-
-

NOK

-
-

NPR

-
-

NZD

-
-

OMR

-
-

PAB

-
-

PEI

-
-

PEN

-
-

PES

-
-

PGK

-
-

PHP

-
-

PKR

-
-

PLN

-
-

PLZ

-
-

PTE

-
-

PYG

-
-

QAR

-
-

RHD

-
-

ROL

-
-

RON

-
-

RSD

-
-

RUB

-
-

RUR

-
-

RWF

-
-

SAR

-
-

SBD

-
-

SCR

-
-

SDD

-
-

SDG

-
-

SDP

-
-

SEK

-
-

SGD

-
-

SHP

-
-

SIT

-
-

SKK

-
-

SLL

-
-

SOS

-
-

SRD

-
-

SRG

-
-

SSP

-
-

STD

-
-

SUR

-
-

SVC

-
-

SYP

-
-

SZL

-
-

THB

-
-

TJR

-
-

TJS

-
-

TMM

-
-

TMT

-
-

TND

-
-

TOP

-
-

TPE

-
-

TRL

-
-

TRY

-
-

TTD

-
-

TWD

-
-

TZS

-
-

UAH

-
-

UAK

-
-

UGS

-
-

UGX

-
-

USD

-
-

USN

-
-

USS

-
-

UYI

-
-

UYP

-
-

UYU

-
-

UZS

-
-

VEB

-
-

VEF

-
-

VND

-
-

VNN

-
-

VUV

-
-

WST

-
-

XAF

-
-

XCD

-
-

XEU

-
-

XFO

-
-

XFU

-
-

XOF

-
-

XPF

-
-

XRE

-
-

YDD

-
-

YER

-
-

YUD

-
-

YUM

-
-

YUN

-
-

YUR

-
-

ZAL

-
-

ZAR

-
-

ZMK

-
-

ZMW

-
-

ZRN

-
-

ZRZ

-
-

ZWD

-
-

ZWL

-
-

ZWR

-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/available-apis.mdx b/docs/available-apis.mdx deleted file mode 100644 index def1794ee..000000000 --- a/docs/available-apis.mdx +++ /dev/null @@ -1,64 +0,0 @@ -# Available APIs - -## Storefront APIs - -### REST - -Manage a shopper's cart and checkout and fetch order data via client-side JavaScript on BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil) powered storefronts. - -[Learn more about storefront APIs](/api-docs/storefront/overview). - -### GraphQL - -Use GraphQL to query data for headless storefronts and BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil) powered storefronts. - -[Learn more about the GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) - -### Add to cart URLs - -Append query string parameters to product and `/cart.php` URLs to pre-select a SKU or add a product to cart. Use these parameters to build custom add to cart links and forms on BigCommerce hosted storefronts and remote sites (such as WordPress, blog posts, and social media). - -[Learn more about add to cart URLs](/api-docs/cart-and-checkout/add-to-cart-url). - -### Current Customer - -Identify logged-in customers securely via JavaScript. - -[Learn more about the current customer API](/api-docs/customers/current-customer-api). - -### Customer Login SSO - -Enable single sign-on for shoppers on BigCommerce hosted storefronts. - -[Learn more about the customer login API](/api-docs/customers/customer-login-api). - -## Management APIs - -### V2 REST API - -Mananage store resources from server-side code. - -Some **V2** resources are not yet exposed in the **V3 API**; however, for resources that are accessible via both APIs, the **V3 API** is recommended; it contains performance optimizations and [other improvements](#v3-rest-api). - -### V3 REST API - -Mananage store resources from server-side code. - -Interactions with the **V3** API are very similar to that of the **V2** API; however, the **V3** API introduces a number of improvements: -* Most tasks can be performed with fewer API calls (for example, a product with variants and custom fields can be created in a single request) -* Each **V3** resource includes a `meta` object, simplifying pagination -* **V3** Brands, Categories, Products, and Product Variants expose a [metafields](/docs/rest-catalog/products/metafields#create-a-product-metafield) resource for use by developers to store custom data. -* **V3** API is optimized for performance (in general, data can be sent, received, and processed faster via **V3**, relative to **V2**). - -[Learn more about the V3 API](/api-docs/getting-started/about-our-api). - -## Provider APIs - -Implement endpoints consumed by BigCommerce for custom integrations (ex: custom shipping carrier rates via `/rates`). - -[Learn more about the Shipping Provider API](/api-docs/store-management/shipping/shipping-provider-api). - -## Resources - -- [Deprecations and Sunsets](/api-docs/getting-started/deprecations-and-sunsets) -- [Difference between V2 and V3 Catalog REST APIs](/api-docs/store-management/catalog/v2-vs-v3) diff --git a/docs/customer-login-sso.mdx b/docs/customer-login-sso.mdx deleted file mode 100644 index 9cad1bf37..000000000 --- a/docs/customer-login-sso.mdx +++ /dev/null @@ -1,137 +0,0 @@ -# Customer Login SSO - -* **Host**: `{store_domain}/graphql` -* **Protocols**:`https` -* **Accepts**: `application/json` -* **Responds With**: `application/json` - - -Download Spec: [customer_login.json](#) -{/* https://bigcommerce.stoplight.io/api/v1/projects/bigcommerce/api-reference/nodes/reference/customer_login.yml?branch=master&deref=all&format=json */} - -Create a login URL for customer single sign-on. - -## Authentication - -To log in a customer using the Customer Login API, redirect the customer's browser to the following access point URL: - -```http copy - https://yourstore.example.com/login/token/{{TOKEN}} -``` - - -The `{{TOKEN}}` parameter is the `JWT` containing the payload data signed by your app's OAuth client secret. - -We recommend writing a script to generate a login token since the `JWT iat` (issued at) claim is only valid for 30 seconds. BigCommerce supplies helper methods for generating login tokens in our [API Client Libraries](/tools-resources). - - -### OAuth scopes - -| UI Name | Permission | Parameter | -|----|----|----| -| Customers | read-only | `store_v2_customers_read_only` | -| Customers | login | `store_v2_customers_login` | - - - -### JWT Header - -```json copy - { - "alg": "HS256", - "typ": "JWT" - } -``` - - -### JWT Payload - // example, schema - -### JWT Signature - -To create the signature, sign the encoded header, the encoded payload, and client_secret using the `HMAC SHA256` algorithm. - -```js copy - HMACSHA256( - base64UrlEncode(header) + "." + - base64UrlEncode(payload), - {{CLIENT_SECRET}} - ) -``` - - -## Node.js example - -Create `urlGenerator.js` node app and install dependencies. - -```shell copy - mkdir urlGenerator -``` - -```shell copy - cd urlGenerator -``` - -```shell copy - touch urlGenerator.js -``` - -```shell copy - npm init -``` - -```shell copy - npm install jsonwebtoken uuid -``` - -Paste the following into `urlGenerator/urlGenerator.js`. - -```js copy - const jwt = require('jsonwebtoken'); - const {v4: uuidv4} = require('uuid'); - - const clientId = "{{CLIENT_ID}}"; - const clientSecret = "{{CLIENT_SECRET}}"; - const customerId = "{{CUSTOMER_ID}}"; - const storeHash = "{{STORE_HASH}}"; - const storeUrl = "{{STORE_URL_ORIGIN}}"; - - function getLoginUrl(customerId, storeHash, storeUrl, clientId, clientSecret) { - const dateCreated = Math. round((new Date()). getTime() / 1000); - const payload = { - "iss": clientId, - "iat": dateCreated, - "jti": uuidv4(), - "operation": "customer_login", - "store_hash": storeHash, - "customer_id": customerId, - } - let token = jwt.sign(payload, clientSecret, {algorithm:'HS256'}); - return `${storeUrl}/login/token/${token}`; - }; - - const loginUrl = getLoginUrl(customerId, storeHash, storeUrl, clientId, clientSecret); - - console.log(loginUrl); -``` - - -Replace `{{CLIENT_ID}}` and other variables with your credentials, then run the app. - -```shell copy - node urlGenerator.js -``` - -You should receive a complete access point URL as an output. - - - You are required to include the `channel_id` when using the login JWTs to redirect to an embedded checkout. Default value = 1. For more information, see the [Embedded Checkout Overview](/api-docs/storefronts/embedded-checkout/embedded-checkout-overview). - - - -## Resources - -* [Customer Login SSO Generator with Ruby](https://github.com/jordanarldt/ruby-bc-customer-sso-generator/) -* [Customer Login API](/api-docs/customers/customer-login-api) -* [PHP Example](https://github.com/bigcommerce/bigcommerce-api-php/blob/master/src/Bigcommerce/Api/Client.php#L421) -* [Python Example](https://github.com/bigcommerce/bigcommerce-api-python/blob/master/bigcommerce/customer_login_token.py) diff --git a/docs/docs.mdx b/docs/docs.mdx new file mode 100644 index 000000000..79501d767 --- /dev/null +++ b/docs/docs.mdx @@ -0,0 +1,3 @@ +# Documentation in Markdown + +When there are docs in this repo written in Markdown or MDX, this is where they live. diff --git a/docs/storefront-graphql.mdx b/docs/storefront-graphql.mdx deleted file mode 100644 index 6ae0e3396..000000000 --- a/docs/storefront-graphql.mdx +++ /dev/null @@ -1,130 +0,0 @@ -# GraphQL Storefront API - -Use GraphQL to query data for headless storefronts and BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil)-powered storefronts. - -## GraphQL Playground - -To access the GraphQL Storefront API Playground and documentation, [log in to your store](https://login.bigcommerce.com/deep-links/manage) and navigate to **Advanced Settings** **>** **Storefront API Playground**. - -If you don't yet have a store and would like to experiment making queries against a staging site, [visit the Dev Center's GraphQL Playground directly](/graphql-playground). - - -## GraphQL Explorer - -To explore Storefront nodes in an interactive graph, check out the [GraphQL Explorer](/graphql-explorer). - -## Authentication - - - -### Request tokens with REST API - -Create JWT tokens for authenticating cross-origin requests by making a `POST` request to the [Create a token](/docs/storefront-auth/tokens#create-a-token) endpoint. - -```http filename="Example request: Create a token" showLineNumbers copy -POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/api-token -X-Auth-Token: {{ACCESS_TOKEN}} -Content-Type: application/json -Accept: application/json - -{ - "channel_id": 1, - "expires_at": 1602288000, - "allowed_cors_origins": [ - "https://example.com" - ] -} -``` -  -```json filename="Example response: Create a token" showLineNumbers copy -{ - "data": { - "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" - }, - "meta": {} -} -``` - -You can complete the GraphQL query call with any HTTP library. Use the `data.token` value from the preceding response as the `{{JWT}}` value in the `Authorization: Bearer {{JWT}}` header. - -```http filename="Example GraphQL query" showLineNumbers copy -POST /graphql -Authorization: Bearer {{JWT}} -Content-Type: application/json - -{ - "query": "{ site { ... } }" //graphql query string -} -``` - - -### Access tokens using Stencil objects - -Client scripts on BigCommerce [Stencil](/stencil-docs/getting-started/about-stencil)-powered storefronts can access a token with the `{{settings.storefront_api.token}}` Handlebars object. - -```handlebars filename="Example GraphQL query script with Stencil token" showLineNumbers copy - -``` - -### Customer impersonation tokens - -It's also possible to generate tokens for use in server-to-server interactions with a trusted consumer. Make a `POST` request to the [Create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) endpoint. - -```http filename="Example request: Create a customer impersonation token" showLineNumbers copy -POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/api-token-customer-impersonation -X-Auth-Token: {{ACCESS_TOKEN}} -Content-Type: application/json -Accept: application/json - -{ - "channel_id": 1, - "expires_at": 1602288000 -} - -``` -  -```json filename="Example response: Create a customer impersonation token" showLineNumbers copy -{ - "data": { - "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" - }, - "meta": {} -} -``` - - -## Logging in a customer - -If you're using the Storefront API from a browser (for example, on top of your Stencil storefront) you can use the Customer Login mutation to log in a customer account with an email address and password (for server-side integrations, consider a customer impersonation token instead). This will set a session cookie in the browser which will authenticate the customer account on future requests: - -```graphql filename="Customer login mutation" showLineNumbers copy -mutation Login($email: String!, $pass: String!) { - login(email: $email, password: $pass) { - result - } -} -``` - -As a best practice, you should inject the password using GraphQL query variables. This prevents the password from being exposed in the query itself. In the [GraphQL Playground](/graphql-playground), you can set the variables for the request. [Learn more about GraphQL Storefront API Authentication](/api-docs/storefront/graphql/graphql-storefront-api-overview#authentication). - -## Error messages - -For a list of GraphQL error messages, see [API Status Codes](/api-docs/getting-started/api-status-codes#graphql-api-http-status-codes). - -## Resources - -* [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview) -* [GraphQL Playground](/graphql-playground) -* [GraphQL Explorer](/graphql-explorer) diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml index 230140397..9692ee67f 100644 --- a/reference/catalog.v3.yml +++ b/reference/catalog.v3.yml @@ -19736,8 +19736,6 @@ components: description: |- The adjustment amount. Depending on the rule `type`, may represent a fixed dollar amount or a percentage. example: 10 - x-stoplight: - id: 386de544af45e productOptionConfig_Full: title: productOptionConfig_Full type: object diff --git a/reference/customers.sf.yml b/reference/customers.sf.yml index f27d2ec65..8b47caca4 100644 --- a/reference/customers.sf.yml +++ b/reference/customers.sf.yml @@ -96,8 +96,4 @@ components: - type: number - type: array items: - type: string -x-stoplight: - docs: - includeDownloadLink: false - showModels: false + type: string \ No newline at end of file diff --git a/reference/tax_rates_zones.v3.yml b/reference/tax_rates_zones.v3.yml index 8e1e521a4..dbd18f6c0 100644 --- a/reference/tax_rates_zones.v3.yml +++ b/reference/tax_rates_zones.v3.yml @@ -125,9 +125,9 @@ paths: description: |- Create one or more tax zones. - - **Note:** - You can't create a default tax zone. + > #### Note + > You cannot create a default tax zone. + operationId: create-tax-zones requestBody: $ref: '#/components/requestBodies/Tax_ZoneArrayPOST' diff --git a/toc.json b/toc.json deleted file mode 100644 index 65e4fd0ce..000000000 --- a/toc.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "items": [ - { - "type": "divider", - "title": "Storefront APIs" - }, - { - "type": "item", - "title": "Carts", - "uri": "reference/carts.sf.yml" - }, - { - "type": "item", - "title": "Checkouts", - "uri": "reference/checkouts.sf.yml" - }, - { - "type": "item", - "title": "Cookie Consent", - "uri": "reference/consent.sf.yml" - }, - { - "type": "item", - "title": "Current Customers", - "uri": "reference/current_customer.yml" - }, - { - "type": "item", - "title": "Customers", - "uri": "reference/customers.sf.yml" - }, - { - "type": "item", - "title": "Customer Login SSO", - "uri": "docs/customer-login-sso.md" - }, - { - "type": "item", - "title": "Customer Login", - "uri": "reference/customer_login.yml" - }, - { - "type": "item", - "title": "Form Fields", - "uri": "reference/form_fields.sf.yml" - }, - { - "type": "item", - "title": "Email Subscriptions", - "uri": "reference/subscriptions.sf.yml" - }, - { - "type": "item", - "title": "Orders", - "uri": "reference/orders.sf.yml" - }, - { - "type": "divider", - "title": "GraphQL" - }, - { - "type": "item", - "title": "GraphQL Storefront API", - "uri": "docs/storefront-graphql.md" - }, - { - "type": "item", - "title": "GraphQL Storefront API Reference", - "uri": "https://developer.bigcommerce.com/graphql-api-reference" - }, - { - "type": "divider", - "title": "Management APIs" - }, - { - "type": "item", - "title": "Abandoned Carts", - "uri": "reference/abandoned_carts.v3.yml" - }, - { - "type": "item", - "title": "Abandoned Cart Emails (Beta)", - "uri": "reference/abandoned_cart_emails.v3.yaml" - }, - { - "type": "item", - "title": "Carts", - "uri": "reference/carts.v3.yml" - }, - { - "type": "item", - "title": "Catalog", - "uri": "reference/catalog.v3.yml" - }, - { - "type": "item", - "title": "Channels", - "uri": "reference/channels.v3.yml" - }, - { - "type": "item", - "title": "Checkouts", - "uri": "reference/checkouts.v3.yml" - }, - { - "type": "item", - "title": "Currencies", - "uri": "reference/currencies.v2.yml" - }, - { - "type": "item", - "title": "Customers v2", - "uri": "reference/customers.v2.yml" - }, - { - "type": "item", - "title": "Customers v3", - "uri": "reference/customers.v3.yml" - }, - { - "type": "item", - "title": "Custom Template Associations", - "uri": "reference/custom-template-associations.v3.yml" - }, - { - "type": "item", - "title": "Email Templates", - "uri": "reference/email_templates.v3.yml" - }, - { - "type": "item", - "title": "Geography", - "uri": "reference/geography.v2.yml" - }, - { - "type": "item", - "title": "GraphQL Tokens", - "uri": "reference/storefront_tokens.v3.yml" - }, - { - "type": "item", - "title": "Marketing", - "uri": "reference/marketing.v2.yml" - }, - { - "type": "item", - "title": "Orders v2", - "uri": "reference/orders.v2.oas2.yml" - }, - { - "type": "item", - "title": "Orders v3", - "uri": "reference/orders.v3.yml" - }, - { - "type": "item", - "title": "Pages v3", - "uri": "reference/pages.v3.yml" - }, - { - "type": "item", - "title": "Payment Methods", - "uri": "reference/payment_methods.v2.yml" - }, - { - "type": "item", - "title": "Payment Processing", - "uri": "reference/payment_processing.yml" - }, - { - "type": "item", - "title": "Pricing", - "uri": "reference/pricing.sf.yml" - }, - { - "type": "item", - "title": "Price Lists", - "uri": "reference/price_lists.v3.yml" - }, - { - "type": "item", - "title": "Redirects v3", - "uri": "reference/redirects.v3.yml" - }, - { - "type": "item", - "title": "Scripts", - "uri": "reference/scripts.v3.yml" - }, - { - "type": "item", - "title": "Settings", - "uri": "reference/settings.v3.yml" - }, - { - "type": "item", - "title": "Shipping v2", - "uri": "reference/shipping.v2.yml" - }, - { - "type": "item", - "title": "Shipping v3", - "uri": "reference/shipping.v3.yml" - }, - { - "type": "item", - "title": "Sites", - "uri": "reference/sites.v3.yml" - }, - { - "type": "item", - "title": "Store Content", - "uri": "reference/store_content.v2.yml" - }, - { - "type": "item", - "title": "Store Information", - "uri": "reference/store_information.v2.yml" - }, - { - "type": "item", - "title": "Store Logs", - "uri": "reference/store_logs.v3.yml" - }, - { - "type": "item", - "title": "Subscribers", - "uri": "reference/subscribers.v3.yml" - }, - { - "type": "item", - "title": "Tax Classes", - "uri": "reference/tax_classes.v2.yml" - }, - { - "type": "item", - "title": "Tax Rates and Zones", - "uri": "reference/tax_rates_zones.v3.yml" - }, - { - "type": "item", - "title": "Tax Properties", - "href": "/api-reference/store-management/tax-properties", - "uri": "reference/tax_properties.v3.yml" - }, - { - "type": "item", - "title": "Tax Provider Connection", - "uri": "reference/tax.v3.yml" - }, - { - "type": "item", - "title": "Tax Settings", - "href": "/api-reference/store-management/tax-settings", - "uri": "reference/tax_settings.v3.yml" - }, - { - "type": "item", - "title": "Themes", - "uri": "reference/themes.v3.yml" - }, - { - "type": "item", - "title": "Webhooks", - "uri": "reference/webhooks.v3.yml" - }, - { - "type": "item", - "title": "Widgets", - "uri": "reference/widgets.v3.yml" - }, - { - "type": "item", - "title": "Wishlists", - "uri": "reference/wishlists.v3.yml" - }, - { - "type": "divider", - "title": "Provider APIs" - }, - { - "type": "item", - "title": "Shipping Provider API", - "uri": "reference/shipping_provider.yml" - }, - { - "type": "item", - "title": "Tax Provider API", - "uri": "reference/tax_provider.yml" - }, - { - "type": "divider", - "title": "Beta APIs" - }, - { - "type": "item", - "title": "Promotions API", - "uri": "https://developer.bigcommerce.com/promotions/beta/api-reference" - }, - { - "type": "item", - "title": "Customer Segmentation API", - "uri": "https://developer.bigcommerce.com/customers/beta/api-reference" - }, - { - "type": "divider", - "title": "Template Objects" - }, - { - "type": "item", - "title": "Handlebars Email Template Objects", - "uri": "models/email_templates/_all.yml" - }, - { - "type": "item", - "title": "Template Object Reference", - "uri": "https://developer.bigcommerce.com/theme-objects" - } - ] -} From 08b0a8994dd12fee98b8df0e678d1818b604f465 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 19 May 2023 15:28:28 -0500 Subject: [PATCH 178/360] DEVDOCS-4555: [revise] OrdersV2, Create an Order schema cleanup (#1325) --- reference/orders.v2.oas2.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index a95b1c4bf..a9a88099c 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -273,8 +273,28 @@ paths: schema: $ref: '#/components/schemas/order_Post' examples: + Product with Variants: + value: + status_id: 0 + customer_id: 1 + billing_address: + first_name: Jane + last_name: Doe + street_1: 123 Main Street + city: Austin + state: Texas + zip: 78751 + country: United States + country_iso2: US + email: janedoe@example.com + products: + - product_id: 118, + quantity: 1, + variant_id: 93 Custom Product: value: + status_id: 0 + customer_id: 1 billing_address: first_name: Jane last_name: Doe From 9cd79dd64fa43384c11a733dfb457e0e84681452 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 22 May 2023 08:15:32 -0500 Subject: [PATCH 179/360] DEVDOCS-4462: [update] Create a Product Metafield (#1326) --- reference/catalog/products_catalog.v3.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index ed2c1e1e9..1b2baee2f 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -5281,9 +5281,6 @@ paths: * key * value - **Read-Only Fields** - * id - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. operationId: createProductMetafield parameters: From 93ea19bdb713a008f8058dad8e2631a75f787492 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 23 May 2023 11:41:17 -0500 Subject: [PATCH 180/360] DEVDOCS-4405: [update] category-trees_catalog.v3.yml (#1327) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/catalog/category-trees_catalog.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 5006d9c81..74bca84ae 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -385,8 +385,8 @@ paths: description: | Upserts *Category Trees*. - If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. - + This single endpoint updates and creates category trees. If a tree object contains an ID, it is processed as an update operation using that ID. If you do not provide an ID, a new tree is created. The category tree `name` field is required to create trees, but is not required on the update. + **Usage Notes** * `channel_id` is required to create a *Category Tree*. You can assign one `channel_id` to one category tree. parameters: From 73395004fb6bf88fbba56055dd5c96b1626f4336 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 24 May 2023 08:42:59 -0500 Subject: [PATCH 181/360] DEVDOCS-3901: [update] clarify create a product video endpoint (#1329) --- reference/catalog/products_catalog.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 1b2baee2f..b5ab4b262 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -866,8 +866,8 @@ paths: - 250 characters product name length. **Usage Notes** - * `POST` requests to `/products` accept a `video` array. - * `POST` requests to `/products/{product_id}/videos` accept a `video` object. + * This endpoint accepts a `video` array. To create a product video that accepts a `video` object, see [Create a Product Video](/docs/rest-catalog/products/videos#create-a-product-video) for information. + operationId: createProduct parameters: - $ref: '#/components/parameters/ContentType' From 02a43399414429de1f37284140b6cd0c02418558 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 25 May 2023 11:28:51 -0500 Subject: [PATCH 182/360] DEVDOCS-4190: [update] complex-rules endpoint (#1328) --- reference/catalog/products_catalog.v3.yml | 43 ----------------------- 1 file changed, 43 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index b5ab4b262..30e4d5e42 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -3186,7 +3186,6 @@ paths: **Required Fields** - modifier_id - modifier_value_id - - modifier_value_id - variant_id **Read-Only Fields** @@ -3296,19 +3295,6 @@ paths: - variant_id type: object properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 modifier_id: type: integer description: |- @@ -3330,11 +3316,6 @@ paths: Required in /POST. nullable: true example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' description: Common ComplexRule properties. required: true responses: @@ -3768,12 +3749,6 @@ paths: title: Complex Rule type: object properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 product_id: type: integer description: | @@ -3865,19 +3840,6 @@ paths: - variant_id type: object properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 modifier_id: type: integer description: |- @@ -3899,11 +3861,6 @@ paths: Required in /POST. nullable: true example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' description: Common ComplexRule properties. required: true responses: From 7600ee94e4b5dae432f8926716a9168b9bdfbbd0 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 26 May 2023 11:31:47 -0500 Subject: [PATCH 183/360] DEVDOCS-4891: [new] Catalog API, add handling for inventory limits (#1324) Co-authored-by: Traci Porter --- .../catalog/product-variants_catalog.v3.yml | 45 ++++++++++++++++--- reference/catalog/products_catalog.v3.yml | 26 +++++++++-- 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 0c9d52a06..41d1f1349 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -1272,7 +1272,14 @@ paths: x-nullable: true inventory_level: type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + description: |- + Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`. The Catalog API returns the inventory for only the default location. + + The inventory for a variant cannot exceed 2,147,483,647 in the catalog. The sum of the variant inventories, or the total inventory for a product, cannot exceed 2,147,483,647. + + If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). x-nullable: true maximum: 2147483647 inventory_warning_level: @@ -1460,7 +1467,14 @@ paths: x-nullable: true inventory_level: type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + description: |- + Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`. The Catalog API returns the inventory for only the default location. + + The inventory for a variant cannot exceed 2,147,483,647 in the catalog. The sum of the variant inventories, or the total inventory for a product, cannot exceed 2,147,483,647. + + If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). x-nullable: true maximum: 2147483647 inventory_warning_level: @@ -1575,7 +1589,14 @@ paths: x-nullable: true inventory_level: type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + description: |- + Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`. The Catalog API returns the inventory for only the default location. + + The inventory for a variant cannot exceed 2,147,483,647 in the catalog. The sum of the variant inventories, or the total inventory for a product, cannot exceed 2,147,483,647. + + If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). x-nullable: true maximum: 2147483647 inventory_warning_level: @@ -1874,7 +1895,14 @@ components: nullable: true inventory_level: type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + description: |- + Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`. The Catalog API returns the inventory for only the default location. + + The inventory for a variant cannot exceed 2,147,483,647 in the catalog. The sum of the variant inventories, or the total inventory for a product, cannot exceed 2,147,483,647. + + If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: @@ -2061,7 +2089,14 @@ components: nullable: true inventory_level: type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + description: |- + Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`. The Catalog API returns the inventory for only the default location. + + The inventory for a variant cannot exceed 2,147,483,647 in the catalog. The sum of the variant inventories, or the total inventory for a product, cannot exceed 2,147,483,647. + + If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 30e4d5e42..5ac02c377 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -6659,7 +6659,14 @@ components: nullable: true inventory_level: type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + description: |- + Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`. The Catalog API returns the inventory for only the default location. + + The inventory for a variant cannot exceed 2,147,483,647 in the catalog. The sum of the variant inventories, or the total inventory for a product, cannot exceed 2,147,483,647. + + If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: @@ -6842,7 +6849,14 @@ components: nullable: true inventory_level: type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' + description: |- + Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`. The Catalog API returns the inventory for only the default location. + + The inventory for a variant cannot exceed 2,147,483,647 in the catalog. The sum of the variant inventories, or the total inventory for a product, cannot exceed 2,147,483,647. + + If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: @@ -8271,8 +8285,12 @@ components: maximum: 2147483647 minimum: 0 type: integer - description: | - Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. + description: |- + Current inventory level of the product. You must track inventory by _product_ for this to take effect (see the `inventory_tracking` field). The Catalog API returns the inventory for only the default location. + + The inventory for a product cannot exceed 2,147,483,647 in the catalog. If you exceed the limit, the store sets the inventory level to the limit. + + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). inventory_warning_level: maximum: 2147483647 minimum: 0 From b320baeb0bd484d818a774cb35f3a020f80a6f76 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:05:17 -0500 Subject: [PATCH 184/360] DEVDOCS-4718: [revise] Tax Provider API, wrapping field & allowed types (#1334) --- reference/tax_provider.yml | 248 +++++++++++++++++-------------------- 1 file changed, 114 insertions(+), 134 deletions(-) diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index 5e603a2ed..e676060ee 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -675,7 +675,7 @@ paths: class_id: string name: string tax_exempt: false - type: item + type: shipping handling: id: string item_code: Flat Rate @@ -690,7 +690,7 @@ paths: class_id: string name: string tax_exempt: false - type: item + type: handling items: - id: string item_code: Flat Rate @@ -720,7 +720,7 @@ paths: class_id: string name: string tax_exempt: false - type: item + type: wrapping '400': description: General response that points to an issue with the incoming request that means a valid response is unable to be returned. '401': @@ -904,7 +904,7 @@ components: properties: amount: type: number - description: 'Note: This amount will be **negative** for order-level refunds and may be **zero** for line-item refunds.' + description: 'Note: This amount will be **negative** for order-level refunds and may be **zero** for line item refunds.' format: double example: 1.5 tax_inclusive: @@ -925,94 +925,10 @@ components: description: Merchants may opt to include additional properties that a tax provider can choose to support, factoring these values into tax calculation. items: $ref: '#/components/schemas/request-item-tax-property' - type: - type: string - description: |- - The type of line item this request represents. This will depend on the item’s position in the request hierarchy. For example, the document request contains a collection of items (which may or may not also have wrapping attached). In addition, each document request also has a shipping line item and handling line item. - - The type refund is used when the tax estimate request is for an order-level refund. - enum: - - item - - wrapping - - handling - - shipping - - refund required: - id - price - quantity - - type - request-item-wrapping: - type: object - description: 'An **ItemRequestWrapping** represents required information relating to completing tax calculations for a specific line item, including the information used to calculate wrapping tax.' - title: ItemRequestWrapping - properties: - id: - type: string - description: A unique identifier for this item used to map responses back to the corresponding item on the order. - item_code: - type: string - description: 'The UPC or SKU of the item. The UPC is used when both UPC and SKU values are available on the item. Empty string if both UPC and SKU are not available.' - item_reference: - type: string - description: 'The SKU of the item. Empty string if SKU is not available.' - name: - type: string - description: A display name for this item. - price: - type: object - description: 'The final sale price (after discounts, bulk pricing, price lists, etc.) prior to having taxes calculated. If the merchant lists prices inclusive of tax, this price will already be tax inclusive, and so the tax provider will instead calculate the amount of tax that was already included in this price. For multiple quantities, this price includes that multiplication.' - required: - - amount - - tax_inclusive - properties: - amount: - type: number - description: 'Note: This amount will be **negative** for order-level refunds and may be **zero** for line-item refunds.' - format: double - tax_inclusive: - type: boolean - description: 'Note: **Tax Inclusive** and **Tax Exclusive** prices cannot be added together.' - default: false - quantity: - type: integer - minimum: 0 - tax_class: - $ref: '#/components/schemas/TaxClass' - tax_exempt: - type: boolean - description: 'Flag whether or not this item is always tax-exempt. For example, gift certificate purchases and order-level refunds are tax-exempt. Tax-exempt items are included in the request for auditing purposes.' - default: false - tax_properties: - type: array - description: Merchants may opt to include additional properties that a tax provider can choose to support, factoring these values into tax calculation. - items: - $ref: '#/components/schemas/request-item-tax-property' - type: - type: string - description: |- - The type of line item this request represents. This will depend on the item’s position in the request hierarchy. For example, the document request contains a collection of items (which may or may not also have wrapping attached). In addition, each document request also has a shipping line item and handling line item. - - The type refund is used when the tax estimate request is for an order-level refund. - enum: - - item - - wrapping - - handling - - shipping - - refund - wrapping: - anyOf: - - $ref: '#/components/schemas/request-item' - - type: object - nullable: true - enum: - - null - required: - - id - - price - - quantity - - type - x-internal: false request-item-tax-property: type: object description: A simple key value pairing allowing merchants to provide an additional input into a tax providerʼs tax calculation. @@ -1032,7 +948,7 @@ components: x-internal: false request-document: type: object - description: 'Each **DocumentRequest** represents an order or part of an order of items fulfilled from a single origin address to a single destination address. In addition to shipping and billing details, it contains an `items` array of one or more **ItemRequest** objects, which represent the shipment’s tax-relevant contents. Multi-address orders, in which items ship to or from multiple addresses, require at least one **DocumentRequest** per combination of sender-recipient addresses. These are similar to "consignments" or "shipments" in other BigCommerce APIs.' + description: 'Each **DocumentRequest** represents an order or part of an order of items fulfilled from a single origin address to a single destination address. In addition to shipping and billing details, a document request includes the collection of items in the shipment, with tax-relevant information for each item. Multi-address orders, in which items ship to or from multiple addresses, require at least one **DocumentRequest** per combination of sender-recipient addresses. These are similar to "consignments" or "shipments" in other BigCommerce APIs.' title: DocumentRequest properties: id: @@ -1045,14 +961,51 @@ components: origin_address: $ref: '#/components/schemas/Address' shipping: - $ref: '#/components/schemas/request-item' + type: object + description: Shipping line item present in each document request. + allOf: + - $ref: '#/components/schemas/request-item' + - type: object + properties: + type: + $ref: '#/components/schemas/shipping_type' + required: + - type handling: - $ref: '#/components/schemas/request-item' + type: object + description: Handling line item present in each document request. + allOf: + - $ref: '#/components/schemas/request-item' + - type: object + properties: + type: + $ref: '#/components/schemas/handling_type' + required: + - type items: type: array - description: Collection of one or more items contained within this consignment that need to be assessed for tax liabilities. + description: Collection of one or more items contained within this consignment that need to be assessed for tax liabilities. An item may or may not have gift wrapping. items: - $ref: '#/components/schemas/request-item-wrapping' + allOf: + - $ref: '#/components/schemas/request-item' + - type: object + properties: + type: + $ref: '#/components/schemas/item_type' + wrapping: + type: object + description: Optional gift wrapping for items in the consignment. + nullable: true + allOf: + - $ref: '#/components/schemas/request-item' + - type: object + properties: + type: + $ref: '#/components/schemas/wrapping_type' + required: + - type + required: + - type required: - id - destination_address @@ -1205,13 +1158,50 @@ components: description: 'An optional unique identifier for the document stored in the external provider’s system. Currently not used in any end-to-end operation, but may be logged by BigCommerce and thus be helpful when resolving issues.' items: type: array - description: Collection of items contained within this consignment that have had tax liabilities calculated. + description: Collection of items contained within this consignment that have had tax liabilities calculated. An item may or may not have gift wrapping. items: - $ref: '#/components/schemas/response-item-wrapping' + allOf: + - $ref: '#/components/schemas/response-item' + - type: object + properties: + type: + $ref: '#/components/schemas/item_type' + wrapping: + type: object + description: Optional gift wrapping for items in the consignment. + nullable: true + allOf: + - $ref: '#/components/schemas/response-item' + - type: object + properties: + type: + $ref: '#/components/schemas/wrapping_type' + required: + - type + required: + - type shipping: - $ref: '#/components/schemas/response-item' + type: object + description: Shipping line item present in each document request. + allOf: + - $ref: '#/components/schemas/response-item' + - type: object + properties: + type: + $ref: '#/components/schemas/shipping_type' + required: + - type handling: - $ref: '#/components/schemas/response-item' + type: object + description: Handling line item present in each document request. + allOf: + - $ref: '#/components/schemas/response-item' + - type: object + properties: + type: + $ref: '#/components/schemas/handling_type' + required: + - type required: - id - items @@ -1231,46 +1221,9 @@ components: description: A unique identifier for the line item these tax liabilities are calculated for. Must match the corresponding request line item ID. price: $ref: '#/components/schemas/response-taxprice' - type: - type: string - enum: - - item - - wrapping - - shipping - - handling - - refund - required: - - id - - price - - type - x-internal: false - response-item-wrapping: - type: object - description: |- - The tax liabilities calculated for a specific item, including the liabilities for wrapping tax. - - Note: Tax liabilities should be calculated with **quantity** accounted for. - title: ItemWrapping - properties: - id: - type: string - description: A unique identifier for the line item these tax liabilities are calculated for. Must match the corresponding request line item ID. - price: - $ref: '#/components/schemas/response-taxprice' - type: - type: string - enum: - - item - - wrapping - - shipping - - handling - - refund - wrapping: - $ref: '#/components/schemas/response-item' required: - id - price - - type x-internal: false response-taxprice: type: object @@ -1332,6 +1285,33 @@ components: - rate - amount x-internal: false + item_type: + type: string + description: |- + The type of item for the line item in the document. + + Tax estimate requests for order-level refunds have an additional line item with the type `refund`. + enum: + - item + - refund + shipping_type: + type: string + description: |- + The type of item for the line item in the document. + enum: + - shipping + handling_type: + type: string + description: |- + The type of item for the line item in the document. + enum: + - handling + wrapping_type: + type: string + description: |- + The type of item for the line item in the document. + enum: + - wrapping securitySchemes: Authorization: type: http From 5ef73eca100e69d299776638448ee3c9d507860f Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 2 Jun 2023 12:31:44 -0500 Subject: [PATCH 185/360] DEVDOCS-4837: [update] moved item_id to request body (#1331) Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/marketing.v2.yml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index ec5a5cce6..26ae5dac0 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -1090,6 +1090,10 @@ components: description: 'Integer value denoting whether or not the banner is visible on the storefront: 1 = visible; 0 = not visible' example: "1" + item_id: + type: string + description: If the banner is on a specific category or brand page, then the item_id will correspond the category or brand ID. + example: "35" x-internal: false banner_Full: title: banner_Full @@ -1105,23 +1109,12 @@ components: date_created: type: string description: Date the banner is created. - item_id: - type: string - description: If the banner is on a specific category or brand page then - the `item_id` will correspond the category or brand id. - example: "0" - $ref: '#/components/schemas/banner_Base' x-internal: false banner_Put: title: banner_Put allOf: - type: object - properties: - item_id: - type: string - description: If the banner is on a specific category or brand page then - the `item_id` will correspond the category or brand id. - example: "0" - $ref: '#/components/schemas/banner_Base' x-internal: false giftCertificate_Base: From 74243f30a70f1483e2fbd07ce73dbf40f5f4525c Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 2 Jun 2023 12:45:23 -0500 Subject: [PATCH 186/360] DEVDOCS-4321: [update] calculated_price (#1333) Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/catalog/products_catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 5ac02c377..5e53c0ff5 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -7708,7 +7708,7 @@ components: description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. calculated_price: type: number - description: 'The price of the product as seen on the storefront. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`.' + description: 'The calculated_price is derived from the default price and sale price of the product. It is equal to the sale price if set or the default price if there is not a sale price present. Depending on your store settings and customer group, or channel-specific pricing, this value may or may not be equal to the price seen on the storefront.' format: float options: type: array From 6c3c19b6f22ea05a958a393c4cc7cff7b836049a Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 2 Jun 2023 13:57:42 -0500 Subject: [PATCH 187/360] DEVDOCS-5012: [new] Webhooks, add metafield webhooks (#1330) Co-authored-by: Sarah Riehl --- models/webhooks/_all.yml | 191 ++++++++++++++---- models/webhooks/store_app_uninstalled.yml | 2 +- .../store_brand_metafield_created.yml | 23 +++ .../store_brand_metafield_deleted.yml | 23 +++ .../store_brand_metafield_updated.yml | 23 +++ models/webhooks/store_cart_abandoned.yml | 2 +- models/webhooks/store_cart_converted.yml | 2 +- models/webhooks/store_cart_couponApplied.yml | 2 +- models/webhooks/store_cart_created.yml | 8 +- models/webhooks/store_cart_deleted.yml | 8 +- .../webhooks/store_cart_lineItem_created.yml | 2 +- .../webhooks/store_cart_lineItem_deleted.yml | 2 +- .../webhooks/store_cart_lineItem_updated.yml | 2 +- .../webhooks/store_cart_metafield_created.yml | 23 +++ .../webhooks/store_cart_metafield_deleted.yml | 23 +++ .../webhooks/store_cart_metafield_updated.yml | 23 +++ models/webhooks/store_cart_updated.yml | 12 +- models/webhooks/store_category_created.yml | 2 +- models/webhooks/store_category_deleted.yml | 2 +- .../store_category_metafield_created.yml | 23 +++ .../store_category_metafield_deleted.yml | 23 +++ .../store_category_metafield_updated.yml | 23 +++ models/webhooks/store_category_updated.yml | 2 +- .../store_channel_metafield_created.yml | 23 +++ .../store_channel_metafield_deleted.yml | 23 +++ .../store_channel_metafield_updated.yml | 23 +++ .../store_customer_address_created.yml | 2 +- .../store_customer_address_deleted.yml | 2 +- .../store_customer_address_updated.yml | 2 +- models/webhooks/store_customer_deleted.yml | 2 +- ...mer_payment_instrument_default_updated.yml | 2 +- models/webhooks/store_customer_updated.yml | 2 +- models/webhooks/store_information_updated.yml | 2 +- ...e_inventory_location_metafield_created.yml | 22 ++ ...e_inventory_location_metafield_deleted.yml | 22 ++ ...e_inventory_location_metafield_updated.yml | 23 +++ models/webhooks/store_order_created.yml | 2 +- models/webhooks/store_order_statusUpdated.yml | 2 +- models/webhooks/store_order_updated.yml | 2 +- models/webhooks/store_product_updated.yml | 2 +- .../store_sku_inventory_order_updated.yml | 8 +- 41 files changed, 543 insertions(+), 69 deletions(-) create mode 100644 models/webhooks/store_brand_metafield_created.yml create mode 100644 models/webhooks/store_brand_metafield_deleted.yml create mode 100644 models/webhooks/store_brand_metafield_updated.yml create mode 100644 models/webhooks/store_cart_metafield_created.yml create mode 100644 models/webhooks/store_cart_metafield_deleted.yml create mode 100644 models/webhooks/store_cart_metafield_updated.yml create mode 100644 models/webhooks/store_category_metafield_created.yml create mode 100644 models/webhooks/store_category_metafield_deleted.yml create mode 100644 models/webhooks/store_category_metafield_updated.yml create mode 100644 models/webhooks/store_channel_metafield_created.yml create mode 100644 models/webhooks/store_channel_metafield_deleted.yml create mode 100644 models/webhooks/store_channel_metafield_updated.yml create mode 100644 models/webhooks/store_inventory_location_metafield_created.yml create mode 100644 models/webhooks/store_inventory_location_metafield_deleted.yml create mode 100644 models/webhooks/store_inventory_location_metafield_updated.yml diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index bc9c81b82..7d82022d3 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -3,217 +3,320 @@ title: 'Webhook Events' description: properties: store/app/uninstalled: - description: Occurs when a client store is cancelled and uninstalled from the platform. + description: Fires when a client store is cancelled and uninstalled from the platform. type: object allOf: - $ref: ./store_app_uninstalled.yml + store/brand/metafield/created: + description: Fires when a new brand metafield is created. + type: object + allOf: + - $ref: ./store_brand_metafield_created.yml + store/brand/metafield/deleted: + description: Fires when a brand metafield is deleted. + type: object + allOf: + - $ref: ./store_brand_metafield_deleted.yml + store/brand/metafield/updated: + description: Fires when a brand metafield is modified. + type: object + allOf: + - $ref: ./store_brand_metafield_updated.yml store/cart/abandoned: - description: This webhook will fire once after a cart is abandoned. A cart is considered abandoned if no changes have been made for at least one hour after the last modified property. This hook is available for all store plans, regardless of whether the Abandoned Cart Saver feature is enabled. + description: Fires when a cart is abandoned. A cart is considered abandoned when no changes have been made to its properties or contents for one hour. This webhook is available for all store plans, regardless of whether the Abandoned Cart Saver feature is enabled. type: object allOf: - $ref: ./store_cart_abandoned.yml store/cart/converted: - description: This hook fires when a cart is converted into an order, which is typically after the payment step of checkout on the storefront. At this point, the cart is no longer accessible and has been deleted. This hook returns both the cart ID and order ID for correlation purposes. + description: Fires when a cart is converted into an order, which typically follows the payment step of checkout. At this point, the cart is no longer accessible and has been deleted. This webhook returns both the cart ID and the order ID for correlation purposes. type: object allOf: - $ref: ./store_cart_converted.yml store/cart/couponApplied: - description: This webhook will fire whenever a new coupon code is applied to a cart. It will include the ID of the coupon code. + description: Fires when a new coupon code is applied to a cart. The payload includes the ID of the coupon code. type: object allOf: - $ref: ./store_cart_couponApplied.yml store/cart/created: - description: This webhook will fire whenever a new cart is created, either via a storefront shopper adding their first item to the cart, or when a new cart is created via an API consumer. If it is from the storefront, then it fires when the first product is added to a new session.(The cart did not exist before). For the API it means a POST to /carts, (V3 and Storefront API). The store/cart/updated hook will also fire. + description: |- + Fires when a new cart is created, which happens with the following two events: + + * A storefront shopper adds the first item to their cart + * A new cart is created using any of the APIs that can create carts + + The store/cart/updated webhook fires simultaneously with store/cart/created. type: object allOf: - $ref: ./store_cart_created.yml store/cart/deleted: - description: This webhook will fire whenever a cart is deleted. This will occur either when all items have been removed from a cart and it is auto-deleted, or when the cart is explicitly removed via a DELETE request by an API consumer. This ends the lifecycle of the cart. The store/cart/updated webhook will also fire when the last item is removed. + description: |- + Fires when a cart is deleted. This ends the lifecycle of the cart. Events include the following: + + * When a storefront shopper or API call removes all items from the cart + * When the cart is explicitly removed by API using a DELETE request + + The store/cart/updated webhook fires simultaneously with store/cart/deleted. type: object allOf: - $ref: ./store_cart_deleted.yml store/cart/lineItem/created: - description: When a new item is added to the cart + description: Fires when a new item is added to a cart. type: object allOf: - $ref: ./store_cart_lineItem_created.yml store/cart/lineItem/deleted: - description: When an item is deleted from the cart + description: Fires when an item is deleted from a cart. type: object allOf: - $ref: ./store_cart_lineItem_deleted.yml store/cart/lineItem/updated: - description: When an item’s quantity has changed or the product options change. + description: Fires when a line item’s quantity or product options change. type: object allOf: - $ref: ./store_cart_lineItem_updated.yml + store/cart/metafield/created: + description: Fires when a new cart metafield is created. + type: object + allOf: + - $ref: ./store_cart_metafield_created.yml + store/cart/metafield/deleted: + description: Fires when a cart metafield is deleted. + type: object + allOf: + - $ref: ./store_cart_metafield_deleted.yml + store/cart/metafield/updated: + description: Fires when a cart metafield is modified through the changes in its line items. + type: object + allOf: + - $ref: ./store_cart_metafield_updated.yml store/cart/updated: - description: his webhook is fired whenever a cart is modified through the changes in its line items. Eg. when a new item is added to a cart or an existing item’s quantity is updated. This hook also fires when the email is changed during guest checkout or when an existing item is deleted. The payload will include the ID of the cart being updated. This webhook also fires along with the cart created hook, because the first product being added to an empty cart triggers an update. + description: |- + Fires when a cart is modified, including in the following cases: + + * When a new item is added to a cart + * When an existing item’s quantity is updated + * When an existing item is deleted + * When the email is changed during guest checkout + * When the store/cart/created webhook fires + * When the store/cart/deleted webhook fires + + The payload includes the ID of the cart being updated. type: object allOf: - $ref: ./store_cart_updated.yml store/category/created: - description: Category is created + description: Fires when a new category is created. type: object allOf: - $ref: ./store_category_created.yml store/category/deleted: - description: Category is deleted + description: Fires when a category is deleted. type: object allOf: - $ref: ./store_category_deleted.yml store/category/updated: - description: Category is updated + description: Fires when a category is updated. type: object allOf: - $ref: ./store_category_updated.yml + store/category/metafield/created: + description: Fires when a new cart metafield is created. + type: object + allOf: + - $ref: ./store_category_metafield_created.yml + store/category/metafield/deleted: + description: Fires when a cart metafield is deleted. + type: object + allOf: + - $ref: ./store_category_metafield_deleted.yml + store/category/metafield/updated: + description: Fires when a cart metafield is modified through the changes in its line items. + type: object + allOf: + - $ref: ./store_category_metafield_updated.yml + store/channel/metafield/created: + description: Fires when a metafield is created per a specified channel. + type: object + allOf: + - $ref: ./store_channel_metafield_created.yml + store/channel/metafield/deleted: + description: Fires when a metafield is deleted per a specified channel. + type: object + allOf: + - $ref: ./store_channel_metafield_deleted.yml + store/channel/metafield/updated: + description: Fires when a cart metafield is modified through the changes in its line items. + type: object + allOf: + - $ref: ./store_channel_metafield_updated.yml store/customer/address/created: - description: Customer address is created + description: Fires when a customer address is created. type: object allOf: - $ref: ./store_customer_address_created.yml store/customer/address/deleted: - description: Customer address is deleted + description: Fires when a customer address is deleted. type: object allOf: - $ref: ./store_customer_address_deleted.yml store/customer/address/updated: - description: Customer address is updated + description: Fires when a customer address is updated. type: object allOf: - $ref: ./store_customer_address_updated.yml store/customer/created: - description: A new customer is created + description: Fires when a new customer is created. type: object allOf: - $ref: ./store_customer_created.yml store/customer/deleted: - description: Customer is deleted + description: Fires when a customer is deleted. type: object allOf: - $ref: ./store_customer_deleted.yml store/customer/payment/instrument/default/updated: - description: Customer default payment instrument is updated + description: Fires when a customerʼs default payment instrument is updated. type: object allOf: - $ref: ./store_customer_payment_instrument_default_updated.yml store/customer/updated: - description: Customer is updated. Does not currently track changes to the customer address. + description: Fires when a customer is updated. Does not currently track changes to the customer address. type: object allOf: - $ref: ./store_customer_updated.yml store/information/updated: - description: Occurs when changes are made to store settings. For a full list of fields that can trigger this event, see Store information updated events below + description: Fires when changes are made to store settings. For a full list of fields that can trigger this event, see the store information updated events that follow. type: object allOf: - $ref: ./store_information_updated.yml + store/inventory/location/metafield/created: + description: Fires when a new inventory location metafield is created. + type: object + allOf: + - $ref: ./store_inventory_location_metafield_created.yml + store/inventory/location/metafield/deleted: + description: Fires when an inventory location metafield is deleted. + type: object + allOf: + - $ref: ./store_inventory_location_metafield_deleted.yml + store/inventory/location/metafield/updated: + description: Fires when an existing inventory location metafield is updated. + type: object + allOf: + - $ref: ./store_inventory_location_metafield_updated.yml store/order/archived: - description: Order is archived + description: Fires when an order is archived. type: object allOf: - $ref: ./store_order_archived.yml store/order/created: - description: Fires if an order is created using the control panel, an app or via the API + description: Fires when an order is created either in the control panel or by API. type: object allOf: - $ref: ./store_order_created.yml store/order/message/created: - description: Order message is created by customer or in control panel + description: Fires when an order message is created by a customer or using the control panel. type: object allOf: - $ref: ./store_order_message_created.yml store/order/refund/created: - description: A refund has been submitted against an order + description: Fires when a refund is submitted against an order. type: object allOf: - $ref: ./store_order_refund_created.yml store/order/statusUpdated: - description: This will only fire if the order status has changed. Such as Pending to Awaiting Payment + description: Fires when the order status has changed, such as from Pending to Awaiting Payment. type: object allOf: - $ref: ./store_order_statusUpdated.yml store/order/updated: - description: Fires when an already created order is updated. Any changes to an existing order will fire this webhook. Updates can include changing the status, updating a coupon or changing an address. + description: Fires when an already created order is updated. Any change to an existing order fires this webhook. Updates can include changing the status, updating a coupon, or changing an address. type: object allOf: - $ref: ./store_order_updated.yml store/product/created: - description: A new product is created + description: Fires when new product is created. type: object allOf: - $ref: ./store_product_created.yml store/product/deleted: - description: Product is deleted + description: Fires when a product is deleted. type: object allOf: - $ref: ./store_product_deleted.yml store/product/inventory/order/updated: - description: Fires if a product’s inventory is decremented or incremented, including when an order is placed. Webhook responds to inventory updates made using the control panel, CSV import, API or an app. + description: Fires when a product’s inventory is decremented or incremented, including when an order is placed. Webhook responds to inventory updates made using the control panel, CSV import, API or an app. type: object allOf: - $ref: ./store_product_inventory_order_updated.yml store/product/inventory/updated: - description: Product inventory is updated. + description: Fires when product inventory is updated. type: object allOf: - $ref: ./store_product_inventory_updated.yml store/product/updated: - description: Occurs when product details are edited. For a full list of product fields that trigger an updated event, see Product updated events below + description: Fires when product details are edited. For a full list of product fields that trigger an updated event, see the product updated events that follow. type: object allOf: - $ref: ./store_product_updated.yml store/shipment/created: - description: Shipment is created + description: Fires when a shipment is created. type: object allOf: - $ref: ./store_shipment_created.yml store/shipment/deleted: - description: Shipment is deleted + description: Fires when a shipment is deleted. type: object allOf: - $ref: ./store_shipment_deleted.yml store/shipment/updated: - description: Shipment is updated + description: Fires when a shipment is updated. type: object allOf: - $ref: ./store_shipment_updated.yml store/sku/created: - description: A new sku is created + description: Fires when a new SKU is created. type: object allOf: - $ref: ./store_sku_created.yml store/sku/deleted: - description: SKU is deleted + description: Fires when a SKU is deleted. type: object allOf: - $ref: ./store_sku_deleted.yml store/sku/inventory/order/updated: - description: This will fire when the inventory is updated via API, the control panel, when an order is placed and when an order is refunded and the inventory is returned to stock. This hook will fire based on a store’s Inventory settings. + description: |- + Fires when the inventory is updated in the store control panel or using an API. Events include the following: + + * An order is placed + * An order is refunded and the inventory is returned to stock. + + The store’s Inventory settings affect when this webhook fires. type: object allOf: - $ref: ./store_sku_inventory_order_updated.yml store/sku/inventory/updated: - description: SKU is updated + description: Fires when a SKU is updated using an Inventory API. type: object allOf: - $ref: ./store_sku_inventory_updated.yml store/sku/updated: - description: SKU is updated + description: Fires when a SKU is updated. type: object allOf: - $ref: ./store_sku_updated.yml store/subscriber/created: - description: Subscriber is created + description: Fires when a subscriber is created. type: object allOf: - $ref: ./store_subscriber_created.yml store/subscriber/deleted: - description: Subscriber is deleted + description: Fires when a subscriber is deleted. type: object allOf: - $ref: ./store_subscriber_deleted.yml store/subscriber/updated: - description: Subscriber is updated + description: Fires when a subscriber is updated. type: object allOf: - - $ref: ./store_subscriber_updated.yml \ No newline at end of file + - $ref: ./store_subscriber_updated.yml diff --git a/models/webhooks/store_app_uninstalled.yml b/models/webhooks/store_app_uninstalled.yml index 8b6caefce..7a6801b6d 100644 --- a/models/webhooks/store_app_uninstalled.yml +++ b/models/webhooks/store_app_uninstalled.yml @@ -1,7 +1,7 @@ type: object properties: store/app/uninstalled: - description: Occurs when a client store is cancelled and uninstalled from the platform. + description: Fires when a client store is cancelled and uninstalled from the platform. type: object properties: scope: diff --git a/models/webhooks/store_brand_metafield_created.yml b/models/webhooks/store_brand_metafield_created.yml new file mode 100644 index 000000000..ee7053d71 --- /dev/null +++ b/models/webhooks/store_brand_metafield_created.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/brand/metafield/created: + description: Fires when a new metafield on any object is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_brand_metafield_deleted.yml b/models/webhooks/store_brand_metafield_deleted.yml new file mode 100644 index 000000000..c3ef54bbd --- /dev/null +++ b/models/webhooks/store_brand_metafield_deleted.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/brand/metafield/deleted: + description: Fires when a brand metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_brand_metafield_updated.yml b/models/webhooks/store_brand_metafield_updated.yml new file mode 100644 index 000000000..d09441d1b --- /dev/null +++ b/models/webhooks/store_brand_metafield_updated.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/brand/metafield/updated: + description: Fires when a brand metafield is modified. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_cart_abandoned.yml b/models/webhooks/store_cart_abandoned.yml index 592f11c3c..2e070c98b 100644 --- a/models/webhooks/store_cart_abandoned.yml +++ b/models/webhooks/store_cart_abandoned.yml @@ -1,7 +1,7 @@ type: object properties: store/cart/abandoned: - description: This webhook will fire once after a cart is abandoned. A cart is considered abandoned if no changes have been made for at least one hour after the last modified property. This hook is available for all store plans, regardless of whether the Abandoned Cart Saver feature is enabled. + description: Fires when a cart is abandoned. A cart is considered abandoned when no changes have been made to its properties or contents for one hour. This webhook is available for all store plans, regardless of whether the Abandoned Cart Saver feature is enabled. type: object properties: scope: diff --git a/models/webhooks/store_cart_converted.yml b/models/webhooks/store_cart_converted.yml index 4d899ccec..5539d7e1e 100644 --- a/models/webhooks/store_cart_converted.yml +++ b/models/webhooks/store_cart_converted.yml @@ -1,7 +1,7 @@ type: object properties: store/cart/converted: - description: This hook fires when a cart is converted into an order, which is typically after the payment step of checkout on the storefront. At this point, the cart is no longer accessible and has been deleted. This hook returns both the cart ID and order ID for correlation purposes. + description: Fires when a cart is converted into an order, which typically follows the payment step of checkout. At this point, the cart is no longer accessible and has been deleted. This webhook returns both the cart ID and the order ID for correlation purposes. type: object properties: scope: diff --git a/models/webhooks/store_cart_couponApplied.yml b/models/webhooks/store_cart_couponApplied.yml index 0ceda9be2..87b82ff15 100644 --- a/models/webhooks/store_cart_couponApplied.yml +++ b/models/webhooks/store_cart_couponApplied.yml @@ -1,7 +1,7 @@ type: object properties: store/cart/couponApplied: - description: This webhook will fire whenever a new coupon code is applied to a cart. It will include the ID of the coupon code. + description: Fires when a new coupon code is applied to a cart. The payload includes the ID of the coupon code. type: object properties: scope: diff --git a/models/webhooks/store_cart_created.yml b/models/webhooks/store_cart_created.yml index b60f95f90..a390e71a1 100644 --- a/models/webhooks/store_cart_created.yml +++ b/models/webhooks/store_cart_created.yml @@ -1,7 +1,13 @@ type: object properties: store/cart/created: - description: This webhook will fire whenever a new cart is created, either via a storefront shopper adding their first item to the cart, or when a new cart is created via an API consumer. If it is from the storefront, then it fires when the first product is added to a new session.(The cart did not exist before). For the API it means a POST to /carts, (V3 and Storefront API). The store/cart/updated hook will also fire. + description: |- + Fires when a new cart is created, which happens with the following two events: + + * A storefront shopper adds the first item to their cart + * A new cart is created using any of the APIs that can create carts + + The store/cart/updated webhook fires simultaneously with store/cart/created. type: object properties: scope: diff --git a/models/webhooks/store_cart_deleted.yml b/models/webhooks/store_cart_deleted.yml index c1980272b..a7548fcbd 100644 --- a/models/webhooks/store_cart_deleted.yml +++ b/models/webhooks/store_cart_deleted.yml @@ -1,7 +1,13 @@ type: object properties: store/cart/deleted: - description: This webhook will fire whenever a cart is deleted. This will occur either when all items have been removed from a cart and it is auto-deleted, or when the cart is explicitly removed via a DELETE request by an API consumer. This ends the lifecycle of the cart. The store/cart/updated webhook will also fire when the last item is removed. + description: |- + Fires when a cart is deleted. This ends the lifecycle of the cart. Events include the following: + + * When a storefront shopper or API call removes all items from the cart + * When the cart is explicitly removed by API using a DELETE request + + The store/cart/updated webhook fires simultaneously with store/cart/deleted. type: object properties: scope: diff --git a/models/webhooks/store_cart_lineItem_created.yml b/models/webhooks/store_cart_lineItem_created.yml index 44e0d4e84..9c6a4cf10 100644 --- a/models/webhooks/store_cart_lineItem_created.yml +++ b/models/webhooks/store_cart_lineItem_created.yml @@ -1,7 +1,7 @@ type: object properties: store/cart/lineItem/created: - description: When a new item is added to the cart + description: Fires when a new item is added to a cart. type: object properties: scope: diff --git a/models/webhooks/store_cart_lineItem_deleted.yml b/models/webhooks/store_cart_lineItem_deleted.yml index 53dfcfb26..50fd621bf 100644 --- a/models/webhooks/store_cart_lineItem_deleted.yml +++ b/models/webhooks/store_cart_lineItem_deleted.yml @@ -1,7 +1,7 @@ type: object properties: store/cart/lineItem/deleted: - description: When an item is deleted from the cart + description: Fires when an item is deleted from a cart. type: object properties: scope: diff --git a/models/webhooks/store_cart_lineItem_updated.yml b/models/webhooks/store_cart_lineItem_updated.yml index ad5caea2c..5035ced59 100644 --- a/models/webhooks/store_cart_lineItem_updated.yml +++ b/models/webhooks/store_cart_lineItem_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/cart/lineItem/updated: - description: When an item’s quantity has changed or the product options change. + description: Fires when a line item’s quantity or product options change. type: object properties: scope: diff --git a/models/webhooks/store_cart_metafield_created.yml b/models/webhooks/store_cart_metafield_created.yml new file mode 100644 index 000000000..7bc684fe0 --- /dev/null +++ b/models/webhooks/store_cart_metafield_created.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/cart/metafield/created: + description: Fires when a new cart metafield is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_cart_metafield_deleted.yml b/models/webhooks/store_cart_metafield_deleted.yml new file mode 100644 index 000000000..1d8b095a4 --- /dev/null +++ b/models/webhooks/store_cart_metafield_deleted.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/cart/metafield/deleted: + description: Fires when a cart metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_cart_metafield_updated.yml b/models/webhooks/store_cart_metafield_updated.yml new file mode 100644 index 000000000..609f9bf0f --- /dev/null +++ b/models/webhooks/store_cart_metafield_updated.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/cart/metafield/updated: + description: Fires when a cart metafield is modified through the changes in its line items. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_cart_updated.yml b/models/webhooks/store_cart_updated.yml index 2550c783e..ace0086f3 100644 --- a/models/webhooks/store_cart_updated.yml +++ b/models/webhooks/store_cart_updated.yml @@ -1,7 +1,17 @@ type: object properties: store/cart/updated: - description: his webhook is fired whenever a cart is modified through the changes in its line items. Eg. when a new item is added to a cart or an existing item’s quantity is updated. This hook also fires when the email is changed during guest checkout or when an existing item is deleted. The payload will include the ID of the cart being updated. This webhook also fires along with the cart created hook, because the first product being added to an empty cart triggers an update. + description: |- + Fires when a cart is modified, including in the following cases: + + * When a new item is added to a cart + * When an existing item’s quantity is updated + * When an existing item is deleted + * When the email is changed during guest checkout + * When the store/cart/created webhook fires + * When the store/cart/deleted webhook fires + + The payload includes the ID of the cart being updated. type: object properties: scope: diff --git a/models/webhooks/store_category_created.yml b/models/webhooks/store_category_created.yml index c72c55399..bb37cbb32 100644 --- a/models/webhooks/store_category_created.yml +++ b/models/webhooks/store_category_created.yml @@ -1,7 +1,7 @@ type: object properties: store/category/created: - description: Category is created + description: Fires when a category is created. type: object properties: scope: diff --git a/models/webhooks/store_category_deleted.yml b/models/webhooks/store_category_deleted.yml index e47569597..ad60a0ebc 100644 --- a/models/webhooks/store_category_deleted.yml +++ b/models/webhooks/store_category_deleted.yml @@ -1,7 +1,7 @@ type: object properties: store/category/deleted: - description: Category is deleted + description: Fires when a category is deleted type: object properties: scope: diff --git a/models/webhooks/store_category_metafield_created.yml b/models/webhooks/store_category_metafield_created.yml new file mode 100644 index 000000000..35b433979 --- /dev/null +++ b/models/webhooks/store_category_metafield_created.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/category/metafield/created: + description: Fires if a category metafield is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_category_metafield_deleted.yml b/models/webhooks/store_category_metafield_deleted.yml new file mode 100644 index 000000000..93cfc7b89 --- /dev/null +++ b/models/webhooks/store_category_metafield_deleted.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/category/metafield/deleted: + description: Fires if a category metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_category_metafield_updated.yml b/models/webhooks/store_category_metafield_updated.yml new file mode 100644 index 000000000..af21c3f53 --- /dev/null +++ b/models/webhooks/store_category_metafield_updated.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/category/metafield/updated: + description: Fires if a category metafield is updated. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_category_updated.yml b/models/webhooks/store_category_updated.yml index bb16b06a8..e8b5c8a85 100644 --- a/models/webhooks/store_category_updated.yml +++ b/models/webhooks/store_category_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/category/updated: - description: Category is updated + description: Fires when a category is updated type: object properties: scope: diff --git a/models/webhooks/store_channel_metafield_created.yml b/models/webhooks/store_channel_metafield_created.yml new file mode 100644 index 000000000..99f64bb5b --- /dev/null +++ b/models/webhooks/store_channel_metafield_created.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/channel/metafield/created: + description: Fires when a metafield is created per a specified channel. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_channel_metafield_deleted.yml b/models/webhooks/store_channel_metafield_deleted.yml new file mode 100644 index 000000000..6ce0f2285 --- /dev/null +++ b/models/webhooks/store_channel_metafield_deleted.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/channel/metafield/deleted: + description: Fires when a metafield is deleted per a specified channel. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_channel_metafield_updated.yml b/models/webhooks/store_channel_metafield_updated.yml new file mode 100644 index 000000000..8dd1c6758 --- /dev/null +++ b/models/webhooks/store_channel_metafield_updated.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/channel/metafield/updated: + description: Fires when a metafield is updated per a specified channel. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_customer_address_created.yml b/models/webhooks/store_customer_address_created.yml index 45e08347e..be2486b4f 100644 --- a/models/webhooks/store_customer_address_created.yml +++ b/models/webhooks/store_customer_address_created.yml @@ -1,7 +1,7 @@ type: object properties: store/customer/address/created: - description: Customer address is created + description: Fires when a customer address is created type: object properties: scope: diff --git a/models/webhooks/store_customer_address_deleted.yml b/models/webhooks/store_customer_address_deleted.yml index 073c9cdad..63de5f7a6 100644 --- a/models/webhooks/store_customer_address_deleted.yml +++ b/models/webhooks/store_customer_address_deleted.yml @@ -1,7 +1,7 @@ type: object properties: store/customer/address/deleted: - description: Customer address is deleted + description: Fires when a customer address is deleted type: object properties: scope: diff --git a/models/webhooks/store_customer_address_updated.yml b/models/webhooks/store_customer_address_updated.yml index 7e8b9345d..a9058e83b 100644 --- a/models/webhooks/store_customer_address_updated.yml +++ b/models/webhooks/store_customer_address_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/customer/address/updated: - description: Customer address is updated + description: Fires when a customer address is updated type: object properties: scope: diff --git a/models/webhooks/store_customer_deleted.yml b/models/webhooks/store_customer_deleted.yml index 0076287a9..ff9ef2c59 100644 --- a/models/webhooks/store_customer_deleted.yml +++ b/models/webhooks/store_customer_deleted.yml @@ -1,7 +1,7 @@ type: object properties: store/customer/deleted: - description: Customer is deleted + description: Fires when a customer is deleted type: object properties: scope: diff --git a/models/webhooks/store_customer_payment_instrument_default_updated.yml b/models/webhooks/store_customer_payment_instrument_default_updated.yml index b0b6246c1..9b66d9414 100644 --- a/models/webhooks/store_customer_payment_instrument_default_updated.yml +++ b/models/webhooks/store_customer_payment_instrument_default_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/customer/payment/instrument/default/updated: - description: Customer default payment instrument is updated + description: Fires when a customer default payment instrument is updated type: object properties: scope: diff --git a/models/webhooks/store_customer_updated.yml b/models/webhooks/store_customer_updated.yml index bfc531d0e..082ba88b9 100644 --- a/models/webhooks/store_customer_updated.yml +++ b/models/webhooks/store_customer_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/customer/updated: - description: Customer is updated. Does not currently track changes to the customer address. + description: Fires when a customer is updated. Does not currently track changes to the customer address. type: object properties: scope: diff --git a/models/webhooks/store_information_updated.yml b/models/webhooks/store_information_updated.yml index 3a387a9ef..3833efaed 100644 --- a/models/webhooks/store_information_updated.yml +++ b/models/webhooks/store_information_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/information/updated: - description: Occurs when changes are made to store settings. For a full list of fields that can trigger this event, see Store information updated events below + description: Fires when changes are made to store settings. For a full list of fields that can trigger this event, see the store information updated events that follow. type: object properties: scope: diff --git a/models/webhooks/store_inventory_location_metafield_created.yml b/models/webhooks/store_inventory_location_metafield_created.yml new file mode 100644 index 000000000..0d91fed92 --- /dev/null +++ b/models/webhooks/store_inventory_location_metafield_created.yml @@ -0,0 +1,22 @@ +properties: + store/inventory/location/metafield/created: + description: Fires when a new inventory, location metafield is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_inventory_location_metafield_deleted.yml b/models/webhooks/store_inventory_location_metafield_deleted.yml new file mode 100644 index 000000000..4f3d03f71 --- /dev/null +++ b/models/webhooks/store_inventory_location_metafield_deleted.yml @@ -0,0 +1,22 @@ +properties: + store/inventory/location/metafield/deleted: + description: Fires when a inventory, location metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_inventory_location_metafield_updated.yml b/models/webhooks/store_inventory_location_metafield_updated.yml new file mode 100644 index 000000000..dfe40b974 --- /dev/null +++ b/models/webhooks/store_inventory_location_metafield_updated.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/inventory/location/metafield/updated: + description: Fires when an existing inventory location metafield is updated. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_created.yml b/models/webhooks/store_order_created.yml index eb4c5fc6a..16e843b45 100644 --- a/models/webhooks/store_order_created.yml +++ b/models/webhooks/store_order_created.yml @@ -1,7 +1,7 @@ type: object properties: store/order/created: - description: Fires if an order is created using the control panel, an app or via the API + description: Fires when an order is created either in the control panel or by API. type: object properties: scope: diff --git a/models/webhooks/store_order_statusUpdated.yml b/models/webhooks/store_order_statusUpdated.yml index 812ef24f2..44563c4f0 100644 --- a/models/webhooks/store_order_statusUpdated.yml +++ b/models/webhooks/store_order_statusUpdated.yml @@ -1,7 +1,7 @@ type: object properties: store/order/statusUpdated: - description: This will only fire if the order status has changed. Such as Pending to Awaiting Payment + description: Fires when the order status has changed, such as from Pending to Awaiting Payment. type: object properties: scope: diff --git a/models/webhooks/store_order_updated.yml b/models/webhooks/store_order_updated.yml index 8159819eb..257337511 100644 --- a/models/webhooks/store_order_updated.yml +++ b/models/webhooks/store_order_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/order/updated: - description: Fires when an already created order is updated. Any changes to an existing order will fire this webhook. Updates can include changing the status, updating a coupon or changing an address. + description: Fires when an already created order is updated. Any change to an existing order fires this webhook. Updates can include changing the status, updating a coupon, or changing an address. type: object properties: scope: diff --git a/models/webhooks/store_product_updated.yml b/models/webhooks/store_product_updated.yml index e0a828b75..63b9a44e8 100644 --- a/models/webhooks/store_product_updated.yml +++ b/models/webhooks/store_product_updated.yml @@ -1,7 +1,7 @@ type: object properties: store/product/updated: - description: Occurs when product details are edited. For a full list of product fields that trigger an updated event, see Product updated events below + description: Fires when product details are edited. For a full list of product fields that trigger an updated event, see the product updated events that follow. type: object properties: scope: diff --git a/models/webhooks/store_sku_inventory_order_updated.yml b/models/webhooks/store_sku_inventory_order_updated.yml index 835793648..e4e213979 100644 --- a/models/webhooks/store_sku_inventory_order_updated.yml +++ b/models/webhooks/store_sku_inventory_order_updated.yml @@ -1,7 +1,13 @@ type: object properties: store/sku/inventory/order/updated: - description: This will fire when the inventory is updated via API, the control panel, when an order is placed and when an order is refunded and the inventory is returned to stock. This hook will fire based on a store’s Inventory settings. + description: |- + Fires when the inventory is updated in the store control panel or using an API. Events include the following: + + * An order is placed + * An order is refunded and the inventory is returned to stock. + + The store’s Inventory settings affect when this webhook fires. type: object properties: scope: From ae98424d86b49ddb9eb827ca4658df856e93b621 Mon Sep 17 00:00:00 2001 From: Mark Murphy Date: Fri, 2 Jun 2023 22:43:33 -0500 Subject: [PATCH 188/360] SELFDEV-216: [dev] add deploy hook and GH action (#1335) --- .github/workflows/deploy.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..a7b6505f9 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,18 @@ +name: Deploy + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Trigger Vercel Deploy Hook + run: | + curl -X POST ${{ secrets.VERCEL_DEPLOY_HOOK_URL }} From 49dbe477eb47ca6a547e015847367f03a6a1d279 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 5 Jun 2023 12:31:15 -0500 Subject: [PATCH 189/360] DEVDOCS-4940: [remove] Catalog monolith, delete superseded spec file (#1308) --- reference/catalog.v3.yml | 27689 ------------------------------------ reference/channels.v3.yml | 6 +- 2 files changed, 3 insertions(+), 27692 deletions(-) delete mode 100644 reference/catalog.v3.yml diff --git a/reference/catalog.v3.yml b/reference/catalog.v3.yml deleted file mode 100644 index 9692ee67f..000000000 --- a/reference/catalog.v3.yml +++ /dev/null @@ -1,27689 +0,0 @@ -openapi: '3.0.3' -info: - title: Catalog - description: |- - The Catalog API allows you to manage products, categories, bulk pricing rules, and more. To learn more about catalog resources see [Catalog Overview](/api-docs/store-management/catalog/catalog-overview). - - - [Authentication](#authentication) - - [Resources](#resources) - - ## Resources - - ### Webhooks - * [Category](/api-docs/store-management/webhooks/events#category) - - ### Related Endpoints - * [Catalog API](/docs/rest-management/catalog) - - Manage channel-specific categories. - - Create and manage category trees for BigCommerce stores. - - Create and manage products assignments. - termsOfService: 'https://www.bigcommerce.com/terms' - contact: - name: BigCommerce - url: 'https://www.bigcommerce.com' - email: support@bigcommerce.com - version: '' -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: Brands - - name: Brand Images - - name: Brand Metafields - - name: Category - - name: Categories - - name: Categories Batch - - name: Category Metafields - - name: Category Images - - name: Product Sort Order - - name: Products - - name: Product Bulk Pricing Rules - - name: Product Complex Rules - - name: Product Custom Fields - - name: Product Images - - name: Product Metafields - - name: Product Modifiers - - name: Product Modifier Values - - name: Product Modifier Images - - name: Product Options - - name: Product Option Values - - name: Product Reviews - - name: Product Variants - - name: Product Variants Metafields - - name: Product Variant Options - - name: Product Variant Option Values - - name: Product Videos - - name: Products Channel Assignments - - name: Products Category Assignments - - name: Summary - - name: Variants - - name: Category Trees -paths: - '/catalog/products': - get: - tags: - - Products - summary: Get All Products - description: Returns a list of **Products**. Optional filter parameters can be passed in. - operationId: getProducts - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: upc - in: query - description: | - Filter items by upc. - schema: - type: string - - name: price - in: query - description: | - Filter items by price. - schema: - type: number - - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - - name: date_modified - in: query - description: 'Filter items by `date_modified`. ' - schema: - type: string - format: date-time - - name: 'date_modified:max' - in: query - description: 'Filter items by `date_modified`. For example, `date_modified:max=2020-06-15`.' - schema: - type: string - - name: 'date_modified:min' - in: query - description: 'Filter items by `date_modified`. For example, `date_modified:min=2018-06-15`.' - schema: - type: string - - name: date_last_imported - in: query - description: Filter items by date_last_imported. - schema: - type: string - format: date-time - - name: 'date_last_imported:max' - in: query - description: 'Filter items by date_last_imported. For example, `date_last_imported:max=2020-06-15`.' - schema: - type: string - - name: 'date_last_imported:min' - in: query - description: 'Filter items by date_last_imported. For example, `date_last_imported:min=2018-06-15`.' - schema: - type: string - - name: is_visible - in: query - description: Filter items based on whether the product is currently visible on the storefront. - schema: - type: boolean - - name: is_featured - in: query - description: 'Filter items by is_featured. `1` for true, `0` for false.' - schema: - type: integer - enum: - - 1 - - 0 - - name: is_free_shipping - in: query - description: 'Filter items by is_free_shipping. `1` for true, `0` for false.' - schema: - type: integer - - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - - name: 'inventory_level:in' - in: query - schema: - type: integer - - name: 'inventory_level:not_in' - in: query - schema: - type: integer - - name: 'inventory_level:min' - in: query - schema: - type: integer - - name: 'inventory_level:max' - in: query - schema: - type: integer - - name: 'inventory_level:greater' - in: query - schema: - type: integer - - name: 'inventory_level:less' - in: query - schema: - type: integer - - name: inventory_low - in: query - description: | - Filter items by inventory_low. Values: 1, 0. - schema: - type: integer - - name: out_of_stock - in: query - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - schema: - type: integer - - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - - name: type - in: query - description: Filter items by type. - schema: - type: string - enum: - - digital - - physical - - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - - name: keyword - in: query - description: Filter items by keywords found in the `name` or `sku` fields - schema: - type: string - - name: keyword_context - in: query - description: Set context used by the search algorithm to return results targeted towards the specified group. Use `merchant` to help merchants search their own catalog. Use `shopper` to return shopper-facing search results. - schema: - type: string - enum: - - shopper - - merchant - - name: status - in: query - description: | - Filter items by status. - schema: - type: integer - - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: availability - in: query - description: | - Filter items by availability. Values are: available, disabled, preorder. - schema: - type: string - enum: - - available - - disabled - - preorder - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: direction - in: query - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - schema: - type: string - enum: - - asc - - desc - - name: sort - in: query - description: | - Field name to sort by. Note: Since `id` increments when new products are added, you can use that field to sort by product create date. - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - - name: 'categories:in' - in: query - description: 'Filter items by categories. Use for products in multiple categories. For example, `categories:in=12`.' - schema: - type: integer - - name: sku - in: query - description: 'Filter items by main SKU. To filter by variant SKU, see [Get All Variants](/docs/rest-management/catalog/product-variants#get-all-product-variants). ' - schema: - type: string - - name: 'sku:in' - in: query - description: Filter items by SKU. - style: form - explode: false - schema: - type: array - items: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - put: - tags: - - Products - summary: Update Products (Batch) - description: |- - Updates products in batches. Batches are limited to 10 products. - - **Required Fields** - * `id` - product `id` is required for batch updates to products. - - **Read-Only Fields** - - `id` - - `date_created` - - `date_modified` - - `calculated_price` - - `base_variant_id` - operationId: updateProducts - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Put_Collection' - examples: - example-1: - value: - - id: 0 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - required: false - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - examples: - example-1: - value: - data: - - id: 1 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documentation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24' - date_latest_value: '2019-08-24' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: - pagination: - total: 36 - count: 36 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: string - current: '?page=1&limit=50' - next: string - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: '`Product` was in conflict with another product. This is the result of duplicate unique values such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`.' - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse_409' - '413': - description: 413 Request Entity Too Large - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - example: - errors: {} - status: 413 - title: The request payload is too large. The maximum items allowed in the array is 50 - type: /api-docs/getting-started/api-status-codes - '422': - description: '`Product` was not valid. This is the result of missing required fields or invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse_422' - x-codegen-request-body-name: products - post: - tags: - - Products - summary: Create a Product - description: |- - Creates a *Product*. Only one product can be created at a time. - - **Required Fields:** - - `name` - - `type` - - `weight` - - `price` - - **Read-Only Fields** - - `id` - - `date_created` - - `date_modified` - - `calculated_price` - - `base_variant_id` - - **Limits** - - 250 characters product name length. - - **Usage Notes** - * `POST` requests to `/products` accept a `video` array. - * `POST` requests to `/products/{product_id}/videos` accept a `video` object. - operationId: createProduct - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - '207': - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - - '409': - description: | - `Product` was in conflict with another product. This is the result of duplicate unique values, such as name or SKU; a missing or invalid `category_id`, `brand_id`, or `tax_class id`; or a conflicting `bulk_pricing_rule`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: product - delete: - tags: - - Products - summary: Delete Products - description: |- - To delete *Product* objects, you must include a filter. This prevents inadvertently deleting all *Product* objects in a store. - - > #### Note - > The maximum number of products you can delete at one time is 250. - - **Example**: - To delete products with the id's of 1,2 and 3, use `DELETE /v3/catalog/products?id:in=1,2,3`. - operationId: deleteProducts - parameters: - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - - name: price - in: query - description: | - Filter items by price. - schema: - type: number - - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - - name: date_modified - in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - schema: - type: string - format: date-time - - name: date_last_imported - in: query - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - schema: - type: string - format: date-time - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: is_featured - in: query - description: | - Filter items by is_featured. - schema: - type: integer - - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - - name: type - in: query - description: 'Filter items by type: `physical` or `digital`.' - schema: - type: string - enum: - - digital - - physical - - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - - name: keyword - in: query - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - schema: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/products/{product_id}': - get: - tags: - - Products - summary: Get a Product - description: Returns a single *Product*. Optional parameters can be passed in. - operationId: getProductById - parameters: - - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 174 - name: 1L Le Parfait Jar - type: physical - sku: '' - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 1 - width: 0 - depth: 0 - height: 0 - price: 7.95 - cost_price: 0 - retail_price: 10 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: '' - calculated_price: 7.95 - categories: - - 23 - - 21 - brand_id: 36 - option_set_id: 55 - option_set_display: right - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - reviews_rating_sum: 0 - reviews_count: 0 - total_sold: 7 - fixed_cost_shipping_price: 0 - is_free_shipping: false - is_visible: true - is_featured: false - related_products: - - -1 - warranty: '' - bin_picking_number: '' - layout_file: product.html - upc: '' - mpn: '' - gtin: '' - search_keywords: 'jar, glass' - availability: available - availability_description: '' - gift_wrapping_options_type: any - gift_wrapping_options_list: [] - sort_order: 0 - condition: New - is_condition_shown: false - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: '' - meta_keywords: [] - meta_description: '' - date_created: '2018-08-15T14:48:46+00:00' - date_modified: '2018-09-05T20:42:07+00:00' - view_count: 10 - preorder_release_date: '2018-09-05T20:42:07+00:00' - preorder_message: '' - is_preorder_only: false - is_price_hidden: false - price_hidden_label: '' - custom_url: - url: /all/1l-le-parfait-jar/ - is_customized: true - base_variant_id: 345 - open_graph_type: product - open_graph_title: '' - open_graph_description: '' - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Products - summary: Update a Product - description: | - Updates a *Product*. - - **Read-Only Fields** - - id - - date_created - - date_modified - - calculated_price - - base_variant_id - operationId: updateProduct - parameters: - - $ref: '#/components/parameters/ContentType' - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/product_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: 12345678905 - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - '201': - description: Created - content: - application/json: - schema: - type: object - properties: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - `Product` was in conflict with another product. This is caused by: duplicate unique values, such as name or SKU; a missing category, brand, or tax_class with which the product is being associated; or a conflicting bulk pricing rule. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - `Product` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: product - delete: - tags: - - Products - summary: Delete a Product - description: Deletes a *Product*. - operationId: deleteProductById - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/images': - get: - tags: - - Product Images - summary: Get All Product Images - description: Returns a list of *Product Images*. Optional parameters can be passed in. - operationId: getProductImages - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Collection Response - type: object - properties: - data: - type: array - items: - title: Product Image - type: object - allOf: - - $ref: '#/components/schemas/productImage_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - - id: 382 - product_id: 158 - is_thumbnail: true - sort_order: 0 - description: '' - image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - - id: 383 - product_id: 158 - is_thumbnail: false - sort_order: 0 - description: '' - image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '204': - description: | - There are not any images on this product. - content: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Images - summary: Create a Product Image - description: |- - Creates a *Product Image*. - - **Required Fields** - - `image_file`, or - - `image_url` - - **Usage Notes** - - `image_url` - `255` character limit - - For file uploads, use the `multipart/form-data` media type - - Only one image at a time can be created - - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. - operationId: createProductImage - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Image Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. - multipart/form-data: - schema: - title: Product Image Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. - required: true - responses: - '200': - description: Success - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - - A `multipart/form-data` media type. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - A `multipart/form-data` media type. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: |- - Unprocessable Entity. - - May occur if the `Content-Type` header is set to `multipart/form-data` rather than `application/json` when creating a product image using `image_url`. - content: - application/json: - schema: - required: - - status - - title - - type - type: object - properties: - status: - type: number - title: - minLength: 1 - type: string - type: - minLength: 1 - type: string - description: '' - example: - status: 422 - title: image_url must be present if uploading by url - type: /api-docs/getting-started/api-status-codes - x-codegen-request-body-name: productImage - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/images/{image_id}': - get: - tags: - - Product Images - summary: Get a Product Image - description: Returns a single *Product Image*. Optional parameters can be passed in. - operationId: getProductImageById - parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - $ref: '#/components/schemas/productImage_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Images - summary: Update a Product Image - description: |- - Updates a *Product Image*. - - **Usage Notes** - - `image_url` - `255` character limit - - For file uploads, send a POST request using the `multipart/form-data` media type - operationId: updateProductImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productImage_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - '201': - description: Created - content: - application/json: - schema: - type: object - properties: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productImage - delete: - tags: - - Product Images - summary: Delete a Product Image - description: Deletes a *Product Image*. - operationId: deleteProductImage - parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ImageIdParam' - '/catalog/products/{product_id}/videos': - get: - tags: - - Product Videos - summary: Get All Product Videos - description: Returns a list of *Product Videos*. Optional parameters can be passed in. - operationId: getProductVideos - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productVideo_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - type: youtube - video_id: PqBTp23RLhI - product_id: 192 - sort_order: 1 - title: Creating and Editing Banners | BigCommerce Tutorials - description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' - length: '01:54' - - id: 7 - type: youtube - video_id: EhYBjzqd-nI - product_id: 192 - sort_order: 2 - title: BigCommerce Company Values - description: |- - These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. - - Join the BigCommerce team and help us build software that changes lives! - - https://www.bigcommerce.com/careers/ - length: '03:30' - - id: 8 - type: youtube - video_id: vAUdo4kRjrU - product_id: 192 - sort_order: 3 - title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce - description: |- - We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: - - “I am given the freedom and trust to make a difference.” - - “Everyone believes in the product and growing the company.” - - “I'm appreciated for the work I do and there is room to grown within the company.” - - Work With Us! - http://www.bigcommerce.com/careers.php - length: '01:37' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Videos - summary: Create a Product Video - description: |- - Creates a *Product Video*. - - **Required Fields** - * video_id - - **Read-Only Fields** - * id - - Publicly accessible URLs are valid parameters. - Videos must be loaded through YouTube at this time. - operationId: createProductVideo - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Video Post - description: | - The model for a POST to create a video on a product. - allOf: - - title: Product Video Base - description: Common Product Video properties. - properties: - title: - maxLength: 255 - minLength: 0 - type: string - example: Writing Great Documentation - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - example: A video about documenation - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - example: 1 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - - properties: - video_id: - type: string - maxLength: 25 - minLength: 0 - description: | - The ID of the video on a host site. - x-required: - - post - example: z3fRu9pkuXE - type: object - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productVideo - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/videos/{id}': - get: - tags: - - Product Videos - summary: Get a Product Video - description: Returns a single *Product Video*. Optional parameters can be passed in. - operationId: getProductVideoById - parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - $ref: '#/components/schemas/productVideo_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Videos - summary: Update a Product Video - description: |- - Updates a *Product Video. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateProductVideo - parameters: - - $ref: '#/components/parameters/ContentType' - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Product Video Put - description: | - The model for a PUT to update a video on a product. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productVideo - delete: - tags: - - Product Videos - summary: Delete a Product Video - description: Deletes a *Product Video*. - operationId: deleteProductVideo - parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VideoIdParam' - '/catalog/products/{product_id}/variants': - get: - tags: - - Product Variants - summary: Get All Product Variants - description: Returns a list of product *Variants*. Optional parameters can be passed in. - operationId: getVariantsByProductId - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 382 - product_id: 192 - sku: SMIT - sku_id: 348 - price: 10 - calculated_price: 10 - sale_price: 8 - retail_price: 10 - map_price: {} - weight: 4 - calculated_weight: 2 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 0 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 174 - label: Beige - option_id: 220 - option_display_name: Color - - id: 383 - product_id: 192 - sku: SMIT-1 - sku_id: 349 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 175 - label: Grey - option_id: 220 - option_display_name: Color - - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variants - summary: Create a Product Variant - description: |- - Creates a *Product Variant*. - - **Required Fields** - * sku - * option_values - - **Read-Only Fields** - * id - - **Limits** - * 600 SKUs per product limit. - * 255 characters SKU length limit. - - Variants need to be created one at a time using this endpoint. To use a variant array and create products and variants in the same call use the [Create Products](/docs/rest-management/catalog/products#create-a-product) during the initial product creation. - operationId: createVariant - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productVariant_Post' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - examples: - example-1: - value: - data: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - example-2: - value: - data: - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Variant - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/variants/{variant_id}': - get: - tags: - - Product Variants - summary: Get a Product Variant - description: Returns a single product *Variant*. Optional parameters can be passed in. - operationId: getVariantById - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 384 - product_id: 192 - sku: SMIT-2 - sku_id: 350 - price: 25 - calculated_price: 25 - sale_price: 20 - retail_price: 25 - map_price: {} - weight: 2 - calculated_weight: 1 - width: 5 - height: 5 - depth: 5 - is_free_shipping: false - fixed_cost_shipping_price: 10 - purchasing_disabled: false - purchasing_disabled_message: '' - image_url: '' - cost_price: 25 - upc: '' - mpn: '' - gtin: '' - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: '' - option_values: - - id: 176 - label: Black - option_id: 220 - option_display_name: Color - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variants - summary: Update a Product Variant - description: Updates a product *Variant*. - operationId: updateVariant - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/productVariant_Put' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - bin_picking_number: '0' - calculated_price: 85 - calculated_weight: 1 - cost_price: 0 - depth: 22 - fixed_cost_shipping_price: 0 - gtin: '' - height: 14.6 - id: 65 - inventory_level: 0 - inventory_warning_level: 0 - is_free_shipping: false - map_price: 0 - mpn: TR-SML02 - option_values: [] - price: 89 - product_id: 81 - purchasing_disabled: true - purchasing_disabled_message: This item is not available. - retail_price: 89 - sale_price: 85 - sku: OTS - sku_id: 10 - upc: '' - weight: 1 - width: 2 - meta: {} - '207': - description: |- - Multi-status. The product information was updated successfully, but the inventory data failed to update. - - Verify that the inventory-related updates are well-formed and correct; for example, that they donʼt result in negative stock levels. Then consider updating the inventory data again. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productVariant_Full' - errors: - $ref: '#/components/schemas/errorMultiStatus' - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Variant - delete: - tags: - - Product Variants - summary: Delete a Product Variant - description: Deletes a product *Variant*. - operationId: deleteVariantById - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/metafields': - get: - tags: - - Product Variants Metafields - summary: Get All Product Variant Metafields - description: Returns a list of product variant *Metafields*. Optional parameters can be passed in. - operationId: getVariantMetafieldsByProductIdAndVariantId - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/categoriesTree_Resp' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variants Metafields - summary: Create a Product Variant Metafield - description: |- - Creates a product variant *Metafield*. - - **Required Fields:** - * permission_set - * namespace - * key - * value - - **Read-Only Fields** - * id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createVariantMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: variant - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique-key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/metafields/{metafield_id}': - get: - tags: - - Product Variants Metafields - summary: Get a Product Variant Metafields - description: Returns a single product variant *Metafield*. Optional parameters can be passed in. - operationId: getVariantMetafieldByProductIdAndVariantId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: variant - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variants Metafields - summary: Update Product Variant Metafields - description: "Updates a product variant *Metafield*.\n\n**Required Fields:**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " - operationId: updateVariantMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: variant - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Product Variants Metafields - summary: Delete a Variant Metafield - description: Deletes a product variant *Metafield*. - operationId: deleteVariantMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/products/{product_id}/variants/{variant_id}/image': - post: - tags: - - Product Variants - summary: Create a Variant Image - description: |- - Creates a *Variant Image*. - - The image will show on the storefront when the value is selected. - - **Required Fields** - - image_file: Form posts. Files larger than 1 MB are not accepted - - image_url: Any publicly available URL - operationId: createVariantImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - multipart/form-data: - schema: - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - required: false - responses: - '200': - description: '`image_url` is returned for both `image_file` and `image_url`.' - content: - application/json: - schema: - title: Image Response - type: object - properties: - data: - title: Resource Image - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - example: - data: - image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Image was not valid. This is the result of a missing `image_file` field or of an incorrect file type. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '500': - description: Returns for an `image_file` larger than 1 MB. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/VariantIdParam' - '/catalog/products/{product_id}/options': - get: - tags: - - Product Variant Options - summary: Get All Product Variant Options - description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. ' - operationId: getOptions - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productOption_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get all product options - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Variant Options - summary: Create a Product Variant Option - description: |- - Creates a *Variant Option*. - - **Required Fields** - * display_name - * type - * option_values - - **Read-Only Fields** - * id - - **Limits** - * 255 characters option name length. - - **Notes** - - * Only one variant option at a time can be created; individual variant options will contain an array of multiple values. - * There are several examples listed below that create options, but the SKU’s are not updated and they are not a variant on the product. Variant SKUs must be created with a separate request. - * Variant options will show on the storefront as an option that can be selected by the customer. A request like this could be used to add new choices to a variant that has already been created. - * If more than one variant needs to be created use the [Create a Product](/docs/rest-management/catalog/products#create-a-product) endpoint. - operationId: createOption - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Option Post - description: The model for a POST to create options on a product. - allOf: - - title: Option Base - description: Common Option properties. - properties: - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - description: The values for option config can vary based on the Modifier created. - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - x-required: - - post - - put - items: - title: Option Value - allOf: - - title: Option Value Base - description: Common Option Value properties. - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - required: - - label - - sort_order - - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - type: object - image_url: - type: string - description: Publicly available image url - type: object - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - description: Common Option properties. - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - description: The values for option config can vary based on the Modifier created. - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - x-required: - - post - - put - items: - title: Option Value - allOf: - - title: Option Value Base - description: Common Option Value properties. - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - required: - - label - - sort_order - - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - type: object - image_url: - type: string - description: Publicly available image url - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - examples: - example-1: - value: - data: - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: earliest - date_earliest_value: '2022-08-24T00:00:00+00:00' - date_latest_value: '2022-08-27T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: none - sort_order: 1 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - image_url: string - name: Add-a-$5-Donation1535042499-187 - meta: {} - example-2: - value: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - '409': - description: | - Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - Option was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Option - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/options/{option_id}': - get: - tags: - - Product Variant Options - summary: Get a Product Variant Option - description: Returns a single *Variant Option*. Optional parameters can be passed in. - operationId: getOptionById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - $ref: '#/components/schemas/productOption_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variant Options - summary: Update a Product Variant Option - description: |- - Updates a *Variant Option*. - - **Read-Only Fields** - * id - operationId: updateOption - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Option Put - description: The model for a PUT to update options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - '409': - description: | - The `Option` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Option` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: option - delete: - tags: - - Product Variant Options - summary: Delete a Product Variant Option - description: Deletes a *Variant Option*. - operationId: deleteOptionById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - '/catalog/products/{product_id}/options/{option_id}/values': - get: - tags: - - Product Variant Option Values - summary: Get All Product Variant Option Values - description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in. - operationId: getOptionValues - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Collection Response - type: object - properties: - data: - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get Option Values response. - example: - data: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - meta: - pagination: - total: 4 - count: 4 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Variant Option Values - summary: Create a Product Variant Option Value - description: |- - Creates a *Variant Option Value*. - - **Required Fields** - * label - * sort_order - - **Read-Only Fields** - * id - - **Limits** - * 250 option values per option limit. - operationId: createOptionValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Option Value Post - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '422': - description: | - The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: OptionValue - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - '/catalog/products/{product_id}/options/{option_id}/values/{value_id}': - get: - tags: - - Product Variant Option Values - summary: Get a Product Variant Option Value - description: Returns a single *Variant Option Value*. Optional parameters can be passed in. - operationId: getOptionValueById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Variant Option Values - summary: Update a Product Variant Option Value - description: |- - Updates a *Variant Option Value*. - - **Read-Only Fields** - * id - operationId: updateOptionValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - requestBody: - description: | - A BigCommerce `OptionValue` object. - content: - application/json: - schema: - title: Option Value Put - description: The model for a PUT to update option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - x-nullable: true - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - '404': - description: No option(s) were found with this query. - content: {} - '422': - description: | - The `OptionValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: OptionValue - delete: - tags: - - Product Variant Option Values - summary: Delete a Product Variant Option Value - description: Deletes a *Variant Option Value*. - operationId: deleteOptionValueById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/OptionIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/modifiers': - get: - tags: - - Product Modifiers - summary: Get All Product Modifiers - description: Returns a list of all *Product Modifiers*. Optional parameters can be passed in. - operationId: getModifiers - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productModifier_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Modifier Collection Response return for /GET All Modifiers. - example: - data: - - id: 206 - product_id: 158 - name: Insurance - display_name: Insurace - type: checkbox - required: true - config: - checkbox_label: $5 for insurance - checked_by_default: false - option_values: - - id: 183 - option_id: 206 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 184 - option_id: 206 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Modifiers - summary: Create a Product Modifier - description: |- - Creates a *Product Modifier*. - - **Required Fields** - * `required` - * `display_name` - * `type` - - **Read-Only Fields** - * `id` - - **Notes** - It takes two separate requests to create a new checkbox modifier with option values. Perform a request to create a modifier, then perform a second request to update option values. - operationId: createModifier - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Modifier Post - description: The model for a POST to create a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2018-08-31T00:00:00+00:00' - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date-time - example: '2019-01-01T00:00:00+00:00' - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - example: - - images - - documents - - other - items: - type: string - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - example: - - pdf - - txt - items: - type: string - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - required: - - display_name - type: object - properties: - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - x-required: - - post - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `Modifier` was in conflict with another option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Modifier - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}': - get: - tags: - - Product Modifiers - summary: Get a Modifier - description: Returns a single *Product Modifier*. Optional parameters can be passed in. - operationId: getModifierById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - $ref: '#/components/schemas/productModifier_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Modifiers - summary: Update a Modifier - description: Updates a *Product Modifier*. - operationId: updateModifier - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Put - description: The model for a PUT to update a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: 'Part of Modifier Value Response ' - description: Common Modifier properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `Modifier` was in conflict with another modifier or option. This is the result of duplicate unique fields, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Modifier` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Modifier - delete: - tags: - - Product Modifiers - summary: Delete a Modifier - description: Deletes a *Product Modifier*. - operationId: deleteModifierById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values': - get: - tags: - - Product Modifier Values - summary: Get All Modifier Values - description: Returns a list of all product *Modifier Values*. Optional parameters can be passed in. - operationId: getModifierValues - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/productModifierOptionValue_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Returns for GET All Modifier Values on a Product - example: - data: - - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 191 - option_id: 222 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Modifier Values - summary: Create Modifier Value - description: |- - Creates a *Modifier Value*. - - **Required Fields** - * label - * sort_order - - **Read-Only Fields** - * id - operationId: createModifierValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Value Post - description: The model for a POST to create a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '422': - description: | - The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ModifierValue - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}': - get: - tags: - - Product Modifier Values - summary: Get a Modifier Value - description: Returns a single *Modifier Value*. Optional parameters can be passed in. - operationId: getModifierValueById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - $ref: '#/components/schemas/productModifierOptionValue_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - security: - - X-Auth-Token: [] - put: - tags: - - Product Modifier Values - summary: Update a Modifier Value - description: |- - Updates a *Modifier Value*. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateModifierValue - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Modifier Value Put - description: The model for a PUT to update a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - '422': - description: | - The `ModifierValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ModifierValue - delete: - tags: - - Product Modifier Values - summary: Delete Modifier Value - description: Deletes a *Modifier Value*. - operationId: deleteModifierValueById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier/Option Value`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/modifiers/{modifier_id}/values/{value_id}/image': - post: - tags: - - Product Modifier Images - summary: Create Modifier Image - description: |- - Creates a *Modifier Image*. - - The image will show on the storefront when the value is selected. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - operationId: createModifierImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: value_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - title: Image Response - type: object - properties: - data: - title: Resource Image - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - example: - data: - image_url: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Modifier image was not valid. This is the result of missing `image_file` fields, or of a non-URL value for the `image_file` field. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ModifierIdParam' - - $ref: '#/components/parameters/ValueIdParam' - '/catalog/products/{product_id}/complex-rules': - get: - tags: - - Product Complex Rules - summary: Get Complex Rules - description: Returns a list of all product *Complex Rules*. Optional parameters may be passed in. - operationId: getComplexRules - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Complex Rule Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/complexRule_Base' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Complex Rule Response - example: - data: - - id: 82 - product_id: 195 - sort_order: 0 - enabled: true - stop: false - price_adjuster: - adjuster: relative - adjuster_value: 8 - weight_adjuster: {} - purchasing_disabled: false - purchasing_disabled_message: '' - purchasing_hidden: false - image_url: '' - conditions: - - rule_id: 82 - modifier_id: 221 - modifier_value_id: 175 - variant_id: 1 - combination_id: 0 - - id: 83 - product_id: 195 - sort_order: 1 - enabled: true - stop: false - price_adjuster: {} - weight_adjuster: - adjuster: relative - adjuster_value: 3 - purchasing_disabled: false - purchasing_disabled_message: '' - purchasing_hidden: false - image_url: '' - conditions: - - rule_id: 83 - modifier_id: 221 - modifier_value_id: 174 - variant_id: 1 - combination_id: 0 - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Product Complex Rules - summary: Create a Complex Rule - description: |- - Creates a product *Complex Rule*. - - **Required Fields** - - modifier_id - - modifier_value_id - - modifier_value_id - - variant_id - - **Read-Only Fields** - - complex_rule_id - - conditions_id - - rule_id - - combination_id - - id - operationId: createComplexRule - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Complex Rule - type: object - properties: - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ComplexRule - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/complex-rules/{complex_rule_id}': - get: - tags: - - Product Complex Rules - summary: Get a Complex Rule - description: Returns a single *Complex Rule*. Optional parameters can be passed in. - operationId: getComplexRuleById - parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Complex Rules - summary: Update a Complex Rule - description: |- - Updates a *Complex Rule*. - - **Required Fields**: - - none - - **Read-Only Fields**: - - complex_rule_id - - conditions_id - - rule_id - - combination_id - - id - operationId: updateComplexRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - requestBody: - content: - application/json: - schema: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '409': - description: | - The `ComplexRule` was in conflict with another `ComplexRule`. This is the result of duplicate conditions. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `ComplexRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: ComplexRule - delete: - tags: - - Product Complex Rules - summary: Delete a Complex Rule - description: Deletes a product *Complex Rule*. - operationId: deleteComplexRuleById - parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ComplexRuleIdParam' - '/catalog/products/{product_id}/custom-fields': - get: - tags: - - Product Custom Fields - summary: Get Custom Fields - description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. - operationId: getCustomFields - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - name: Release year - value: '1987' - id: 1 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: '?page=1&limit=50' - current: '?page=1&limit=50' - next: '?page=1&limit=50' - post: - tags: - - Product Custom Fields - summary: Create a Custom Fields - description: |- - Creates a *Custom Field*. - - **Required Fields:** - - name - - value - - **Read-Only:** - - id - - **Limits** - - 200 custom fields per product limit. - - 255 characters per custom field limit. - operationId: createCustomField - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Custom Field - required: - - name - - value - type: object - properties: - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: CustomField - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/custom-fields/{custom_field_id}': - get: - tags: - - Product Custom Fields - summary: Get a Custom Field - description: Returns a single *Custom Field*. Optional parameters can be passed in. - operationId: getCustomFieldById - parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/productCustomField_Base' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Custom Fields - summary: Update a Custom Field - description: |- - Updates a *Custom Field*. - - **Required Fields** - - none - - **Read-Only** - - id - operationId: updateCustomField - parameters: - - $ref: '#/components/parameters/ContentType' - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - The `CustomField` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: CustomField - delete: - tags: - - Product Custom Fields - summary: Delete a Custom Field - description: Deletes a product *Custom Field*. - operationId: deleteCustomFieldById - parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - responses: - '204': - description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' - content: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/CustomFieldIdParam' - '/catalog/products/{product_id}/bulk-pricing-rules': - get: - tags: - - Product Bulk Pricing Rules - summary: Get All Bulk Pricing Rules - description: Returns a list of *Bulk Pricing Rules*. Optional parameters can be passed in. - operationId: getBulkPricingRules - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - - id: 84 - quantity_min: 4 - quantity_max: 0 - type: price - amount: 1 - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Bulk Pricing Rules - summary: Create a Bulk Pricing Rule - description: |- - Creates a *Bulk Pricing Rule*. - - **Required Fields** - - quantity_min - - quantity_max - - type - - amount - - **Read-Only Fields** - - id - - **Limits** - - 50 bulk pricing rule per product limit. - operationId: createBulkPricingRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/bulkPricingRule_Full' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - title: Meta - type: object - description: Empty meta object; may be used later. - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: BulkPricingRule - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/bulk-pricing-rules/{bulk_pricing_rule_id}': - get: - tags: - - Product Bulk Pricing Rules - summary: Get a Bulk Pricing Rule - description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. - operationId: getBulkPricingRuleById - parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Bulk Pricing Rules - summary: Update a Bulk Pricing Rule - description: |- - Updates a *Bulk Pricing Rule*. - - **Required Fields** - * none - - **Read-Only Fields** - - id - operationId: updateBulkPricingRule - parameters: - - $ref: '#/components/parameters/ContentType' - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Bulk Pricing Rule - required: - - amount - - quantity_max - - quantity_min - - type - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. - Required in /POST. - example: 10 - x-required: - - post - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - Required in /POST. - example: 50 - x-required: - - post - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - Required in /POST. - example: price - enum: - - price - - percent - - fixed - x-required: - - post - amount: - type: integer - description: |- - The discount can be a fixed dollar amount or a percentage. For a fixed dollar amount enter it as an integer and the response will return as an integer. For percentage enter the amount as the percentage divided by 100 using string format. For example 10% percent would be “.10”. The response will return as an integer. - Required in /POST. - description: Common BulkPricingRule properties - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `BulkPricingRule` was in conflict with another bulk pricing rule. This is the result of quantity range overlapping with existing bulk pricing rules. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `BulkPricingRule` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: BulkPricingRule - delete: - tags: - - Product Bulk Pricing Rules - summary: Delete a Bulk Pricing Rule - description: Deletes a *Bulk Pricing Rule*. - operationId: deleteBulkPricingRuleById - parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - '404': - description: | - The resource or parent resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/BulkPricingRuleIdParam' - '/catalog/products/{product_id}/metafields': - get: - tags: - - Product Metafields - summary: Get All Product Metafields - description: Returns a list of *Product Metafields*. Optional parameters can be passed in. - operationId: getProductMetafieldsByProductId - parameters: - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: product - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Sublocation - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: product - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Metafields - summary: Create a Product Metafield - description: |- - Creates a *Product Metafield*. - - **Required Fields:** - * permission_set - * namespace - * key - * value - - **Read-Only Fields** - * id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createProductMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 8 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: Inventory Namespace - permission_set: read - resource_type: product - resource_id: 158 - description: Where products are located - date_created: '2018-09-13T16:42:37+00:00' - date_modified: '2018-09-13T16:42:37+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: |- - The HTTP status code. - title: - type: string - description: |- - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/metafields/{metafield_id}': - get: - tags: - - Product Metafields - summary: Get a Product Metafield - description: Returns a single *Product Metafield*. Optional parameters can be passed in. - operationId: getProductMetafieldByProductId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Metafields - summary: Update a Product Metafield - description: "Updates a *Product Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified using the API account that created the metafield:\n\t* `namespace`\n\t* `key`\n\t* `permission_set`\n\t* `value`\n\n**Usage Notes**\n* Attempting to modify the `namespace`, `key`, `permission_set`, or `value` field using an API account different from the one used to create those metafields will result in a `403` error message. " - operationId: updateProductMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Product Metafields - summary: Delete a Product Metafield - description: Deletes a *Product Metafield*. - operationId: deleteProductMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/products/{product_id}/reviews': - get: - tags: - - Product Reviews - summary: Get Product Reviews - description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. - operationId: getProductReviews - parameters: - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: status - in: query - description: 'Filter items by status. `1` for approved, `0` for pending.' - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Collection Response - type: object - properties: - data: - type: array - items: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaCollection_Full' - '204': - description: | - There are no reviews on this product. - content: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Product Reviews - summary: Create a Product Review - description: |- - Creates a *Product Review*. - - **Required Fields** - - title - - date_reviewed - - **Read-Only Fields** - * id - operationId: createProductReview - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Product Review Post - description: | - The model for a POST to create a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The product ID does not exist. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productReview - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - '/catalog/products/{product_id}/reviews/{review_id}': - get: - tags: - - Product Reviews - summary: Get a Product Review - description: Returns a single *Product Review*. Optional parameters maybe passed in. - operationId: getProductReviewById - parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Product Reviews - summary: Update a Product Review - description: |- - Updates a *Product Review*. - - **Required Fields** - * none - - **Read-Only Fields** - * id - operationId: updateProductReview - parameters: - - $ref: '#/components/parameters/ContentType' - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - requestBody: - description: | - A BigCommerce `ProductReview` object. - content: - application/json: - schema: - title: Product Review Put - description: | - The model for a PUT to update a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: 3 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: productReview - delete: - tags: - - Product Reviews - summary: Delete a Product Review - description: Deletes a *Product Review*. - operationId: deleteProductReview - parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ProductIdParam' - - $ref: '#/components/parameters/ReviewIdParam' - '/catalog/categories': - get: - tags: - - Category - summary: Get All Categories - description: Returns a list of *Categories*. Optional filter parameters can be passed in. - operationId: getCategories - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: 'name:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - - name: 'parent_id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: 'page_title:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Base - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 19 - parent_id: 0 - name: Garden - description:

This is the garden description

- views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Category - summary: Create a Category - description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-management/catalog/categories-batch#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." - operationId: createCategory - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Category - type: object - description: Common Category object properties. - properties: - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the category should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - '409': - description: | - The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: category - delete: - tags: - - Category - summary: Delete Categories - description: |- - Deletes *Category* objects. At least one filter parameter is required to perform the `DELETE` operation. - - **Usage Notes** - - - Sending a `DELETE`request without specifying a filter parameter will result in a `422` error. - - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a category. - operationId: deleteCategories - parameters: - - name: id - in: query - description: Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - - name: 'name:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - - name: 'parent_id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'parent_id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'page_title:like' - in: query - style: form - explode: false - schema: - type: array - items: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/categories/{category_id}': - get: - tags: - - Category - summary: Get a Category - description: Returns a single *Category*. Optional parameters can be passed in. - operationId: getCategoryById - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Category - summary: Update a Category - description: |- - Updates a *Category*. - - **Required Fields** - * none - - **Read-Only Fields** - - id - operationId: updateCategory - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Category - type: object - description: Common Category object properties. - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - title: Category - type: object - description: Common Category object properties. - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - title: Custom Url Category - type: object - description: The custom URL for the category on the storefront. - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Category URL on the storefront. - example: /shoes - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - required: - - parent_id - - name - meta: - title: Meta - type: object - description: Empty meta object; may be used later. - '207': - $ref: '#/components/responses/General207Status' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: 'The `Category` was in conflict with another category. This is the result of duplicate unique values, such as `name` or `custom_url`.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: 'The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: category - delete: - tags: - - Category - summary: Delete a Category - description: Deletes a *Category*. - operationId: deleteCategoryById - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/categories/{category_id}/metafields': - get: - tags: - - Category Metafields - summary: Get All Category Metafields - description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in. - operationId: getCategoryMetafieldsByCategoryId - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: category - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: category - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Category Metafields - summary: Create a Category Metafield - description: |- - Creates a *Category Metafield*. - - **Required Fields:** - - permission_set - - namespace - - key - - value - - **Read-Only Fields** - - id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createCategoryMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate, unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/categories/{category_id}/metafields/{metafield_id}': - get: - tags: - - Category Metafields - summary: Get a Category Metafield - description: Returns a single *Category Metafield*. Optional parameters can be passed in. - operationId: getCategoryMetafieldByCategoryId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Category Metafields - summary: Update a Category Metafield - description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message. " - operationId: updateCategoryMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: category - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Category Metafields - summary: Delete a Category Metafield - description: Deletes a *Category Metafield*. - operationId: deleteCategoryMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/categories/{category_id}/image': - post: - tags: - - Category Images - summary: Create a Category Image - description: |- - Create a *Category Image*. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - - Only one image at a time can be created. - Limit image size to 1MB. - To update a *Category Image*, use the [Update categories](/docs/rest-management/catalog/categories-batch#update-categories) endpoint and an `image_url`. - operationId: createCategoryImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: | - Image was not valid. This is the result of a missing `image_file` field or an incorrect file type. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - delete: - tags: - - Category Images - summary: Delete a Category Image - description: Deletes a *Cateogory Image*. - operationId: deleteCategoryImage - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/brands': - get: - tags: - - Brands - summary: Get All Brands - description: Returns a list of *Brands*. Optional filter parameters can be passed in. - operationId: getBrands - parameters: - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/brand_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 35 - name: Sagaform - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: '' - search_keywords: '' - custom_url: - url: /brands/Sagaform.html - is_customized: false - - id: 36 - name: OFS - page_title: OFS - meta_keywords: - - modern - - ' clean' - - ' contemporary' - meta_description: OFS is a modern brand. - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/OFS.html - is_customized: false - - id: 37 - name: Common Good - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/k/screen%20shot%202018-05-07%20at%2012.24.24%20pm_1525785365__65102.png' - search_keywords: '' - custom_url: - url: /brands/Common-Good.html - is_customized: false - - id: 38 - name: BigCommerce - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: '' - search_keywords: '' - custom_url: - url: /bigcommerce/ - is_customized: false - - id: 39 - name: Test Brand One - page_title: '' - meta_keywords: - - '' - meta_description: '' - image_url: 'https://cdn8.bigcommerce.com/s-jrah6gmn/product_images/q/apihqggzm__53766.jpg' - search_keywords: '' - custom_url: - url: /test-brand-one/ - is_customized: false - - id: 40 - name: Fog Linen Work - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /fog-linen-work/ - is_customized: false - - id: 41 - name: Barr-Co. - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /barr-co/ - is_customized: false - - id: 42 - name: Thames & Hudson - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /thames-hudson/ - is_customized: false - - id: 43 - name: Able Brewing - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /able-brewing/ - is_customized: false - - id: 44 - name: Chemex - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /chemex/ - is_customized: false - - id: 45 - name: Kinfolk - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /kinfolk/ - is_customized: false - - id: 46 - name: Iris Hantverk - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /iris-hantverk/ - is_customized: false - - id: 47 - name: Gather Journal - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /gather-journal/ - is_customized: false - - id: 48 - name: Openhouse Magazine - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /openhouse-magazine/ - is_customized: false - - id: 49 - name: Smith Journal - page_title: '' - meta_keywords: - - '' - meta_description: description - image_url: '' - search_keywords: '' - custom_url: - url: /smith-journal/ - is_customized: false - meta: - pagination: - total: 15 - count: 15 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - post: - tags: - - Brands - summary: Create a Brand - description: |- - Creates a *Brand*. - - **Required Fields** - - name - - **Read-Only Fields** - - id - - **Limits** - - 30,000 brands per store limit - operationId: createBrand - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Brand - type: object - description: Common brand properties. - properties: - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - description: The custom URL for the brand on the storefront. - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - required: - - name - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '207': - $ref: '#/components/responses/General207Status' - '409': - description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: 'Brand was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Brand - delete: - tags: - - Brands - summary: Delete Brands - description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' - operationId: deleteBrands - parameters: - - name: name - in: query - description: | - Filter items by name. - schema: - type: string - - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/brands/{brand_id}': - get: - tags: - - Brands - summary: Get a Brand - description: Returns a single *Brand*. Optional filter parameters can be passed in. - operationId: getBrandById - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - $ref: '#/components/schemas/brand_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Brands - summary: Update a Brand - description: |- - Updates a *Brand*. - - **Required Fields** - - None - - **Read-Only Fields** - - id - - To update a *Brand Image*, send a request with an `image_url`. - operationId: updateBrand - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - example: - - 'modern, clean, contemporary' - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - example: - - 'modern, clean, contemporary' - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - '207': - $ref: '#/components/responses/General207Status' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '409': - description: | - The `Brand` was in conflict with another product. This is the result of duplicate unique values, such as `name`. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Brand` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: brand - delete: - tags: - - Brands - summary: Delete a Brand - description: Deletes a *Brand*. - operationId: deleteBrandById - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/brands/{brand_id}/metafields': - get: - tags: - - Brand Metafields - summary: Get All Brand Metafields - description: 'Returns a list of *Brand Metafields*. Optional filter parameters can be passed in. ' - operationId: getBrandMetafieldsByBrandId - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: brand - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - id: 7 - key: Brand location - value: 4HG - namespace: Warehouse Locations - permission_set: read - resource_type: brand - resource_id: 111 - description: Location in the warehouse - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - post: - tags: - - Brand Metafields - summary: Create a Brand Metafield - description: |- - Creates a *Brand Metafield*. - - **Required Fields** - - permission_set - - namespace - - key - - value - - **Read-Only Fields** - - id - - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. - operationId: createBrandMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - examples: - example-1: - value: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - example-2: - value: - data: - id: 6 - key: Location - value: 4HG - namespace: Warehouse Locations - permission_set: app_only - resource_type: category - resource_id: 111 - description: Location in the warehouse. - date_created: '2018-05-07T20:14:17+00:00' - date_modified: '2018-05-07T20:14:17+00:00' - meta: {} - example-3: - value: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: brand - resource_id: 137 - description: Where products are located. - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '409': - description: | - The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key combination of the app's client id, namespace, key, resource_type, and resource_id. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - '422': - description: | - The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - x-codegen-request-body-name: Metafield - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/brands/{brand_id}/metafields/{metafield_id}': - get: - tags: - - Brand Metafields - summary: Get a Brand Metafields - description: Returns a *Brand Metafield*. Optional filter parameters can be passed in. - operationId: getBrandMetafieldByBrandId - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Brand Metafields - summary: Update a Brand Metafield - description: "Updates a *Brand Metafield*.\n\n**Required Fields** \n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* Attempting to modify `namespace`, `key`, and `permission_set` fields using a client ID different from the one used to create those metafields will result in a 403 error message.\n* The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center." - operationId: updateBrandMetafield - parameters: - - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/metafield_Base' - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - $ref: '#/components/schemas/metafield_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 4 - key: location_id - value: 'Shelf 3, Bin 5' - namespace: App Namespace - permission_set: app_only - resource_type: product - resource_id: 137 - description: Where products are located - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - meta: {} - '404': - description: | - The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-codegen-request-body-name: Metafield - delete: - tags: - - Brand Metafields - summary: Delete a Brand Metafield - description: Deletes a *Brand Metafield*. - operationId: deleteBrandMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - - $ref: '#/components/parameters/MetafieldIdParam' - '/catalog/brands/{brand_id}/image': - post: - tags: - - Brand Images - summary: Create a Brand Image - description: |- - Creates a *Brand Image*. - - **Required Fields** - - image_file: Form posts are the only accepted upload option. - - **Read-Only Fields** - - id - - Only one image at a time can be created. To update a *Brand Image*, use the [Update a brand](/docs/rest-management/catalog/brands#update-a-brand) endpoint and an `image_url`. - operationId: createBrandImage - parameters: - - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image_file: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - '400': - description: Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include malformed request syntax or the file host blocking requests. - content: - application/json: - schema: - type: object - properties: {} - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - '422': - description: 'Image was not valid. This is the result of a missing `image_file` field, or of an incorrect file type. See the response for more details.' - content: - application/json: - schema: - title: Error Response - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - instance: - type: string - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - delete: - tags: - - Brand Images - summary: Delete a Brand Image - description: Deletes a *Brand Image*. - operationId: deleteBrandImage - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - responses: - '204': - description: '' - content: {} - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/BrandIdParam' - '/catalog/variants': - get: - tags: - - Variants - summary: Get All Variants - description: Returns a list of all variants in your catalog. Optional parameters can be passed in. - operationId: getVariants - parameters: - - name: id - in: query - description: Filter items by ID. - schema: - type: integer - - name: sku - in: query - description: Filter items by SKU. - schema: - type: string - - name: upc - in: query - description: Filter items by UPC. - schema: - type: string - - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - - name: include_fields - in: query - description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned. - schema: - type: string - - name: exclude_fields - in: query - description: Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded. - schema: - type: string - - name: product_id - in: query - description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - $ref: '#/components/schemas/metaCollection_Full' - '404': - description: The resource was not found. - content: - application/json: - schema: - title: Not Found - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - put: - tags: - - Variants - summary: Update Variants (Batch) - description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' - operationId: updateVariantsBatch - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Variants Collection Put - type: array - items: - title: Variant Put - type: object - description: | - The model for a PUT to update variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - x-required: - - put - required: true - responses: - '200': - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Collection Meta - type: object - properties: - pagination: - title: Pagination - type: object - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - description: 'Data about the response, including pagination and collection totals.' - '413': - description: '' - content: - application/json: - example: - errors: {} - status: 413 - title: The request payload is too large. The maximum items allowed in the array is 50 - type: /api-docs/getting-started/api-status-codes - '422': - description: | - This is the result of missing required fields, or of invalid data. See the response for more details. - content: - application/json: - schema: - title: Variants Batch Error Response - type: object - properties: - batch_errors: - type: array - items: - title: Error Response - type: object - allOf: - - title: Base Error - type: object - properties: - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - instance: - type: string - description: | - Error payload for the BigCommerce API. - - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - description: | - Errors during batch usage for the BigCommerce API. - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/summary': - get: - tags: - - Summary - summary: Get a Catalog Summary - description: |- - Returns a lightweight inventory summary from the BigCommerce Catalog. - - The inventory summary includes: - * "inventory_count" - * "variant_count" - * "inventory_value" - * "highest_variant_price" - * "average_variant_price" - * "lowest_variant_price" - * "oldest_variant_date" - * "newest_variant_date" - * "primary_category_id" - * "primary_category_name" - operationId: getCatalogSummary - responses: - '200': - description: '' - content: - application/json: - schema: - title: Catalog Summary Response - type: object - properties: - data: - title: Catalog Summary - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/categories/{category_id}/products/sort-order': - get: - tags: - - Product Sort Order - summary: Get Product Sort Order - description: |- - Returns a list of products and their sort order for a specific category. - - **Usage Notes** - * Data pairs are displayed in ascending order based on products' `sort_order` values. - * `null` values are allowed for products without specified `sort_order` values. - * Products with `sort_order` value of `null` will be displayed after products with valid numerical values. - * The priorities for determining product sort order on a storefront are the following: - - Priority 1: Manually specified sort order on Category Level (API). - - Priority 2: Manually specified sort order on Product (Global) Level (UI/API). - - Priority 3: Default sorting by Product ID (newly added products go first) (UI/API). - operationId: getsortorders - parameters: - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: {} - '404': - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - put: - tags: - - Product Sort Order - summary: Update Product Sort Order - description: Updates sort order of products within a specific category. - operationId: updatesortorder - parameters: - - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/productSortOrder' - required: false - responses: - '200': - description: '' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/productSortOrder' - '404': - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - '422': - description: |- - Unprocessable entity. - - Please verify if all requested products are assigned to the category. - - Please verify if all required fields are present in the request body and are filled with values correctly. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - x-codegen-request-body-name: body - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/CategoryIdParam' - '/catalog/trees/categories': - get: - summary: Get All Categories - description: |- - Returns a list of categories. - - To get a specific category in a tree, provide a category id. - tags: - - Categories Batch - parameters: - - name: 'category_uuid:in' - in: query - schema: - type: string - - name: 'category_uuid:not_in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - - name: 'category_id:not_in' - in: query - schema: - type: string - - name: 'tree_id:in' - in: query - schema: - type: string - - name: 'tree_id:not_in' - in: query - schema: - type: string - - name: 'parent_id:in' - in: query - schema: - type: string - - name: 'parent_id:not_in' - in: query - schema: - type: string - - name: name - in: query - schema: - type: string - - name: 'name:like' - in: query - schema: - type: string - - name: page_title - in: query - schema: - type: string - - name: 'page_title:like' - in: query - schema: - type: string - - name: keyword - in: query - schema: - type: string - - name: is_visible - in: query - schema: - type: boolean - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: include_fields - in: query - schema: - type: string - - name: exclude_fields - in: query - schema: - type: string - responses: - '200': - description: List of categories. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/MetaPagination' - examples: - example-1: - value: - data: - - id: 0 - parent_id: 2 - name: Bath - description:

We offer a wide variety of products perfect for relaxing

- views: 1050 - sort_order: 3 - page_title: Bath - meta_keywords: - - string - meta_description: string - layout_file: category.html - image_url: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - is_visible: true - search_keywords: string - default_product_sort: use_store_settings - url: - path: string - is_customized: true - meta: - pagination: - total: 246 - count: 5 - per_page: 5 - current_page: 1 - total_pages: 50 - links: - previous: '?limit=5&page=1' - current: '?limit=5&page=2' - next: '?limit=5&page=3' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: getAllCategories - post: - summary: Create Categories - description: |- - Creates new categories. - - Creating a category requires: - - `name` - - `url` - - `tree_id` or `parent_id` - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Categories Batch - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateCategories' - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessResponse' - '207': - description: Multi-Status - content: - application/json: - schema: - $ref: '#/components/schemas/PartialSuccessResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '422': - description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: createCategories - put: - summary: Update Categories - description: |- - Updates existing categories. - - To update a specific category in a tree, provide a category id. - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Categories Batch - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateCategories' - responses: - '200': - description: OK - '204': - description: No Content - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessNoContentResponse' - '207': - description: Partial success - content: - application/json: - schema: - $ref: '#/components/schemas/PartialSuccessNoContentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '422': - description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponse' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: updateCategories - delete: - summary: Delete Categories - description: |- - Deletes categories. - - To delete a specific category in a tree, provide a category id. - tags: - - Categories Batch - parameters: - - name: 'category_uuid:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - - name: 'tree_id:in' - in: query - schema: - type: string - - name: 'parent_id:in' - in: query - schema: - type: string - responses: - '204': - description: Categories are deleted - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessNoContentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - '500': - description: Server error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' - operationId: deleteTreeCategories - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/trees': - get: - summary: Get All Category Trees - description: Returns a list of *Category Trees*. - operationId: GetCategoryTrees - parameters: - - name: 'id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '200': - description: List of category trees. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Tree' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - example: - data: - - id: 0 - name: string - channels: - - 0 - meta: - pagination: - total: 246 - count: 5 - per_page: 5 - current_page: 1 - total_pages: 50 - links: - next: '?limit=5&page=2' - current: '?limit=5&page=1' - tags: - - Category Trees - put: - summary: Upsert Category Trees - description: | - Upserts *Category Trees*. - - If a tree object contains an ID, it is processed as an update operation using that ID. If no ID is provided, a new tree is created. - - **Usage Notes** - * `channel_id` is required to create a *Category Tree*. You can assign one `channel_id` to one category tree. - parameters: - - $ref: '#/components/parameters/ContentType' - operationId: UpsertCategoryTrees - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Tree' - example: - - id: 0 - name: string - channels: - - 0 - responses: - '200': - description: Created a category tree. - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/Tree' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 0 - name: string - channels: - - 0 - meta: - type: object - properties: {} - description: Empty meta object; reserved for use later. - '422': - description: The Channel was not valid. See the response for more details. - content: - application/json: - schema: - $ref: '#/components/schemas/beta4ErrorResponse' - example: - status: 0 - title: string - type: string - instance: string - errors: - additionalProp1: string - additionalProp2: string - additionalProp3: string - tags: - - Category Trees - delete: - summary: Delete Category Trees - description: Deletes *Category Trees*. A filter must be supplied with the endpoint. - operationId: DeleteCategoryTrees - parameters: - - name: 'id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - tags: - - Category Trees - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/trees/{tree_id}/categories': - get: - summary: Get a Category Tree - description: Returns a *Category Tree*. - operationId: GetCategoryTreeByTreeId - parameters: - - name: depth - description: Max depth for a tree of categories. - in: query - schema: - type: integer - responses: - '200': - description: Categories tree - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/CategoryNode' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - - id: 0 - parent_id: 0 - depth: 0 - path: - - 0 - name: string - is_visible: true - children: - - string - meta: - type: object - properties: {} - description: Empty meta object; reserved for use later. - '404': - description: The tree was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/beta4ErrorResponse' - example: - status: 0 - title: string - type: string - instance: string - errors: - additionalProp1: string - additionalProp2: string - additionalProp3: string - tags: - - Category Trees - parameters: - - $ref: '#/components/parameters/Accept' - - schema: - type: string - name: tree_id - in: path - required: true - '/catalog/products/channel-assignments': - get: - summary: Get Products Channel Assignments - description: Returns a list of products channel assignments. - operationId: GetProductsChannelAssignments - tags: - - Products Channel Assignments - parameters: - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '200': - description: Collection of channel assignments. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/ProductChannelAssignment' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - put: - summary: Create Products Channel Assignments - description: Creates products channel assignments. - operationId: CreateProductsChannelAssignments - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Products Channel Assignments - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ProductChannelAssignment' - responses: - '204': - description: Updated - '422': - description: Error response for batch PUT of Channel Assignments. Includes the errors for each reference id. - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - delete: - summary: Delete Products Channel Assignments - description: Delete products channel assignments. A filter must be supplied. - operationId: DeleteProductsChannelAssignments - tags: - - Products Channel Assignments - parameters: - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'channel_id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - '422': - description: At least one filter must be provided in order to delete channel assignments - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - parameters: - - $ref: '#/components/parameters/Accept' - '/catalog/products/category-assignments': - get: - summary: Get Products Category Assignments - description: Returns a list of products category assignments. - operationId: GetProductsCategoryAssignments - tags: - - Products Category Assignments - parameters: - - name: page - in: query - schema: - type: integer - - name: limit - in: query - schema: - type: integer - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - responses: - '200': - description: Collection of category assignments. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/ProductCategoryAssignment' - meta: - $ref: '#/components/schemas/MetaPaginationObject' - put: - summary: Create Products Category Assignments. - description: Creates products category assignments. - operationId: CreateProductsCategoryAssignments - parameters: - - $ref: '#/components/parameters/ContentType' - tags: - - Products Category Assignments - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ProductCategoryAssignment' - responses: - '204': - description: Updated - '422': - description: Error response for batch PUT of Category Assignments. Includes the errors for each reference id. - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - delete: - summary: Delete Products Category Assignments - description: Deletes products category assignments. A filter must be supplied. - operationId: DeleteProductsCategoryAssignments - tags: - - Products Category Assignments - parameters: - - name: 'product_id:in' - in: query - schema: - type: string - - name: 'category_id:in' - in: query - schema: - type: string - responses: - '204': - description: Deleted - '422': - description: At least one filter must be provided in order to delete category assignments - content: - application/json: - schema: - $ref: '#/components/schemas/beta5ErrorResponse' - parameters: - - $ref: '#/components/parameters/Accept' -components: - schemas: - formData_ImageFileParam: - type: string - description: | - An image file. Supported MIME types include GIF, JPEG, and PNG. - format: binary - productModifier_Base: - title: productModifier_Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - $ref: '#/components/schemas/config_Full' - display_name: - type: string - description: The name of the option shown on the storefront. - description: Common Modifier properties. - x-internal: false - productModifier_Full: - title: productModifier_Full - description: Product Modifier - allOf: - - $ref: '#/components/schemas/productModifier_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - option_values: - type: array - items: - $ref: '#/components/schemas/productModifierOptionValue_Full' - x-internal: false - productModifier_Post: - title: productModifier_Post - description: The model for a POST to create a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - required: - - display_name - type: object - properties: - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - x-required: - - post - x-internal: false - productModifier_Put: - title: productModifier_Put - description: The model for a PUT to update a modifier on a product. - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - x-internal: false - productModifierOptionValue_Base: - title: productModifierOptionValue_Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. - nullable: true - adjusters: - $ref: '#/components/schemas/adjusters_Full' - description: Common Product Modifer `option_value` properties. - x-internal: false - productModifierOptionValue_Full: - title: productModifierOptionValue_Full - description: Product Modifer `option_value`. - allOf: - - $ref: '#/components/schemas/productModifierOptionValue_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - option_id: - type: integer - x-internal: false - productModifierOptionValue_Post: - title: productModifierOptionValue_Post - description: The model for a POST to create a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - x-internal: false - productModifierOptionValue_Put: - title: productModifierOptionValue_Put - description: The model for a PUT to update a modifier value on a product. - allOf: - - title: Modifier Value Base - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - x-internal: false - resp_productionOption: - title: resp_productionOption - type: object - properties: - data: - $ref: '#/components/schemas/productOption_Full' - meta: - title: Meta - type: object - properties: - 'null': - type: string - description: Empty meta object; may be used later. - x-internal: false - productOption_Base: - title: productOption_Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - $ref: '#/components/schemas/productOptionConfig_Full' - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - type: array - items: - $ref: '#/components/schemas/productOptionOptionValue_Full' - description: Common Option properties. - x-internal: false - productOption_Full: - title: productOption_Full - allOf: - - $ref: '#/components/schemas/productOption_Base' - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - x-internal: false - productOption_Post: - title: productOption_Post - description: The model for a POST to create options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - x-internal: false - productOption_Put: - title: productOption_Put - description: The model for a PUT to update options on a product. - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - nullable: true - example: 55 - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - x-internal: false - categoriesTree_Resp: - title: categoriesTree_Resp - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/categoriesTreeNode_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Returns the categories tree, a nested lineage of the categories with parent->child relationship. The Category objects returned are simplified versions of the category objects returned in the rest of this API. - x-internal: false - categoriesTreeNode_Full: - title: categoriesTreeNode_Full - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the category; increments sequentially. - example: 26 - parent_id: - type: integer - description: | - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - example: 25 - name: - type: string - description: | - The name displayed for the category. Name is unique with respect to the category's siblings. - example: Bath - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - example: true - url: - type: string - description: | - The custom URL for the category on the storefront. - example: /towels/bath-towels/ - description: Used to reflect parent <> child category relationships. Used by Category Tree. - x-internal: false - category_Full: - title: category_Full - type: object - description: Common Category object properties. - x-internal: false - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - x-required: - - post - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - x-required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - maxLength: 255 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - custom_url: - $ref: '#/components/schemas/customUrl_Full' - required: - - parent_id - - name - brand_Full: - title: brand_Full - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - $ref: '#/components/schemas/customUrl_Full' - description: Common Brand properties. - x-internal: false - productVariant_Base: - title: productVariant_Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - mpn: - type: string - description: The Manufacturer Part Number (MPN) for the variant. - gtin: - type: string - example: '012345678905' - description: Common Variant properties. - x-internal: false - x-examples: - example-1: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - productVariant_Full: - title: productVariant_Full - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - $ref: '#/components/schemas/productVariantOptionValue_Full' - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - calculated_weight: - type: number - x-internal: false - description: '' - x-examples: - example-1: - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - productVariant_Post: - title: productVariant_Post - description: | - The model for a POST to create variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - image_url: - type: string - description: Publicly available image url - gtin: - type: string - description: Global Trade Item Number - example: '012345678905' - mpn: - type: string - description: Manufacturer Part Number - example: HV-HM02 - description: Common Variant properties. - - type: object - properties: - product_id: - type: integer - x-required: - - post - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - $ref: '#/components/schemas/productVariantOptionValue_Full' - x-required: - - post - x-internal: false - variantCollection_Put: - title: variantCollection_Put - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - x-internal: false - variant_Put: - title: variant_Put - description: | - The model for a PUT to update variants on a product. - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - x-required: - - put - x-internal: false - productVariant_Post_Product: - title: productVariant_Post_Product - description: | - The model for a POST to create variants on a product. - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - option_values: - type: array - items: - title: Option Value Product Post - type: object - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - x-required: - - post - x-internal: false - productVariant_Put_Product: - title: productVariant_Put_Product - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - product_id: - type: integer - sku: - maxLength: 255 - minLength: 1 - type: string - description: | - The model for a PUT to update variants on a product. - x-internal: false - productVariantOptionValue_Full: - title: productVariantOptionValue_Full - allOf: - - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - - $ref: '#/components/schemas/productVariantOptionValue_Base' - x-internal: false - productOptionValue_Post_Product: - title: productOptionValue_Post_Product - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - x-internal: false - productVariantOptionValue_Base: - title: productVariantOptionValue_Base - type: object - properties: - id: - type: integer - description: '`option_value` ID.' - example: 146 - option_id: - type: integer - description: '`option` ID.' - example: 151 - description: Common Product Variant Option properties. - x-internal: false - productVariantOptionValue_Post: - title: productVariantOptionValue_Post - type: object - properties: - id: - type: integer - x-required: - - post - option_id: - type: integer - x-required: - - post - description: The model for a POST to create option values on a variant. - x-internal: false - resp_productOptionValue: - title: resp_productOptionValue - type: object - properties: - data: - $ref: '#/components/schemas/productOptionOptionValue_Full' - meta: - title: Meta - type: object - properties: - 'null': - type: string - description: Empty meta object; may be used later. - x-internal: false - productOptionOptionValue_Base: - title: productOptionOptionValue_Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. If no data is available, returns `null`. - nullable: true - description: Common Product Option `option_value` properties. - x-internal: false - productOptionOptionValue_Full: - title: productOptionOptionValue_Full - description: Product Option `option_value`. - allOf: - - $ref: '#/components/schemas/productOptionOptionValue_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-internal: false - productOptionValue_Post: - title: productOptionValue_Post - description: The model for a POST to create option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - x-internal: false - productOptionValue_Put: - title: productOptionValue_Put - description: The model for a PUT to update option values on a product. - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - put - x-internal: false - productImage_Base: - title: productImage_Base - type: object - properties: - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Limit of 1MB per file. - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - image_url: - type: string - description: 'Must be a fully qualified URL path, including protocol. Limit of 8MB per file.' - description: Common ProductImage properties. - x-internal: false - productImage_Post: - title: productImage_Post - description: The model for a POST to create an image on a product. - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - image_url: - type: string - description: | - Must be a fully qualified URL path, including protocol. Limit of 8MB per file. - image_file: - type: string - description: | - Must be sent as a multipart/form-data field in the request body. - x-internal: false - productImage_Put: - title: productImage_Put - description: The model for a PUT to update applicable Product Image fields. - allOf: - - title: Product Image Base - type: object - properties: - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - description: Common ProductImage properties. - - $ref: '#/components/schemas/productImage_Base' - x-internal: false - productVideo_Base: - title: productVideo_Base - type: object - description: | - The model for a POST to create a video on a product. - x-internal: false - properties: - title: - type: string - maxLength: 255 - minLength: 0 - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - example: Writing Great Documentation - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - example: A video about documenation - sort_order: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - example: 1 - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - video_id: - type: string - description: The ID of the video on a host site. - example: z3fRu9pkuXE - productVideo_Full: - title: productVideo_Full - description: | - A product video model. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - x-internal: false - productVideo_Post: - title: productVideo_Post - description: | - The model for a POST to create a video on a product. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - x-internal: false - productVideo_Put: - title: productVideo_Put - description: | - The model for a PUT to update a video on a product. - allOf: - - $ref: '#/components/schemas/productVideo_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - x-required: - - put - x-internal: false - productReview_Base: - title: productReview_Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - productReview_Full: - title: productReview_Full - description: | - A product review model. - allOf: - - $ref: '#/components/schemas/productReview_Base' - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - x-internal: false - productReview_Post: - title: productReview_Post - description: | - The model for a POST to create a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - productReview_Put: - title: productReview_Put - description: | - The model for a PUT to update a product review. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - x-internal: false - resp_productImage: - title: resp_productImage - type: object - properties: - data: - $ref: '#/components/schemas/productImage_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: |- - Image Response returns for: - * Create Variant Image - * Create Modifier Image - * Create Category Image - * Create Brand Image - x-internal: false - resourceImage_Full: - title: resourceImage_Full - type: object - properties: - image_url: - type: string - description: | - A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file. - description: 'An object containing a publicly accessible image URL, or a form post that contains an image file.' - x-internal: false - product_Post: - title: product_Post - description: The model for a POST to create a product. - allOf: - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Post_Product' - x-internal: false - product_Put: - title: product_Put - description: The model for a PUT to update a product. - allOf: - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Put_Product' - x-internal: false - catalogSummary_Full: - title: catalogSummary_Full - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - x-internal: false - metafield_Base: - title: metafield_Base - type: object - description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' - x-internal: false - properties: - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - required: - - permission_set - - namespace - - key - - value - complexRule_Base: - title: complexRule_Base - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - $ref: '#/components/schemas/adjuster_Full' - weight_adjuster: - $ref: '#/components/schemas/adjuster_Full' - conditions: - type: array - items: - $ref: '#/components/schemas/complexRuleConditionBase' - description: Common ComplexRule properties. - x-internal: false - productCustomField_Base: - title: productCustomField_Base - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - x-internal: false - productCustomField_Post: - title: productCustomField_Post - description: The model for a POST to create a custom field on a product. - allOf: - - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - x-internal: false - productCustomField_Put: - title: productCustomField_Put - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. Required to update existing custom field in /PUT request. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: The model for a PUT to update a custom field on a product. - x-internal: false - complexRuleConditionBase: - title: complexRuleConditionBase - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - x-internal: false - customUrl_Full: - title: customUrl_Full - type: object - properties: - url: - maxLength: 255 - minLength: 0 - type: string - description: | - Product URL on the storefront. - x-required: - - post - - put - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - x-required: - - post - - put - description: The custom URL for the product on the storefront. - x-internal: false - bulkPricingRule_Full: - title: bulkPricingRule_Full - type: object - description: Common Bulk Pricing Rule properties - x-internal: false - properties: - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. - Required in /POST. - example: 10 - x-required: - - post - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - Required in /POST. - example: 50 - x-required: - - post - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - Required in /POST. - example: price - enum: - - price - - percent - - fixed - x-required: - - post - amount: - oneOf: - - type: number - example: 10 - - type: string - example: '.10' - description: |- - You can express the adjustment type as either a fixed dollar amount or a percentage. Send a number; the response will return a number for `price` and `fixed` adjustments. - Divide the adjustment percentage by 100 and send the result in string format. For example, represent 10% as “.10”. The response will return a float value for both `price` and `percentage` adjustments. - Required in /POST. - required: - - quantity_min - - quantity_max - - type - - amount - bulkPricingRuleFull_Response: - title: Bulk Pricing Rule - type: object - x-internal: false - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - quantity_min: - minimum: 0 - type: integer - description: | - The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. For `fixed` rules, the minimum quantity canʼt be less than two. - example: 10 - quantity_max: - minimum: 0 - type: integer - description: |- - The maximum inclusive quantity of a product to satisfy this rule. Must be greater than the `quantity_min` value – unless this field has a value of 0 (zero), in which case there will be no maximum bound for this rule. - example: 50 - type: - type: string - description: |- - The type of adjustment that is made. Values: `price` - the adjustment amount per product; `percent` - the adjustment as a percentage of the original price; `fixed` - the adjusted absolute price of the product. - example: price - enum: - - price - - percent - - fixed - amount: - type: number - description: |- - The adjustment amount. Depending on the rule `type`, may represent a fixed dollar amount or a percentage. - example: 10 - productOptionConfig_Full: - title: productOptionConfig_Full - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - x-internal: false - adjuster_Full: - title: adjuster_Full - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - x-internal: false - resp_variantBatchError: - title: resp_variantBatchError - type: object - properties: - batch_errors: - type: array - items: - title: Error Response - type: object - allOf: - - $ref: '#/components/schemas/error_Base' - - type: object - properties: - errors: - title: Detailed Errors - type: object - properties: {} - additionalProperties: true - description: | - Errors during batch usage for the BigCommerce API. - x-internal: false - metaCollection_open: - title: Response meta - type: object - properties: {} - additionalProperties: true - description: Response metadata. - metaCollection_Full: - title: metaCollection_Full - type: object - properties: - pagination: - $ref: '#/components/schemas/pagination_Full' - description: 'Data about the response, including pagination and collection totals.' - x-internal: false - pagination_Full: - title: pagination_Full - type: object - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - description: | - Pagination links for the previous and next parts of the whole collection. - description: 'Data about the response, including pagination and collection totals.' - x-internal: false - metaEmpty_Full: - type: object - title: Response meta - properties: {} - additionalProperties: true - description: Response metadata. - errorResponse_Full: - title: errorResponse_Full - allOf: - - $ref: '#/components/schemas/error_Base' - - type: object - properties: - errors: - $ref: '#/components/schemas/DetailedErrors' - x-internal: false - error_Base: - title: error_Base - type: object - properties: - status: - type: integer - description: | - The HTTP status code. - title: - type: string - description: | - The error title describing the particular error. - type: - type: string - instance: - type: string - description: | - Error payload for the BigCommerce API. - x-internal: false - errorMultiStatus: - title: errorMultiStatus - type: object - properties: - status: - type: integer - minLength: 3 - maxLength: 3 - description: 'The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) of the failure or partial success.' - title: - type: string - description: A summary of the failure or partial success. - type: - type: string - description: A BigCommerce-defined error signifier. - errors: - $ref: '#/components/schemas/DetailedErrors' - errorNotFound: - title: errorNotFound - type: object - properties: - status: - type: integer - description: | - 404 HTTP status code. - title: - type: string - description: The error title describing the particular error. - type: - type: string - instance: - type: string - description: Error payload for the BigCommerce API. - x-internal: false - giftCertificate_Full: - title: giftCertificate_Full - type: object - properties: - code: - type: string - description: | - The gift-certificate code. - example: MB345 - original_balance: - type: number - description: | - The balance on a gift certificate when it was purchased. - format: float - example: 100 - starting_balance: - type: number - description: | - The balance on a gift certificate at the time of this purchase. - format: float - example: 100 - remaining_balance: - type: number - description: | - The remaining balance on a gift certificate. - format: float - example: 35.42 - status: - type: string - description: | - The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate purchase is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired. - enum: - - active - - pending - - disabled - - expired - description: A gift-certificate model. - x-internal: false - errorNoContent: - title: errorNoContent - type: object - properties: - status: - type: integer - description: | - 204 HTTP status code. - title: - type: string - description: The error title describing the situation. - type: - type: string - instance: - type: string - description: No-content response for the BigCommerce API. - x-internal: false - DetailedErrors: - title: DetailedErrors - description: Each key-value pair describes a failure or partial success case. - type: object - properties: {} - additionalProperties: true - x-internal: false - product_Full: - title: product_Full - allOf: - - type: object - properties: - id: - minimum: 1 - type: integer - description: ID of the product. Read-Only. - readOnly: true - - $ref: '#/components/schemas/product_Base' - - type: object - properties: - date_created: - type: string - description: | - The date on which the product was created. - format: date-time - example: '2018-08-15T14:49:05+00:00' - date_modified: - type: string - description: | - The date on which the product was modified. - format: date-time - example: '2018-08-24T14:41:00+00:00' - base_variant_id: - type: integer - description: The unique identifier of the base variant associated with a simple product. This value is `null` for complex products. - calculated_price: - type: number - description: 'The price of the product as seen on the storefront. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`.' - format: float - options: - type: array - items: - $ref: '#/components/schemas/productOption_Base' - modifiers: - type: array - items: - $ref: '#/components/schemas/productModifier_Full' - map_price: - type: number - description: Minimum Advertised Price. - option_set_id: - type: integer - description: Indicates that the product is in an Option Set (legacy V2 concept). - option_set_display: - type: string - description: Legacy template setting which controls if the option set shows up to the side of or below the product image and description. - variants: - type: array - items: - $ref: '#/components/schemas/productVariant_Full' - x-internal: false - productImage_Full: - title: productImage_Full - description: Common ProductImage properties. - allOf: - - $ref: '#/components/schemas/productImage_Base' - - title: productImage - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - description: Common ProductImage properties. - x-internal: false - product_Put_Collection: - title: product_Put_Collection - description: The model for batch updating products. - x-internal: false - items: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Product*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/product_Base' - x-examples: - example-1: - - id: 0 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: list - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - type: array - config_Full: - title: config_Full - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - x-internal: false - adjusters_Full: - title: adjusters_Full - type: object - properties: - price: - $ref: '#/components/schemas/adjuster_Full' - weight: - $ref: '#/components/schemas/adjuster_Full' - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - x-internal: false - variant_Base: - title: variant_Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - nullable: true - description: |- - Variant properties used on: - * `/catalog/products/variants` - * `/catalog/variants` - x-internal: false - product_Base: - title: product_Base - type: object - description: |- - Shared `Product` properties used in: - * `POST` - * `PUT` - * `GET` - x-internal: false - x-examples: - example-1: - id: 0 - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability_description: string - availability: available - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22Z' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22Z' - videos: - - title: Writing Great Documentation - description: A video about documenation - sort_order: 1 - type: youtube - video_id: z3fRu9pkuXE - id: 0 - product_id: 0 - length: string - properties: - name: - maxLength: 250 - minLength: 1 - type: string - description: | - A unique product name. - example: Smith Journal 13 - x-required: - - post - type: - type: string - description: | - The product type. One of: `physical` - a physical stock unit, `digital` - a digital download. - example: physical - enum: - - physical - - digital - x-required: - - post - sku: - maxLength: 255 - minLength: 0 - type: string - description: | - A unique user-defined product code/stock keeping unit (SKU). - example: SM-13 - description: - type: string - description: | - The product description, which can include HTML formatting. - example: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Weight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store - format: float - width: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Width of the product, which can be used when calculating shipping costs. - format: float - depth: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Depth of the product, which can be used when calculating shipping costs. - format: float - height: - maximum: 9999999999 - minimum: 0 - type: number - description: | - Height of the product, which can be used when calculating shipping costs. - format: float - price: - minimum: 0 - type: number - description: | - The price of the product. The price should include or exclude tax, based on the store settings. - format: float - cost_price: - minimum: 0 - type: number - description: | - The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store. - format: float - retail_price: - minimum: 0 - type: number - description: | - The retail cost of the product. If entered, the retail cost price will be shown on the product page. - format: float - sale_price: - minimum: 0 - type: number - description: | - If entered, the sale price will be used instead of value in the price field when calculating the product's cost. - format: float - map_price: - type: number - description: Minimum Advertised Price - tax_class_id: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) - product_tax_code: - maxLength: 255 - minLength: 0 - type: string - description: | - Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation. - categories: - type: array - description: | - An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values. - x-required: - - post - items: - type: integer - brand_id: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - A product can be added to an existing brand during a product /PUT or /POST. - inventory_level: - maximum: 2147483647 - minimum: 0 - type: integer - description: | - Current inventory level of the product. Simple inventory tracking must be enabled (See the `inventory_tracking` field) for this to take any effect. - inventory_warning_level: - maximum: 2147483647 - minimum: 0 - type: integer - description: | - Inventory warning level for the product. When the product's inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the `inventory_tracking` field) for this to take any effect. - inventory_tracking: - type: string - description: | - The type of inventory tracking for the product. Values are: `none` - inventory levels will not be tracked; `product` - inventory levels will be tracked using the `inventory_level` and `inventory_warning_level` fields; `variant` - inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels. - enum: - - none - - product - - variant - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: float - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the product has free shipping. If `true`, the shipping cost for the product will be zero. - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the product will be displayed. If `false`, the product will be hidden from view. - is_featured: - type: boolean - description: | - Flag to determine whether the product should be included in the `featured products` panel when viewing the store. - related_products: - type: array - description: | - An array of IDs for the related products. - items: - type: integer - warranty: - maxLength: 65535 - minLength: 0 - type: string - description: | - Warranty information displayed on the product page. Can include HTML formatting. - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: | - The BIN picking number for the product. - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). - upc: - type: string - maxLength: 32 - minLength: 0 - description: | - The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate the product when searching the store. - availability_description: - maxLength: 255 - minLength: 0 - type: string - description: | - Availability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: 'Usually ships in 24 hours.' - availability: - type: string - description: | - Availability of the product. (Corresponds to the product's [Purchasability](https://support.bigcommerce.com/s/article/Adding-Products-v3?language=en_US#sections) section in the control panel.) Supported values: `available` - the product is available for purchase; `disabled` - the product is listed on the storefront, but cannot be purchased; `preorder` - the product is listed for pre-orders. - enum: - - available - - disabled - - preorder - gift_wrapping_options_type: - type: string - description: | - Type of gift-wrapping options. Values: `any` - allow any gift-wrapping options in the store; `none` - disallow gift-wrapping on the product; `list` – provide a list of IDs in the `gift_wrapping_options_list` field. - enum: - - any - - none - - list - gift_wrapping_options_list: - type: array - description: | - A list of gift-wrapping option IDs. - items: - type: integer - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results. - condition: - type: string - description: | - The product condition. Will be shown on the product page if the `is_condition_shown` field's value is `true`. Possible values: `New`, `Used`, `Refurbished`. - enum: - - New - - Used - - Refurbished - is_condition_shown: - type: boolean - description: | - Flag used to determine whether the product condition is shown to the customer on the product page. - order_quantity_minimum: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The minimum quantity an order must contain, to be eligible to purchase this product. - order_quantity_maximum: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The maximum quantity an order can contain when purchasing the product. - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom title for the product page. If not defined, the product name will be used as the meta title. - meta_keywords: - type: array - description: | - Custom meta keywords for the product page. If not defined, the store's default keywords will be used. - items: - type: string - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the product page. If not defined, the store's default meta description will be used. - view_count: - maximum: 1000000000 - minimum: 0 - type: integer - description: | - The number of times the product has been viewed. - preorder_release_date: - type: string - description: | - Pre-order release date. See the `availability` field for details on setting a product's availability to accept pre-orders. - format: date-time - nullable: true - preorder_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Custom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the `%%DATE%%` placeholder, which will be substituted for the release date. - is_preorder_only: - type: boolean - description: | - If set to true then on the preorder release date the preorder status will automatically be removed. - If set to false, then on the release date the preorder status **will not** be removed. It will need to be changed manually either in the - control panel or using the API. Using the API set `availability` to `available`. - is_price_hidden: - type: boolean - description: | - False by default, indicating that this product's price should be shown on the product page. If set to `true`, the price is hidden. (NOTE: To successfully set `is_price_hidden` to `true`, the `availability` value must be `disabled`.) - price_hidden_label: - maxLength: 200 - minLength: 0 - type: string - description: | - By default, an empty string. If `is_price_hidden` is `true`, the value of `price_hidden_label` is displayed instead of the price. (NOTE: To successfully set a non-empty string value with `is_price_hidden` set to `true`, the `availability` value must be `disabled`.) - custom_url: - $ref: '#/components/schemas/customUrl_Full' - open_graph_type: - type: string - description: | - Type of product, defaults to `product`. - enum: - - product - - album - - book - - drink - - food - - game - - movie - - song - - tv_show - open_graph_title: - type: string - description: | - Title of the product, if not specified the product name will be used instead. - open_graph_description: - type: string - description: | - Description to use for the product, if not specified then the meta_description will be used instead. - open_graph_use_meta_description: - type: boolean - description: | - Flag to determine if product description or open graph description is used. - open_graph_use_product_name: - type: boolean - description: | - Flag to determine if product name or open graph name is used. - open_graph_use_image: - type: boolean - description: | - Flag to determine if product image or open graph image is used. - brand_name or brand_id: - type: string - description: The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using `brand_name` it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only the `brand_id`. - example: Common Good - gtin: - type: string - description: Global Trade Item Number - mpn: - type: string - description: Manufacturer Part Number - reviews_rating_sum: - type: integer - description: | - The total (cumulative) rating for the product. - example: 3 - reviews_count: - type: integer - description: | - The number of times the product has been rated. - example: 4 - total_sold: - type: integer - description: | - The total quantity of this product sold. - example: 80 - custom_fields: - type: array - items: - $ref: '#/components/schemas/productCustomField_Put' - bulk_pricing_rules: - type: array - items: - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Bulk Pricing Rule*. Read-Only. - readOnly: true - required: - - id - - $ref: '#/components/schemas/bulkPricingRule_Full' - images: - type: array - items: - $ref: '#/components/schemas/productImage_Full' - videos: - type: array - items: - $ref: '#/components/schemas/productVideo_Full' - required: - - name - - type - - weight - - price - metafield_Full: - title: metafield_Full - allOf: - - type: object - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - - $ref: '#/components/schemas/metafield_Base' - - type: object - properties: - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID of the resource with which the metafield is associated. - example: 111 - x-required: - - post - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - x-internal: false - productVariant_Put: - title: productVariant_Put - description: The model for a PUT to update variants on a product. - allOf: - - $ref: '#/components/schemas/productVariant_Base' - - type: object - properties: - product_id: - type: integer - x-required: - - post - sku: - maxLength: 255 - minLength: 1 - type: string - x-required: - - post - x-internal: false - errorResponse_409: - title: errorResponse_409 - allOf: - - type: object - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - type: object - properties: - errors: - $ref: '#/components/schemas/DetailedErrors' - x-internal: false - errorResponse_422: - title: errorResponse_422 - allOf: - - type: object - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - type: object - properties: - errors: - $ref: '#/components/schemas/DetailedErrors' - x-internal: false - productSortOrder: - title: productSortOrder - required: - - product_id - - sort_order - type: object - properties: - product_id: - minimum: 1 - type: integer - description: The ID of the associated product. - example: 99 - sort_order: - minimum: 0 - type: integer - example: 4 - description: The relative priority of the product among other products inside the category. - x-internal: false - betacategory_Full: - type: object - description: Common Category object properties. - title: category_Full - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - required: - - post - name: - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - minLength: 1 - maxLength: 50 - example: Bath - required: - - post - description: - type: string - description: | - The product description, which can include HTML formatting. - example: We offer a wide variety of products perfect for relaxing - views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - minimum: -2147483648 - maximum: 2147483647 - example: 3 - page_title: - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - minLength: 0 - maxLength: 255 - example: Bath - search_keywords: - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - minLength: 0 - maxLength: 255 - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - meta_description: - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - minLength: 0 - maxLength: 65535 - layout_file: - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. - minLength: 0 - maxLength: 500 - example: category.html - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - x-url: true - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - custom_url: - $ref: '#/components/schemas/betacustomUrl_Full' - required: - - parent_id - - name - x-tags: - - Models - betametaCollection_Full: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: metaCollection_Full - properties: - pagination: - $ref: '#/components/schemas/betapagination_Full' - x-tags: - - Models - betapagination_Full: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: pagination_Full - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - x-tags: - - Models - betametaEmpty_Full: - type: object - title: Response meta - properties: {} - additionalProperties: true - description: Response metadata. - x-tags: - - Models - betaerrorResponse_Full: - allOf: - - $ref: '#/components/schemas/betaerror_Base' - - type: object - properties: - errors: - $ref: '#/components/schemas/betaDetailedErrors' - title: errorResponse_Full - x-tags: - - Models - betaerror_Base: - 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 - title: error_Base - x-tags: - - Models - betaerrorNotFound: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: errorNotFound - x-tags: - - Models - betaerrorNoContent: - description: No-content response for the BigCommerce API. - type: object - properties: - status: - description: | - 204 HTTP status code. - type: integer - title: - description: The error title describing the situation. - type: string - type: - type: string - instance: - type: string - title: errorNoContent - x-tags: - - Models - betaDetailedErrors: - type: object - title: DetailedErrors - properties: {} - additionalProperties: true - x-tags: - - Models - betaerrorResponse_409: - title: errorResponse_409 - allOf: - - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - properties: - errors: - $ref: '#/components/schemas/betaDetailedErrors' - type: object - x-tags: - - Models - betaerrorResponse_422: - title: errorResponse_422 - allOf: - - properties: - code: - type: integer - status: - type: integer - title: - type: string - description: The error title describing the particular error. - type: - type: string - - properties: - errors: - $ref: '#/components/schemas/betaDetailedErrors' - type: object - x-tags: - - Models - custom_url: - type: object - description: The custom URL for the category on the storefront. - title: Custom Url Category - properties: - url: - type: string - description: | - Category URL on the storefront. - x-url: true - minLength: 0 - maxLength: 255 - example: /shoes - required: - - post - - put - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - required: - - post - - put - x-tags: - - Models - betacustomUrl_Full: - type: object - description: The custom URL for the product on the storefront. - title: customUrl_Full - properties: - url: - type: string - description: | - Product URL on the storefront. - x-url: true - minLength: 0 - maxLength: 255 - example: /shoes - required: - - post - - put - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - required: - - post - - put - x-tags: - - Models - CreateCategories: - type: array - items: - allOf: - - $ref: '#/components/schemas/TreeIdCreateData' - - $ref: '#/components/schemas/ParentIdCreateData' - - $ref: '#/components/schemas/CategoryDataPOST' - x-tags: - - Models - title: Create Categories - UpdateCategories: - x-tags: - - Models - type: array - items: - allOf: - - $ref: '#/components/schemas/TreeIdUpdateData' - - $ref: '#/components/schemas/CategoryIdUpdateData' - - $ref: '#/components/schemas/CategoryUuidData' - - $ref: '#/components/schemas/ParentIdUpdateData' - - $ref: '#/components/schemas/CategoryDataPUT' - Category: - x-tags: - - Models - title: Category - allOf: - - $ref: '#/components/schemas/id' - - $ref: '#/components/schemas/parent_id' - - $ref: '#/components/schemas/name' - - $ref: '#/components/schemas/description' - - $ref: '#/components/schemas/views' - - $ref: '#/components/schemas/sort_order' - - $ref: '#/components/schemas/page_title' - - $ref: '#/components/schemas/meta_keywords' - - $ref: '#/components/schemas/meta_description' - - $ref: '#/components/schemas/layout_file' - - $ref: '#/components/schemas/image_url' - - $ref: '#/components/schemas/is_visible' - - $ref: '#/components/schemas/search_keywords' - - $ref: '#/components/schemas/default_product_sort' - - type: object - properties: - url: - $ref: '#/components/schemas/Url' - x-examples: {} - CategoryUuidData: - type: object - x-tags: - - Models - properties: - category_uuid: - type: string - format: uuid - title: category_uuid - CategoryIdUpdateData: - type: object - properties: - category_id: - type: integer - required: - - category_id - x-tags: - - Models - ParentIdCreateData: - type: object - properties: - parent_id: - type: integer - required: - - parent_id - x-tags: - - Models - TreeIdCreateData: - type: object - properties: - tree_id: - type: integer - required: - - tree_id - x-tags: - - Models - ParentIdUpdateData: - type: object - properties: - parent_id: - type: integer - x-tags: - - Models - TreeIdUpdateData: - type: object - x-tags: - - Models - properties: - tree_id: - type: integer - required: - - tree_id - CategoryData: - allOf: - - type: object - properties: - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - image_url: - type: string - url: - $ref: '#/components/schemas/Url' - CategoryDataPUT: - allOf: - - $ref: '#/components/schemas/CategoryData' - - $ref: '#/components/schemas/default_product_sort' - CategoryDataPOST: - allOf: - - $ref: '#/components/schemas/CategoryData' - - $ref: '#/components/schemas/default_product_sort' - required: - - name - - url - Urls: - type: array - items: - $ref: '#/components/schemas/Url' - x-tags: - - Models - Url: - type: object - properties: - path: - type: string - is_customized: - type: boolean - x-tags: - - Models - MetaPagination: - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - example: 246 - minimum: 0 - count: - type: integer - example: 5 - minimum: 0 - per_page: - type: integer - example: 5 - minimum: 0 - current_page: - type: integer - example: 1 - minimum: 1 - total_pages: - type: integer - example: 50 - minimum: 0 - links: - type: object - properties: - previous: - type: string - example: '?limit=5&page=1' - current: - type: string - example: '?limit=5&page=2' - next: - type: string - example: '?limit=5&page=3' - x-tags: - - Models - ErrorRequest: - type: object - properties: - errors: - type: array - items: - $ref: '#/components/schemas/ErrorBasic' - x-tags: - - Models - ErrorBasic: - type: object - properties: - status: - description: | - The HTTP status code. - type: integer - title: - description: | - The error title describing the particular error. - type: string - type: - type: string - x-tags: - - Models - ErrorAdditional: - type: object - properties: - errors: - $ref: '#/components/schemas/DetailedErrors' - x-tags: - - Models - MetaError: - allOf: - - $ref: '#/components/schemas/ErrorBasic' - - $ref: '#/components/schemas/ErrorAdditional' - x-tags: - - Models - MetaData: - type: object - properties: - total: - type: integer - success: - type: integer - failed: - type: integer - x-tags: - - Models - SuccessNoContentResponse: - type: object - properties: - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - PartialSuccessNoContentResponse: - type: object - properties: - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - PartialSuccessResponse: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - SuccessResponse: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Category' - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - ErrorResponse: - type: object - properties: - errors: - $ref: '#/components/schemas/MetaError' - meta: - $ref: '#/components/schemas/MetaData' - x-tags: - - Models - Tree: - type: object - properties: - id: - type: integer - name: - type: string - minLength: 1 - maxLength: 255 - channels: - type: array - items: - type: integer - x-tags: - - Models - CategoryNode: - type: object - properties: - id: - type: integer - parent_id: - type: integer - depth: - type: integer - path: - type: array - items: - type: integer - name: - type: string - is_visible: - type: boolean - children: - type: array - items: - $ref: '#/components/schemas/CategoryNode' - x-tags: - - Models - beta4Category: - type: object - properties: - id: - type: integer - parent_id: - type: integer - tree_id: - type: integer - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - default_product_sort: - type: string - image_url: - type: string - custom_url: - $ref: '#/components/schemas/CustomUrl' - x-tags: - - Models - beta4CategoryData: - type: object - properties: - tree_id: - type: integer - parent_id: - type: integer - name: - type: string - description: - type: string - views: - type: integer - sort_order: - type: integer - page_title: - type: string - search_keywords: - type: string - meta_keywords: - type: array - items: - type: string - meta_description: - type: string - layout_file: - type: string - is_visible: - type: boolean - default_product_sort: - type: string - image_url: - type: string - custom_url: - $ref: '#/components/schemas/CustomUrl' - x-tags: - - Models - CustomUrl: - type: object - properties: - url: - type: string - is_customized: - type: boolean - x-tags: - - Models - MetaPaginationObject: - type: object - properties: - pagination: - type: object - properties: - total: - type: integer - example: 246 - minimum: 0 - count: - type: integer - example: 5 - minimum: 0 - per_page: - type: integer - example: 5 - minimum: 0 - current_page: - type: integer - example: 1 - minimum: 1 - total_pages: - type: integer - example: 50 - minimum: 0 - links: - type: object - properties: - next: - type: string - example: '?limit=5&page=2' - current: - type: string - example: '?limit=5&page=1' - x-tags: - - Models - beta4DetailedErrors: - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - 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 - x-tags: - - Models - beta4ErrorResponse: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - errors: - $ref: '#/components/schemas/beta4DetailedErrors' - x-tags: - - Models - ProductsChannelCount: - type: object - description: The count of product in the channels. - properties: - channel_id: - description: Channel ID. - type: integer - minimum: 1 - product_count: - type: integer - minimum: 0 - x-tags: - - Models - ProductsCategoriesCount: - properties: - product_id: - type: integer - minimum: 1 - channels: - type: array - items: - $ref: '#/components/schemas/CategoriesCount' - x-tags: - - Models - CategoriesCount: - properties: - channel_id: - type: integer - minimum: 1 - category_count: - type: integer - minimum: 0 - x-tags: - - Models - ProductChannelAssignment: - properties: - product_id: - type: integer - channel_id: - type: integer - x-tags: - - Models - ProductCategoryAssignment: - properties: - product_id: - type: integer - category_id: - type: integer - x-tags: - - Models - beta5DetailedErrors: - type: object - properties: {} - additionalProperties: true - x-tags: - - Models - beta5ErrorResponse: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - errors: - $ref: '#/components/schemas/beta5DetailedErrors' - x-tags: - - Models - default_product_sort: - title: default_product_sort - type: object - properties: - default_product_sort: - type: string - description: | - Determines how the products are sorted on category page load. - enum: - - use_store_settings - - featured - - newest - - best_selling - - alpha_asc - - alpha_desc - - avg_customer_review - - price_asc - - price_desc - name: - title: name - type: object - properties: - name: - maxLength: 50 - minLength: 1 - type: string - description: |- - The name displayed for the category. Name is unique with respect to the category's siblings. - Required in a POST. - example: Bath - description: - title: description - type: object - properties: - description: - type: string - description: | - The product description, which can include HTML formatting. - example:

We offer a wide variety of products perfect for relaxing

- views: - title: views - type: object - properties: - views: - type: integer - description: | - Number of views the category has on the storefront. - example: 1050 - sort_order: - title: sort_order - type: object - properties: - sort_order: - type: integer - description: | - Priority this category will be given when included in the menu and category pages. The lower the number, the closer to the top of the results the category will be. - example: 3 - page_title: - title: page_title - type: object - properties: - page_title: - type: string - description: | - Custom title for the category page. If not defined, the category name will be used as the meta title. - example: Bath - search_keywords: - title: search_keywords - type: object - properties: - search_keywords: - type: string - description: | - A comma-separated list of keywords that can be used to locate the category when searching the store. - meta_keywords: - title: meta_keywords - type: object - properties: - meta_keywords: - type: array - description: | - Custom meta keywords for the category page. If not defined, the store's default keywords will be used. Must post as an array like: ["awesome","sauce"]. - items: - type: string - layout_file: - title: layout_file - type: object - properties: - layout_file: - maxLength: 500 - minLength: 0 - type: string - description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. - example: category.html - is_visible: - title: is_visible - type: object - properties: - is_visible: - type: boolean - description: | - Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the category will be displayed. If `false`, the category will be hidden from view. - image_url: - title: image_url - type: object - properties: - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - x-url: true - meta_description: - title: meta_description - type: object - properties: - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - Custom meta description for the category page. If not defined, the store's default meta description will be used. - id: - title: id - type: object - properties: - id: - type: integer - description: |- - Unique ID of the *Category*. Increments sequentially. - Read-Only. - readOnly: true - parent_id: - title: parent_id - type: object - properties: - parent_id: - type: integer - description: |- - The unique numeric ID of the category's parent. This field controls where the category sits in the tree of categories that organize the catalog. - Required in a POST if creating a child category. - example: 2 - responses: - BrandCollectionResponse: - description: '' - content: - application/json: - schema: - title: Brand Collection Response - type: object - properties: - data: - type: array - items: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - BrandImageUpload: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: object - properties: - image_url: - type: string - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - image_url: 'https://cdn11.bigcommerce.com/s-{store_hash}/product_images/k/group_1545334669__76009.png' - meta: {} - BrandResponse: - description: '' - content: - application/json: - schema: - title: Brand Response - type: object - properties: - data: - title: Brand - required: - - name - type: object - properties: - id: - type: integer - description: Unique ID of the *Brand*. Read-Only. - readOnly: true - name: - maxLength: 255 - minLength: 1 - type: string - description: |- - The name of the brand. Must be unique. - Required in POST. - example: Common Good - x-required: - - post - - put - page_title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title shown in the browser while viewing the brand. - example: Common Good - meta_keywords: - type: array - description: | - Comma-separated list of meta keywords to include in the HTML. - items: - type: string - example: 'modern, clean, contemporary' - meta_description: - maxLength: 65535 - minLength: 0 - type: string - description: | - A meta description to include. - example: Common Good is a modern brand. - search_keywords: - maxLength: 65535 - minLength: 0 - type: string - description: | - A comma-separated list of keywords that can be used to locate this brand. - example: 'kitchen, laundry, cart, storage' - image_url: - type: string - description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field. - example: 'https://cdn8.bigcommerce.com/s-12345/product_images/k/your-image-name.png' - x-url: true - custom_url: - title: Custom Url Brand - type: object - properties: - url: - type: string - description: | - Brand URL on the storefront. - example: /shoes - x-url: true - is_customized: - type: boolean - description: | - Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides). - example: true - description: The custom URL for the brand on the storefront. - description: Common Brand properties. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: |- - Brand Response returns for: - * Create Brand - * Get Brand by Id - * Update Brand by Id - example: - data: - id: 50 - name: Common Good - meta_keywords: - - 'modern, clean, contemporary' - meta_description: Common Good is a modern brand - image_url: '' - search_keywords: 'kitchen, laundry, cart, storage' - custom_url: - url: /brands/Common-Good.html - is_customized: false - meta: {} - BulkPricingRuleCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/bulkPricingRuleFull_Response' - meta: - $ref: '#/components/schemas/metaCollection_Full' - BulkPricingRuleResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/bulkPricingRuleFull_Response' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example: - data: - id: 83 - quantity_min: 1 - quantity_max: 3 - type: price - amount: 1 - meta: {} - CatalogSummaryResponse: - description: '' - content: - application/json: - schema: - title: Catalog Summary Response - type: object - properties: - data: - title: Catalog Summary - type: object - properties: - inventory_count: - type: integer - description: | - A count of all inventory items in the catalog. - example: 2000 - inventory_value: - type: number - description: | - Total value of store's inventory. - format: double - example: 267000 - primary_category_id: - type: integer - description: | - ID of the category containing the most products. - example: 23 - primary_category_name: - type: string - description: | - Name of the category containing the most products. - example: Shop All - variant_count: - type: integer - description: Total number of variants - example: 46 - highest_variant_price: - type: number - description: Highest priced variant - format: double - example: 249 - average_variant_price: - type: number - description: Average price of all variants - format: double - example: 83.07978261 - lowest_variant_price: - type: string - description: Lowest priced variant in the store - example: '7' - oldest_variant_date: - type: string - example: '2018-08-15T00:00:00+00:00' - newest_variant_date: - type: string - example: '2018-08-16T00:00:00+00:00' - description: Catalog Summary object describes a lightweight summary of the catalog. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - CatalogVariantCollectionResponse: - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - $ref: '#/components/schemas/metaCollection_Full' - CategoryCollectionResponse: - description: '' - content: - application/json: - schema: - title: Category Base - type: object - properties: - data: - type: array - items: - type: object - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - id: 19 - parent_id: 0 - name: Garden - description:

This is the garden description

- views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - CategoryResponse: - description: '' - content: - application/json: - schema: - title: Category Response - type: object - properties: - data: - $ref: '#/components/schemas/category_Full' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - ComplexRuleCollectionResponse: - description: '' - content: - application/json: - schema: - title: Complex Rule Collection Response - type: object - properties: - data: - type: array - items: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - nullable: true - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - nullable: true - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - nullable: true - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - nullable: true - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - nullable: true - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - nullable: true - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - nullable: true - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Complex Rule Response - ComplexRuleResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Complex Rule - type: object - properties: - id: - type: integer - description: |- - The unique numeric ID of the rule; increments sequentially. - Read-Only - example: 5 - product_id: - type: integer - description: | - The unique numeric ID of the product with which the rule is associated; increments sequentially. - example: 67 - x-required: - - post - - put - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The priority to give this rule when making adjustments to the product properties. - example: 0 - enabled: - type: boolean - description: | - Flag for determining whether the rule is to be used when adjusting a product's price, weight, image, or availabilty. - example: true - stop: - type: boolean - description: | - Flag for determining whether other rules should not be applied after this rule has been applied. - purchasing_disabled: - type: boolean - description: | - Flag for determining whether the rule should disable purchasing of a product when the conditions are applied. - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: | - Message displayed on the storefront when a rule disables the purchasing of a product. - example: This product is not available at this time. - purchasing_hidden: - type: boolean - description: | - Flag for determining whether the rule should hide purchasing of a product when the conditions are applied. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the conditions are applied. Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' - price_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight_adjuster: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - conditions: - type: array - items: - title: Complex Rule Condition - required: - - modifier_id - - modifier_value_id - - variant_id - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the rule condition; increments sequentially. Read-Only - example: 3 - rule_id: - type: integer - description: |- - The unique numeric ID of the rule with which the condition is associated. - Read-Only - example: 4 - modifier_id: - type: integer - description: |- - The unique numeric ID of the modifier with which the rule condition is associated. - Required in /POST. - example: 55 - modifier_value_id: - type: integer - description: |- - The unique numeric ID of the modifier value with which the rule condition is associated. - Required in /POST. - example: 256 - variant_id: - type: integer - description: |- - The unique numeric ID of the variant with which the rule condition is associated. - Required in /POST. - example: 1 - combination_id: - type: integer - description: | - (READ-ONLY:) The unique numeric ID of the SKU (v2 API), or Combination, with which the rule condition is associated. This is to maintain cross-compatibility between v2 and v3. - description: 'Complex rules may return with conditions that apply to one or more variants, or with a single modifier value (if the rules were created using the v2 API or the control panel). Complex rules created or updated in the v3 API must have conditions that either reference multiple `modifier_value_id`’s, or else reference a `modifier_value_id` and a `variant_id`.' - description: Common ComplexRule properties. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - CustomFieldCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - name: Release year - value: '1987' - id: 1 - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - previous: '?page=1&limit=50' - current: '?page=1&limit=50' - next: '?page=1&limit=50' - CustomFieldResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - title: Custom Field - required: - - name - - value - type: object - properties: - id: - minimum: 1 - type: integer - description: |- - The unique numeric ID of the custom field; increments sequentially. - Read-Only - example: 6 - name: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: ISBN - x-required: - - post - value: - maxLength: 250 - minLength: 1 - type: string - description: | - The name of the field, shown on the storefront, orders, etc. Required for /POST - example: '1234567890123' - x-required: - - post - description: 'Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - name: Release Year - value: '1976' - id: 2 - meta: {} - Error404Response: - description: The requested category was not found. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - Error422Response: - description: |- - Unprocessable entity. - - Please verify if all requested products are assigned to the category. - - Please verify if all required fields are present in the request body and are filled with values correctly. - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - General207Status: - description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' - content: - application/json: - schema: - $ref: '#/components/schemas/error_Base' - MetafieldCollectionResponse: - description: '' - content: - application/json: - schema: - title: Meta Field Collection Response - type: object - properties: - data: - type: array - items: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: Common Metafield properties. - meta: - $ref: '#/components/schemas/metaCollection_Full' - example: - data: - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: read - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - - permission_set: app_only - namespace: Warehouse Locations - key: Location - value: 4HG - description: Location in the warehouse - resource_type: brand - resource_id: 111 - id: 6 - date_created: '1973-01-20T21:34:57.903Z' - date_modified: '1990-12-30T00:29:23.515Z' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - MetafieldResponse: - description: '' - content: - application/json: - schema: - title: Metafield Response - type: object - properties: - data: - title: Metafield - required: - - key - - namespace - - permission_set - - value - type: object - properties: - date_created: - type: string - description: | - Date and time of the metafield's creation. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - date_modified: - type: string - description: | - Date and time when the metafield was last updated. Read-Only. - readOnly: true - format: date-time - example: '2018-05-07T20:14:17+00:00' - description: - maxLength: 255 - minLength: 0 - type: string - description: | - Description for the metafields. - example: Location in the warehouse - id: - type: integer - description: Unique ID of the *Metafield*. Read-Only. - readOnly: true - example: 6 - key: - maxLength: 64 - minLength: 1 - type: string - description: | - The name of the field, for example: `location_id`, `color`. Required for POST. - example: Location - x-required: - - post - namespace: - maxLength: 64 - minLength: 1 - type: string - description: | - Namespace for the metafield, for organizational purposes. This is set set by the developer. Required for POST. - example: Warehouse Locations - x-required: - - post - permission_set: - type: string - description: |- - Determines the visibility and writeability of the field by other API consumers. - - |Value|Description - |-|-| - |`app_only`|Private to the app that owns the field| - |`read`|Visible to other API consumers| - |`write`|Open for reading and writing by other API consumers| - |`read_and_sf_access`|Visible to other API consumers, including on storefront| - |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| - enum: - - app_only - - read - - write - - read_and_sf_access - - write_and_sf_access - x-required: - - post - resource_id: - maximum: 10000000000 - minimum: 0 - type: integer - description: | - The ID for the resource with which the metafield is associated. - example: 111 - x-required: - - post - resource_type: - type: string - description: | - The type of resource with which the metafield is associated. - example: product - enum: - - category - - brand - - product - - variant - x-required: - - post - value: - maxLength: 65535 - minLength: 1 - type: string - description: | - The value of the field, for example: `1`, `blue`. Required for POST. - example: 4HG - x-required: - - post - description: Common Metafield properties. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - date_created: '2021-08-06T19:15:35+00:00' - date_modified: '2021-08-06T19:15:35+00:00' - description: Where products are located - id: 4 - key: location_id - namespace: App Namespace - permission_set: app_only - resource_id: 137 - resource_type: product - value: 'Shelf 3, Bin 5' - meta: {} - ModifierCollectionResponse: - description: '' - content: - application/json: - schema: - title: Modifier Collection Response - type: object - properties: - data: - type: array - items: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Modifier Collection Response return for /GET All Modifiers. - example: - data: - - id: 206 - product_id: 158 - name: Insurance - display_name: Insurace - type: checkbox - required: true - config: - checkbox_label: $5 for insurance - checked_by_default: false - option_values: - - id: 183 - option_id: 206 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 184 - option_id: 206 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ModifierResponse: - description: '' - content: - application/json: - schema: - title: Modifier Response - type: object - properties: - data: - title: Modifer - type: object - description: Product Modifier - allOf: - - title: Modifier Base - required: - - required - - type - type: object - properties: - type: - type: string - description: | - BigCommerce API, which determines how it will display on the storefront. Acceptable values: `date`, `checkbox`, `file`, `text`, `multi_line_text`, `numbers_only_text`, `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. Required in a /POST. - enum: - - date - - checkbox - - file - - text - - multi_line_text - - numbers_only_text - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - required: - type: boolean - description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. - x-required: - - post - sort_order: - type: integer - description: The order the modifiers display on the product detail page. - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - option_values: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - description: Common Modifier properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the modifier; increments sequentially. - example: 12 - product_id: - type: integer - description: | - The unique numeric ID of the product to which the option belongs. - example: 77 - name: - type: string - description: | - The unique option name. Auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535039590-191 - display_name: - type: string - description: | - The name of the option shown on the storefront. - example: Donation - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - ModifierValueCollectionResponse: - description: '' - content: - application/json: - schema: - title: Modifier Value Collection Response - type: object - properties: - data: - type: array - items: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Returns for GET All Modifier Values on a Product - example: - data: - - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: - checked_value: true - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - - id: 191 - option_id: 222 - label: 'No' - sort_order: 1 - value_data: - checked_value: false - is_default: true - adjusters: - price: {} - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ModifierValueResponse: - description: '' - content: - application/json: - schema: - title: Modifier Value Response - type: object - properties: - data: - title: Modifier Value - type: object - description: 'Part of Modifier Value Response ' - allOf: - - title: Modifier Value Base - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - adjusters: - type: object - properties: - price: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - weight: - title: Adjuster - type: object - properties: - adjuster: - type: string - description: | - The type of adjuster for either the price or the weight of the variant, when the modifier value is selected on the storefront. - enum: - - relative - - percentage - x-nullable: true - adjuster_value: - type: number - description: | - The numeric amount by which the adjuster will change either the price or the weight of the variant, when the modifier value is selected on the storefront. - example: 5 - description: Adjuster for Complex Rules. - image_url: - type: string - description: | - The URL for an image displayed on the storefront when the modifier value is selected.Limit of 8MB per file. - example: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - type: object - properties: - status: - type: boolean - description: | - Flag for whether the modifier value disables purchasing when selected on the storefront. This can be used for temporarily disabling a particular modifier value. - message: - type: string - description: | - The message displayed on the storefront when the purchasing disabled status is `true`. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 190 - option_id: 222 - label: 'Yes' - sort_order: 0 - value_data: {} - is_default: false - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: {} - image_url: '' - purchasing_disabled: - status: false - message: '' - meta: {} - OptionCollectionResponse: - description: '' - content: - application/json: - schema: - title: Option Collection Response - type: object - properties: - data: - type: array - items: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get all product options - example: - data: - - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: - pagination: - total: 1 - count: 1 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - OptionResponse: - description: '' - content: - application/json: - schema: - title: Option Response - type: object - properties: - data: - title: Option - type: object - allOf: - - title: Option Base - type: object - properties: - id: - type: integer - description: | - The unique numerical ID of the option, increments sequentially. - example: 55 - x-nullable: true - product_id: - type: integer - description: | - The unique numerical ID of the product to which the option belongs. - example: 4 - x-required: - - post - - put - display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option shown on the storefront. - example: Add-a-$5-Donation1535042499-187 - x-required: - - post - - put - type: - type: string - description: | - The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images, CS = swatch. - enum: - - radio_buttons - - rectangles - - dropdown - - product_list - - product_list_with_images - - swatch - x-required: - - post - - put - config: - title: Option Config - type: object - properties: - default_value: - type: string - description: | - (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an ISO-8601–formatted string, or on a text option as a string. - checked_by_default: - type: boolean - description: | - (checkbox) Flag for setting the checkbox to be checked by default. - checkbox_label: - type: string - description: | - (checkbox) Label displayed for the checkbox option. - date_limited: - type: boolean - description: | - (date) Flag to limit the dates allowed to be entered on a date option. - date_limit_mode: - type: string - description: | - (date) The type of limit that is allowed to be entered on a date option. - example: range - enum: - - earliest - - range - - latest - date_earliest_value: - type: string - description: | - (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - date_latest_value: - type: string - description: | - (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string. - format: date - file_types_mode: - type: string - description: | - (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values: `specific` - restricts uploads to particular file types; `all` - allows all file types. - example: specific - enum: - - specific - - all - file_types_supported: - type: array - description: | - (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values: - `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`). - `other` - Allows file types defined in the `file_types_other` array. - items: - type: string - example: 'images, documents, other' - file_types_other: - type: array - description: | - (file) A list of other file types allowed with the file upload option. - items: - type: string - example: pdf - file_max_size: - type: integer - description: | - (file) The maximum size for a file that can be used with the file upload option. This will still be limited by the server. - example: 5 - text_characters_limited: - type: boolean - description: | - (text, multi_line_text) Flag to validate the length of a text or multi-line text input. - text_min_length: - type: integer - description: | - (text, multi_line_text) The minimum length allowed for a text or multi-line text option. - example: 1 - text_max_length: - type: integer - description: | - (text, multi_line_text) The maximum length allowed for a text or multi line text option. - example: 55 - text_lines_limited: - type: boolean - description: | - (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input. - example: true - text_max_lines: - type: integer - description: | - (multi_line_text) The maximum number of lines allowed on a multi-line text input. - example: 4 - number_limited: - type: boolean - description: | - (numbers_only_text) Flag to limit the value of a number option. - example: true - number_limit_mode: - type: string - description: | - (numbers_only_text) The type of limit on values entered for a number option. - example: lowest - enum: - - lowest - - highest - - range - number_lowest_value: - type: number - description: | - (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true. - example: 100 - number_highest_value: - type: number - description: | - (numbers_only_text) The highest allowed value for a number option if `number_limited` is true. - number_integers_only: - type: boolean - description: | - (numbers_only_text) Flag to limit the input on a number option to whole numbers only. - example: false - product_list_adjusts_inventory: - type: boolean - description: | - (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in the list. - product_list_adjusts_pricing: - type: boolean - description: | - (product_list, product_list_with_images) Flag to add the optional product's price to the main product's price. - product_list_shipping_calc: - type: string - description: | - (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight and dimensions. - example: weight - enum: - - none - - weight - - package - description: The values for option config can vary based on the Modifier created. - sort_order: - type: integer - description: 'Order in which the option is displayed on the storefront. ' - example: 1 - option_values: - minItems: 1 - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - x-required: - - post - - put - image_url: - type: string - description: Publicly available image url - description: Common Option properties. - - type: object - properties: - name: - type: string - description: | - The unique option name, auto-generated from the display name, a timestamp, and the product ID. - example: Add-a-$5-Donation1535042499-187 - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 220 - product_id: 192 - name: Color (Colors only) - display_name: Color - type: swatch - sort_order: 0 - option_values: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - config: {} - meta: {} - OptionValueCollectionResponse: - description: '' - content: - application/json: - schema: - title: Option Value Collection Response - type: object - properties: - data: - type: array - items: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: Get Option Values response. - example: - data: - - id: 174 - label: Beige - sort_order: 1 - value_data: - colors: - - '#FAFAEB' - is_default: false - - id: 175 - label: Grey - sort_order: 2 - value_data: - colors: - - '#BDBDBD' - is_default: false - - id: 176 - label: Black - sort_order: 3 - value_data: - colors: - - '#000000' - is_default: false - - id: 189 - label: Black-Walnut - sort_order: 4 - value_data: - colors: - - '#e80ee8' - is_default: false - meta: - pagination: - total: 4 - count: 4 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - OptionValueResponse: - description: '' - content: - application/json: - schema: - title: Option Value Response - type: object - properties: - data: - title: Option Value - type: object - allOf: - - title: Option Value Base - required: - - label - - sort_order - type: object - properties: - is_default: - type: boolean - description: | - The flag for preselecting a value as the default on the storefront. This field is not supported for swatch options/modifiers. - example: false - label: - type: string - description: | - The text display identifying the value on the storefront. Required in a /POST. - example: Green - x-required: - - post - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the value will be displayed on the product page. Required in a /POST. - example: 0 - x-required: - - post - value_data: - type: object - properties: {} - description: | - Extra data describing the value, based on the type of option or modifier with which the value is associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an `image_url`, which is a full image URL path including protocol. The `product list` type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which value is considered to be the checked state. - description: Common Option Value properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the value; increments sequentially. - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - example: - data: - id: 44 - label: Pick a color - sort_order: 9 - value_data: - colors: - - '#123c91, #FFFF00, #397a44' - is_default: false - ProductCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaCollection_Full' - ProductImageCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Image Collection Response - type: object - properties: - data: - type: array - items: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - $ref: '#/components/schemas/metaCollection_Full' - description: | - Response payload for the BigCommerce API. - example: - data: - - id: 382 - product_id: 158 - is_thumbnail: true - sort_order: 0 - description: '' - image_file: a/521/foglinenbeigestripetowel1b_1024x1024__83011__60806.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - - id: 383 - product_id: 158 - is_thumbnail: false - sort_order: 0 - description: '' - image_file: k/050/foglinenbeigestripetowel2b_1024x1024__16082__46564.jpg - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.1280.1280.jpg?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.560.850.jpg?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.330.500.jpg?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/383/foglinenbeigestripetowel2b_1024x1024__16082__46564.1534344511.66.100.jpg?c=2' - date_modified: '2018-08-15T14:48:31+00:00' - meta: - pagination: - total: 2 - count: 2 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ProductImageResponse: - description: '' - content: - application/json: - schema: - title: Product Image Response - type: object - properties: - data: - title: Product Image - type: object - allOf: - - title: Product Image Base - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - is_thumbnail: - type: boolean - description: | - Flag for identifying whether the image is used as the product's thumbnail. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the image will be displayed on the product page. Higher integers give the image a lower priority. When updating, if the image is given a lower priority, all images with a `sort_order` the same as or greater than the image's new `sort_order` value will have their `sort_order`s reordered. - description: - type: string - description: | - The description for the image. - description: Common ProductImage properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the image; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. - url_zoom: - readOnly: true - type: string - description: | - The zoom URL for this image. By default, this is used as the zoom image on product pages when zoom images are enabled. - url_standard: - readOnly: true - type: string - description: | - The standard URL for this image. By default, this is used for product-page images. - url_thumbnail: - readOnly: true - type: string - description: | - The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. - url_tiny: - readOnly: true - type: string - description: | - The tiny URL for this image. By default, this is the image size used for thumbnails beneath the product image on a product page. - date_modified: - type: string - description: | - The date on which the product image was modified. - format: date-time - image_url: - type: string - description: |- - Publically available URL. - Use the image_url when creating a product. - example: 'https://upload.wikimedia.org/wikipedia/commons/7/7f/Anglel_Bless_Legendary_Hills_1_m%C4%9Bs%C3%ADc_st%C3%A1%C5%99%C3%AD.jpg' - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: | - Response payload for the BigCommerce API. - example: - data: - id: 485 - product_id: 158 - is_thumbnail: false - sort_order: 1 - description: '' - image_file: o/381/product-image__98178.png - url_zoom: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.1280.1280.png?c=2' - url_standard: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.560.850.png?c=2' - url_thumbnail: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.330.500.png?c=2' - url_tiny: 'https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/485/product-image__98178.1536854227.66.100.png?c=2' - date_modified: '2018-09-13T15:57:07+00:00' - meta: {} - ProductResponse: - description: '' - content: - application/json: - schema: - title: Product Response - type: object - properties: - data: - $ref: '#/components/schemas/product_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - example-1: - example: - name: Smith Journal 13 - type: physical - sku: SM-13 - description: '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel metus ac est egestas porta sed quis erat. Integer id nulla massa. Proin vitae enim nisi. Praesent non dignissim nulla. Nulla mattis id massa ac pharetra. Mauris et nisi in dolor aliquam sodales. Aliquam dui nisl, dictum quis leo sit amet, rutrum volutpat metus. Curabitur libero nunc, interdum ac libero non, tristique porttitor metus. Ut non dignissim lorem, in vestibulum leo. Vivamus sodales quis turpis eget.

' - weight: 0 - width: 0 - depth: 0 - height: 0 - price: 0 - cost_price: 0 - retail_price: 0 - sale_price: 0 - map_price: 0 - tax_class_id: 0 - product_tax_code: string - categories: - - 0 - brand_id: 0 - inventory_level: 0 - inventory_warning_level: 0 - inventory_tracking: none - fixed_cost_shipping_price: 0 - is_free_shipping: true - is_visible: true - is_featured: true - related_products: - - 0 - warranty: string - bin_picking_number: string - layout_file: string - upc: string - search_keywords: string - availability: available - availability_description: string - gift_wrapping_options_type: any - gift_wrapping_options_list: - - 0 - sort_order: -2147483648 - condition: New - is_condition_shown: true - order_quantity_minimum: 0 - order_quantity_maximum: 0 - page_title: string - meta_keywords: - - string - meta_description: string - view_count: 0 - preorder_release_date: '2019-08-24T14:15:22+00:00' - preorder_message: string - is_preorder_only: true - is_price_hidden: true - price_hidden_label: string - custom_url: - url: string - is_customized: true - open_graph_type: product - open_graph_title: string - open_graph_description: string - open_graph_use_meta_description: true - open_graph_use_product_name: true - open_graph_use_image: true - brand_name or brand_id: Common Good - gtin: string - mpn: string - reviews_rating_sum: 3.2 - reviews_count: 4 - total_sold: 80 - custom_fields: - - id: 6 - name: ISBN - value: '1234567890123' - bulk_pricing_rules: - - id: 0 - quantity_min: 10 - quantity_max: 50 - type: price - amount: 10 - images: - - image_file: string - is_thumbnail: true - sort_order: -2147483648 - description: string - image_url: string - id: 0 - product_id: 0 - url_zoom: string - url_standard: string - url_thumbnail: string - url_tiny: string - date_modified: '2019-08-24T14:15:22+00:00' - videos: - - title: string - description: string - sort_order: -2147483648 - type: youtube - video_id: string - id: 0 - product_id: 0 - length: string - date_created: '2018-08-15T14:49:05+00:00' - date_modified: '2018-08-24T14:41:00+00:00' - id: 1 - base_variant_id: 0 - calculated_price: 0 - options: - - id: 55 - product_id: 4 - display_name: Add-a-$5-Donation1535042499-187 - type: radio_buttons - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - sort_order: 1 - option_values: - is_default: false - label: Green - sort_order: 0 - value_data: {} - id: 0 - modifiers: - - type: date - required: true - sort_order: 0 - config: - default_value: string - checked_by_default: true - checkbox_label: string - date_limited: true - date_limit_mode: range - date_earliest_value: '2019-08-24T00:00:00+00:00' - date_latest_value: '2019-08-24T00:00:00+00:00' - file_types_mode: specific - file_types_supported: - - 'images, documents, other' - file_types_other: - - pdf - file_max_size: 5 - text_characters_limited: true - text_min_length: 1 - text_max_length: 55 - text_lines_limited: true - text_max_lines: 4 - number_limited: true - number_limit_mode: lowest - number_lowest_value: 100 - number_highest_value: 0 - number_integers_only: false - product_list_adjusts_inventory: true - product_list_adjusts_pricing: true - product_list_shipping_calc: weight - display_name: string - id: 12 - product_id: 77 - name: Add-a-$5-Donation1535039590-191 - option_values: - - is_default: false - label: Green - sort_order: 0 - value_data: {} - adjusters: - price: - adjuster: relative - adjuster_value: 5 - weight: - adjuster: relative - adjuster_value: 5 - image_url: 'https://cdn8.bigcommerce.com/s-{{store_hash}}/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.1280.1280.jpg?c=2' - purchasing_disabled: - status: true - message: string - id: 0 - option_id: 0 - option_set_id: 0 - option_set_display: string - variants: - - cost_price: 0 - price: 0 - sale_price: 0 - retail_price: 0 - weight: 0 - width: 0 - height: 0 - depth: 0 - is_free_shipping: true - fixed_cost_shipping_price: 0 - purchasing_disabled: true - purchasing_disabled_message: string - upc: string - inventory_level: 0 - inventory_warning_level: 0 - bin_picking_number: string - mpn: string - gtin: '012345678905' - id: 0 - product_id: 0 - sku: string - sku_id: 0 - option_values: - - option_display_name: Color - label: Beige - id: 146 - option_id: 151 - calculated_price: 0 - calculated_weight: 0 - meta: {} - ProductReviewCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Review Collection Response - type: object - properties: - data: - type: array - items: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - $ref: '#/components/schemas/metaCollection_Full' - ProductReviewResponse: - description: '' - content: - application/json: - schema: - title: Product Review Response - type: object - properties: - data: - title: Product Review - type: object - description: | - A product review model. - allOf: - - title: Product Review Base - required: - - date_reviewed - - title - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: |- - The title for the product review. - Required in /POST. - text: - type: string - description: | - The text for the product review. - status: - type: string - description: | - The status of the product review. Must be one of `approved`, `disapproved` or `pending`. - rating: - type: integer - description: 'The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5.' - email: - type: string - description: 'The email of the reviewer. Must be a valid email, or an empty string.' - name: - maxLength: 255 - minLength: 0 - type: string - description: The name of the reviewer. - date_reviewed: - type: string - description: | - Date the product was reviewed. Required in /POST. - format: date-time - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product review; increments sequentially. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the review is associated. - date_created: - type: string - description: | - Date the product review was created. - format: date-time - date_modified: - type: string - description: | - Date the product review was modified. - format: date-time - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - description: | - Response payload for the BigCommerce API. - example: - data: - title: irur - text: anim aute - status: Lorem ad sed voluptate - rating: -39218623 - email: esse Lorem laborum aute - name: 'ut in ' - date_reviewed: '2011-12-31T13:40:42.971Z' - id: 82495037 - product_id: 22609026 - date_created: '1985-01-17T07:37:20.439Z' - date_modified: '2004-09-28T14:38:21.973Z' - meta: {} - ProductSortOrderResponse: - description: '' - content: - application/json: - schema: - type: object - ProductVideoCollectionResponse: - description: '' - content: - application/json: - schema: - title: Product Video Collection Response - type: object - properties: - data: - type: array - items: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - title: Collection Meta - type: object - description: 'Data about the response, including pagination and collection totals.' - example: - data: - - id: 6 - type: youtube - video_id: PqBTp23RLhI - product_id: 192 - sort_order: 1 - title: Creating and Editing Banners | BigCommerce Tutorials - description: 'Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.' - length: '01:54' - - id: 7 - type: youtube - video_id: EhYBjzqd-nI - product_id: 192 - sort_order: 2 - title: BigCommerce Company Values - description: |- - These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team. - - Join the BigCommerce team and help us build software that changes lives! - - https://www.bigcommerce.com/careers/ - length: '03:30' - - id: 8 - type: youtube - video_id: vAUdo4kRjrU - product_id: 192 - sort_order: 3 - title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce - description: |- - We've been named one of Austin American-Statesman's Top WorkPlaces for the 5th year in a row! Here's what some employees have to say: - - “I am given the freedom and trust to make a difference.” - - “Everyone believes in the product and growing the company.” - - “I'm appreciated for the work I do and there is room to grown within the company.” - - Work With Us! - http://www.bigcommerce.com/careers.php - length: '01:37' - meta: - pagination: - total: 3 - count: 3 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - ProductVideoResponse: - description: '' - content: - application/json: - schema: - title: Product Video Response - type: object - properties: - data: - title: Product Video - type: object - description: | - A product video model. - allOf: - - title: Product Video Base - type: object - properties: - title: - maxLength: 255 - minLength: 0 - type: string - description: | - The title for the video. If left blank, this will be filled in according to data on a host site. - description: - type: string - description: | - The description for the video. If left blank, this will be filled in according to data on a host site. - sort_order: - maximum: 2147483647 - minimum: -2147483648 - type: integer - description: | - The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the video's new `sort_order` value will have their `sort_order`s reordered. - type: - type: string - description: | - The video type (a short name of a host site). - enum: - - youtube - description: Common Product Video properties. - - type: object - properties: - id: - type: integer - description: | - The unique numeric ID of the product video; increments sequentially. - video_id: - type: string - description: | - The ID of the video on a host site. - product_id: - type: integer - description: | - The unique numeric identifier for the product with which the image is associated. - length: - type: string - description: | - Length of the video. This will be filled in according to data on a host site. - meta: - $ref: '#/components/schemas/metaEmpty_Full' - description: | - Response payload for the BigCommerce API. - example: - title: Your Video - description: Company Values - sort_order: 1 - type: youtube - video_id: 123345AA - VariantCollectionResponse: - description: '' - content: - application/json: - schema: - title: Variant Collection Response - type: object - properties: - data: - type: array - items: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Collection Meta - type: object - description: 'Data about the response, including pagination and collection totals.' - VariantResponse: - description: '' - content: - application/json: - schema: - title: Variant Response - type: object - properties: - data: - type: object - allOf: - - title: Variant Base - type: object - properties: - cost_price: - minimum: 0 - type: number - description: The cost price of the variant. Not affected by Price List prices. - format: double - x-nullable: true - price: - minimum: 0 - type: number - description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' - format: double - x-nullable: true - sale_price: - minimum: 0 - type: number - description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' - format: double - x-nullable: true - retail_price: - minimum: 0 - type: number - description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' - format: double - x-nullable: true - weight: - minimum: 0 - type: number - description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' - format: double - x-nullable: true - width: - minimum: 0 - type: number - description: | - Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. - format: double - x-nullable: true - height: - minimum: 0 - type: number - description: | - Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. - format: double - x-nullable: true - depth: - minimum: 0 - type: number - description: | - Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. - format: double - x-nullable: true - is_free_shipping: - type: boolean - description: | - Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero. - fixed_cost_shipping_price: - minimum: 0 - type: number - description: | - A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation. - format: double - x-nullable: true - purchasing_disabled: - type: boolean - description: 'If `true`, this variant will not be purchasable on the storefront.' - purchasing_disabled_message: - maxLength: 255 - minLength: 0 - type: string - description: 'If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.' - upc: - type: string - description: The UPC code used in feeds for shopping comparison sites and external channel integrations. - x-nullable: true - inventory_level: - type: integer - description: 'Inventory level for the variant, which is used when the product’s inventory_tracking is set to `variant`.' - x-nullable: true - inventory_warning_level: - type: integer - description: 'When the variant hits this inventory level, it is considered low stock.' - x-nullable: true - bin_picking_number: - maxLength: 255 - minLength: 0 - type: string - description: Identifies where in a warehouse the variant is located. - x-nullable: true - description: Common Variant properties. - - type: object - properties: - id: - type: integer - product_id: - type: integer - sku: - type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - x-nullable: true - option_values: - type: array - description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. - items: - title: Option Value Variant - type: object - allOf: - - title: Option Value Product Base - type: object - properties: - option_display_name: - maxLength: 255 - minLength: 1 - type: string - description: | - The name of the option. - example: Color - x-required: - - post - label: - maxLength: 255 - minLength: 1 - type: string - description: | - The label of the option value. - example: Beige - x-required: - - post - description: Common Option Value Product properties. - - type: object - properties: - id: - type: integer - option_id: - type: integer - calculated_price: - type: number - description: | - The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant. - format: double - meta: - title: Meta - type: object - properties: {} - description: Empty meta object; may be used later. - betaCategoryCollectionResponse: - description: '' - content: - application/json: - schema: - type: object - title: Category Base - properties: - data: - type: array - items: {} - meta: - $ref: '#/components/schemas/betametaCollection_Full' - examples: - response: - value: - data: - - id: 19 - parent_id: 0 - name: Garden - description: This is the garden description - views: 0 - sort_order: 2 - page_title: page title - meta_keywords: - - meta keyword - meta_description: meta description - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: search keywords - default_product_sort: use_store_settings - custom_url: - url: /garden/ - is_customized: false - - id: 20 - parent_id: 0 - name: Publications - description: '' - views: 0 - sort_order: 4 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /publications/ - is_customized: false - - id: 21 - parent_id: 0 - name: Kitchen - description: '' - views: 0 - sort_order: 3 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /kitchen/ - is_customized: false - - id: 22 - parent_id: 0 - name: Utility - description: '' - views: 0 - sort_order: 5 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /utility/ - is_customized: false - - id: 23 - parent_id: 0 - name: Shop All - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category_with_facets.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /shop-all/ - is_customized: false - - id: 39 - parent_id: 19 - name: Bath - description: '' - views: 0 - sort_order: 0 - page_title: '' - meta_keywords: - - '' - meta_description: '' - layout_file: category.html - image_url: '' - is_visible: true - search_keywords: '' - default_product_sort: use_store_settings - custom_url: - url: /garden/bath/ - is_customized: false - meta: - pagination: - total: 6 - count: 6 - per_page: 50 - current_page: 1 - total_pages: 1 - links: - current: '?page=1&limit=50' - betaCategoryResponse: - description: '' - content: - application/json: - schema: - type: object - title: Category Response - properties: - data: - $ref: '#/components/schemas/betacategory_Full' - meta: - $ref: '#/components/schemas/metaEmpty_Full' - parameters: - FilterTemplateFileParam: - name: template_file - in: query - description: 'The template file, for example: `pages/home`.' - schema: - type: string - FilterIdParam: - name: id - in: query - description: | - Filter items by id. - schema: - type: integer - FilterSkuParam: - name: sku - in: query - description: | - Filter items by sku. - schema: - type: string - FilterNameParam: - name: name - in: query - description: | - Filter items by name. - schema: - type: string - FilterEmailParam: - name: email - in: query - description: | - Filter items by email. - schema: - type: string - FilterSourceParam: - name: source - in: query - description: | - Filter items by source. - schema: - type: string - FilterOrderIdParam: - name: order_id - in: query - description: | - Filter items by order_id. - schema: - type: integer - FilterUpcParam: - name: upc - in: query - description: | - Filter items by upc. - schema: - type: string - FilterPriceParam: - name: price - in: query - description: | - Filter items by price. - schema: - type: number - FilterSalePriceParam: - name: sale_price - in: query - description: | - Filter items by sale_price. - schema: - type: number - FilterRetailPriceParam: - name: retail_price - in: query - description: | - Filter items by retail_price. - schema: - type: number - FilterMapPriceParam: - name: map_price - in: query - description: | - Filter items by map_price. - schema: - type: number - FilterCalculatedPriceParam: - name: calculated_price - in: query - description: | - Filter items by calculated_price. - schema: - type: number - FilterWeightParam: - name: weight - in: query - description: | - Filter items by weight. - schema: - type: number - FilterConditionParam: - name: condition - in: query - description: | - Filter items by condition. - schema: - type: string - enum: - - new - - used - - refurbished - FilterBrandIdParam: - name: brand_id - in: query - description: | - Filter items by brand_id. - schema: - type: integer - FilterDateModifiedParam: - name: date_modified - in: query - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - schema: - type: string - format: date-time - FilterDateCreatedParam: - name: date_created - in: query - description: | - Filter items by date_created. - schema: - type: string - format: date-time - FilterDateLastImportedParam: - name: date_last_imported - in: query - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - schema: - type: string - format: date-time - FilterIsVisibleParam: - name: is_visible - in: query - description: 'Filter items by if visible on the storefront. ' - schema: - type: boolean - FilterIsFeaturedParam: - name: is_featured - in: query - description: | - Filter items by is_featured. - schema: - type: integer - FilterIsFreeShippingParam: - name: is_free_shipping - in: query - description: | - Filter items by is_free_shipping. - schema: - type: integer - FilterInventoryLevelParam: - name: inventory_level - in: query - description: | - Filter items by inventory_level. - schema: - type: integer - FilterInventoryLowParam: - name: inventory_low - in: query - description: | - Filter items by inventory_low. Values: 1, 0. - schema: - type: integer - FilterOutOfStockParam: - name: out_of_stock - in: query - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - schema: - type: integer - FilterTotalSoldParam: - name: total_sold - in: query - description: | - Filter items by total_sold. - schema: - type: integer - ProductFilterTypeParam: - name: type - in: query - description: 'Filter items by type: `physical` or `digital`.' - schema: - type: string - enum: - - digital - - physical - FilterCategoriesParam: - name: categories - in: query - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - schema: - type: integer - FilterKeywordParam: - name: keyword - in: query - description: 'Filter items by keywords. eg. new, towel, bath' - schema: - type: string - ProductFilterKeywordParam: - name: keyword - in: query - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - schema: - type: string - ProductFilterKeywordContextParam: - name: keyword_context - in: query - description: Set context for a product search. - schema: - type: string - enum: - - shopper - - merchant - FilterStatusParam: - name: status - in: query - description: | - Filter items by status. - schema: - type: integer - FilterIncludeParam: - name: include - in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - FilterIncludeFieldsParam: - name: include_fields - in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - schema: - type: string - FilterExcludeFieldsParam: - name: exclude_fields - in: query - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - schema: - type: string - FilterParentIdParam: - name: parent_id - in: query - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - schema: - type: integer - FilterPageTitleParam: - name: page_title - in: query - description: | - Filter items by page_title. - schema: - type: string - FilterAvailabilityParam: - name: availability - in: query - description: | - Filter items by availability. Values are: available, disabled, preorder. - schema: - type: string - enum: - - available - - disabled - - preorder - FilterProductIdParam: - name: product_id - in: query - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - schema: - type: string - FilterVariantIdParam: - name: variant_id - in: query - description: | - The ID of the `Variant` whose prices were requested. - schema: - type: integer - FilterCurrencyParam: - name: currency - in: query - description: | - Filter items by currency. - schema: - type: string - format: ISO-4217 - PageParam: - name: page - in: query - description: Specifies the page number in a limited (paginated) list of products. - schema: - type: integer - LimitParam: - name: limit - in: query - description: Controls the number of items per page in a limited (paginated) list of products. - schema: - type: integer - DirectionParam: - name: direction - in: query - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - schema: - type: string - enum: - - asc - - desc - ProductSortParam: - name: sort - in: query - description: | - Field name to sort by. - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - ProductIdParam: - name: product_id - in: path - description: | - The ID of the `Product` to which the resource belongs. - required: true - schema: - type: integer - ReviewIdParam: - name: review_id - description: | - The ID of the `review` that is being operated on. - required: true - in: path - schema: - type: integer - ImageIdParam: - name: image_id - description: | - The ID of the `Image` that is being operated on. - required: true - in: path - schema: - type: integer - VideoIdParam: - name: id - description: The BigCommerce ID of the `Video` - required: true - in: path - schema: - type: integer - ComplexRuleIdParam: - name: complex_rule_id - description: | - The ID of the `ComplexRule`. - required: true - in: path - schema: - type: integer - ConfigurableFieldIdParam: - name: configurable_field_id - description: | - The ID of the `ConfigurableField`. - required: true - in: path - schema: - type: integer - CustomFieldIdParam: - name: custom_field_id - description: | - The ID of the `CustomField`. - required: true - in: path - schema: - type: integer - BulkPricingRuleIdParam: - name: bulk_pricing_rule_id - description: | - The ID of the `BulkPricingRule`. - required: true - in: path - schema: - type: integer - ModifierIdParam: - name: modifier_id - description: | - The ID of the `Modifier`. - required: true - in: path - schema: - type: integer - ValueIdParam: - name: value_id - description: | - The ID of the `Modifier/Option Value`. - required: true - in: path - schema: - type: integer - OptionIdParam: - name: option_id - description: | - The ID of the `Option`. - required: true - in: path - schema: - type: integer - VariantIdParam: - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - CategoryIdParam: - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - BrandIdParam: - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - MetafieldIdParam: - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - MetafieldKeyParam: - name: key - in: query - description: | - Filter based on a metafield's key. - schema: - type: string - MetafieldNamespaceParam: - name: namespace - in: query - description: Filter based on a metafield's namespace. - schema: - type: string - OrderIdParam: - name: order_id - in: path - description: | - The ID of the `Order` to which the transactions belong. - required: true - schema: - type: integer - 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' - product_id: - name: product_id - in: query - description: |- - A comma-separated list of ids of Products whose prices were requested. For example: - `?product_id=:id` - `?product_id:in=77,80,81` - schema: - type: string - FilterIdIn: - name: 'id:in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdNotIn: - name: 'id:not_in' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdMax: - name: 'id:max' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdMin: - name: 'id:min' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdGreater: - name: 'id:greater' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - FilterIdLess: - name: 'id:less' - in: query - style: form - explode: false - schema: - type: array - items: - type: integer - betaFilterTemplateFileParam: - in: query - name: template_file - description: 'The template file, for example: `pages/home`.' - required: false - schema: - type: string - betaFilterIdParam: - name: id - description: | - Filter items by id. - required: false - in: query - schema: - type: integer - betaFilterSkuParam: - name: sku - description: | - Filter items by sku. - required: false - in: query - schema: - type: string - betaFilterNameParam: - name: name - description: | - Filter items by name. - required: false - in: query - schema: - type: string - betaFilterEmailParam: - name: email - description: | - Filter items by email. - required: false - in: query - schema: - type: string - betaFilterSourceParam: - name: source - description: | - Filter items by source. - required: false - in: query - schema: - type: string - betaFilterOrderIdParam: - name: order_id - description: | - Filter items by order_id. - required: false - in: query - schema: - type: integer - betaFilterUpcParam: - name: upc - description: | - Filter items by upc. - required: false - in: query - schema: - type: string - betaFilterPriceParam: - name: price - description: | - Filter items by price. - required: false - in: query - schema: - type: number - betaFilterSalePriceParam: - name: sale_price - description: | - Filter items by sale_price. - required: false - in: query - schema: - type: number - betaFilterRetailPriceParam: - name: retail_price - description: | - Filter items by retail_price. - required: false - in: query - schema: - type: number - betaFilterMapPriceParam: - name: map_price - description: | - Filter items by map_price. - required: false - in: query - schema: - type: number - betaFilterCalculatedPriceParam: - name: calculated_price - description: | - Filter items by calculated_price. - required: false - in: query - schema: - type: number - betaFilterWeightParam: - name: weight - description: | - Filter items by weight. - required: false - in: query - schema: - type: number - betaFilterConditionParam: - name: condition - description: | - Filter items by condition. - required: false - in: query - schema: - type: string - enum: - - new - - used - - refurbished - betaFilterBrandIdParam: - name: brand_id - description: | - Filter items by brand_id. - required: false - in: query - schema: - type: integer - betaFilterDateModifiedParam: - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_modified:min=2018-06-15`' - required: false - in: query - schema: - type: string - format: date-time - betaFilterDateCreatedParam: - name: date_created - description: | - Filter items by date_created. - required: false - in: query - schema: - type: string - format: date-time - betaFilterDateLastImportedParam: - name: date_last_imported - description: 'Filter items by date_last_imported. For example `v3/catalog/products?date_last_imported:min=2018-06-15`' - required: false - in: query - schema: - type: string - format: date-time - betaFilterIsVisibleParam: - name: is_visible - description: 'Filter items by if visible on the storefront. ' - required: false - in: query - schema: - type: boolean - betaFilterIsFeaturedParam: - name: is_featured - description: | - Filter items by is_featured. - required: false - in: query - schema: - type: integer - betaFilterIsFreeShippingParam: - name: is_free_shipping - description: | - Filter items by is_free_shipping. - required: false - in: query - schema: - type: integer - betaFilterInventoryLevelParam: - name: inventory_level - description: | - Filter items by inventory_level. - required: false - in: query - schema: - type: integer - betaFilterInventoryLowParam: - name: inventory_low - description: | - Filter items by inventory_low. Values: 1, 0. - required: false - in: query - schema: - type: integer - betaFilterOutOfStockParam: - name: out_of_stock - description: | - Filter items by out_of_stock. To enable the filter, pass `out_of_stock`=`1`. - required: false - in: query - schema: - type: integer - betaFilterTotalSoldParam: - name: total_sold - description: | - Filter items by total_sold. - required: false - in: query - schema: - type: integer - betaProductFilterTypeParam: - name: type - description: 'Filter items by type: `physical` or `digital`.' - required: false - in: query - schema: - type: string - enum: - - digital - - physical - betaFilterCategoriesParam: - name: categories - description: |- - Filter items by categories. - If a product is in more than one category, using this query will not return the product. Instead use `categories:in=12`. - required: false - in: query - schema: - type: integer - betaFilterKeywordParam: - name: keyword - description: 'Filter items by keywords. eg. new, towel, bath' - required: false - in: query - schema: - type: string - betaProductFilterKeywordParam: - name: keyword - description: | - Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name. - required: false - in: query - schema: - type: string - betaProductFilterKeywordContextParam: - name: keyword_context - description: Set context for a product search. - required: false - in: query - schema: - type: string - enum: - - shopper - - merchant - betaFilterStatusParam: - name: status - description: | - Filter items by status. - required: false - in: query - schema: - type: integer - betaFilterIncludeParam: - name: include - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' - required: false - in: query - schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos - betaFilterIncludeFieldsParam: - name: include_fields - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' - required: false - in: query - schema: - type: string - betaFilterExcludeFieldsParam: - name: exclude_fields - description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' - required: false - in: query - schema: - type: string - betaFilterParentIdParam: - name: parent_id - description: 'Filter items by parent_id. If the category is a child or sub category it can be filtered with the parent_id. ' - required: false - in: query - schema: - type: integer - betaFilterPageTitleParam: - name: page_title - description: | - Filter items by page_title. - required: false - in: query - schema: - type: string - betaFilterAvailabilityParam: - name: availability - description: | - Filter items by availability. Values are: available, disabled, preorder. - required: false - in: query - schema: - type: string - enum: - - available - - disabled - - preorder - betaFilterProductIdParam: - name: product_id - in: query - required: false - description: | - A comma-separated list of ids of `Product`s whose prices were requested. - schema: - type: string - betaFilterVariantIdParam: - name: variant_id - in: query - required: false - description: | - The ID of the `Variant` whose prices were requested. - schema: - type: integer - betaFilterCurrencyParam: - name: currency - description: | - Filter items by currency. - required: false - in: query - schema: - type: string - format: ISO-4217 - betaPageParam: - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer - betaLimitParam: - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer - betaDirectionParam: - name: direction - description: | - Sort direction. Acceptable values are: `asc`, `desc`. - required: false - in: query - schema: - type: string - enum: - - asc - - desc - betaProductSortParam: - name: sort - description: | - Field name to sort by. - required: false - in: query - schema: - type: string - enum: - - id - - name - - sku - - price - - date_modified - - date_last_imported - - inventory_level - - is_visible - - total_sold - betaFilterIdIn: - in: query - name: 'id:in' - schema: - type: array - items: - type: integer - betaFilterIdNotIn: - in: query - name: 'id:not_in' - schema: - type: array - items: - type: integer - betaFilterIdMax: - in: query - name: 'id:max' - schema: - type: array - items: - type: integer - betaFilterIdMin: - in: query - name: 'id:min' - schema: - type: array - items: - type: integer - betaFilterIdGreater: - in: query - name: 'id:greater' - schema: - type: array - items: - type: integer - betaFilterIdLess: - in: query - name: 'id:less' - schema: - type: array - items: - type: integer - securitySchemes: - X-Auth-Token: - name: X-Auth-Token - description: |- - ### OAuth scopes - - | UI Name | Permission | Parameter | - |:--------|:-----------|:----------| - | Products | modify | `store_v2_products` | - | Products | read-only | `store_v2_products_read_only` | - - ### Authentication header - - | Header | Argument | Description | - |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | - - ### Further reading - - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). - - For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). - - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). - type: apiKey - in: header diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index 82a514689..b018e5da6 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -686,10 +686,10 @@ paths: operationId: get-channels-channel_id-metafields parameters: - $ref: '#/components/parameters/PageParam' - - $ref: ./catalog.v3.yml#/components/parameters/LimitParam - - $ref: ./catalog.v3.yml#/components/parameters/MetafieldKeyParam + - $ref: '#/components/parameters/LimitParam' + - $ref: '#/components/parameters/MetafieldKeyParam' - $ref: '#/components/parameters/MetafieldNamespaceParam' - - $ref: ./catalog.v3.yml#/components/parameters/DirectionParam + - $ref: '#/components/parameters/DirectionParam' description: Returns a list of metafields on a channel. Optional filter parameters can be passed in. post: summary: Create a Channel Metafield From b14cedb4b2ec87fbdc222bec8aba37020e7e9962 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 5 Jun 2023 12:47:48 -0500 Subject: [PATCH 190/360] DEVDOCS-5080: [remove] Payments, delete superseded spec files (#1338) --- reference/payment_methods.v2.yml | 143 --- reference/payment_processing.yml | 1582 ------------------------------ 2 files changed, 1725 deletions(-) delete mode 100644 reference/payment_methods.v2.yml delete mode 100644 reference/payment_processing.yml diff --git a/reference/payment_methods.v2.yml b/reference/payment_methods.v2.yml deleted file mode 100644 index 3ff2e4f09..000000000 --- a/reference/payment_methods.v2.yml +++ /dev/null @@ -1,143 +0,0 @@ -openapi: '3.0.1' -info: - title: Payment Methods - description: |- - Get a list of a store's enabled payment methods. For processing payments, see [Payment Processing API](/api-docs/payments/payments-api-overview). - termsOfService: 'https://www.bigcommerce.com/terms' - contact: - name: BigCommerce - url: 'https://www.bigcommerce.com' - email: support@bigcommerce.com - license: - name: '' - version: '' -servers: - - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2' - variables: - store_hash: - default: store_hash - description: Permanent ID of the BigCommerce store. - description: BigCommerce API Gateway -security: -- X-Auth-Token: [] -tags: -- name: Payment Methods -paths: - '/payments/methods': - parameters: - - $ref: '#/components/parameters/Accept' - get: - tags: - - Payment Methods - summary: Get All Payment Methods - operationId: getAllPaymentMethods - description: | - Gets the list of enabled payment methods. Default sorting is by payment method, alphabetically from A to Z. - - > #### Note - > Avoid using this API operation if possible. It is not supported; therefore, all enabled providers may not appear. - parameters: - - name: page - in: query - description: Optional filter param `/api/v2/payments/methods?page={number}` - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: number - - name: limit - in: query - description: Optional filter param `/api/v2/payments/methods?limit={count}` - schema: - exclusiveMaximum: false - exclusiveMinimum: false - type: number - responses: - '200': - description: "" - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/payment_Base' - x-unitTests: [] - x-operation-settings: - CollectParameters: false - AllowDynamicQueryParameters: false - AllowDynamicFormParameters: false - IsMultiContentStreaming: false -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' - schemas: - payment_Base: - title: payment_Base - type: object - properties: - code: - type: string - description: Unique platform-wide code identifying the payment method. - example: squarev2 - name: - type: string - description: Descriptive name of the payment method. - example: Square - test_mode: - type: boolean - description: Determines whether the payment gateway is in test mode. Always - false for offline payment methods. - example: false - example: - code: squarev2 - name: Square - test_mode: false - x-internal: false - responses: - paymentCollection_Resp: - description: "" - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/payment_Base' - securitySchemes: - X-Auth-Token: - name: X-Auth-Token - description: |- - ### OAuth scopes - - | UI Name | Permission | Parameter | - |:--------|:-----------|:----------| - | Information & Settings | read-only | `store_payments_methods_read` | - - ### Authentication header - - | Header | Argument | Description | - |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | - - ### Further reading - - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). - - For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). - - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). - type: apiKey - in: header diff --git a/reference/payment_processing.yml b/reference/payment_processing.yml deleted file mode 100644 index 3deb2b4c2..000000000 --- a/reference/payment_processing.yml +++ /dev/null @@ -1,1582 +0,0 @@ -openapi: '3.0.0' -info: - version: '' - title: Payment Processing - description: 'Process payments using payment instrument such as credit card. See [Payments Overview](/api-docs/store-management/payments-api-overview) for more information.' - termsOfService: 'https://www.bigcommerce.com/terms' - contact: - name: BigCommerce - url: 'https://www.bigcommerce.com' - email: support@bigcommerce.com -tags: - - name: Accepted Methods - - name: Access Tokens - - name: Process Payment -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 - - url: 'https://payments.bigcommerce.com' - description: BigCommerce Payments Gateway -paths: - '/payments': - post: - summary: Process Payment - tags: - - Process Payment - operationId: PaymentsPost - description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payments-api-overview) for more information.' - servers: - - url: 'https://payments.bigcommerce.com' - description: BigCommerce Payments Gateway - security: - - BearerPAT: [] - parameters: - - $ref: '#/components/parameters/AcceptPaymentResponse' - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Payment Request - type: object - properties: - payment: - title: Payment - type: object - required: - - instrument - - payment_method_id - properties: - instrument: - anyOf: - - $ref: '#/components/schemas/Card' - - $ref: '#/components/schemas/StoredCard' - - $ref: '#/components/schemas/StoredPayPalAccount' - - $ref: '#/components/schemas/GiftCertificate' - - $ref: '#/components/schemas/StoreCredit' - payment_method_id: - description: Identifier for payment method that will be used for this payment and `id` from the Get Accepted Payment Methods API - type: string - minLength: 1 - save_instrument: - type: boolean - description: 'To use `save_instrument`, configure the payment gateway to accept stored cards.' - required: - - payment - examples: - Card: - value: - payment: - instrument: - type: card - cardholder_name: string - number: string - expiry_month: 1 - expiry_year: 0 - verification_value: stri - issue_month: 1 - issue_year: 0 - issue_number: 0 - payment_method_id: string - Stored Card: - value: - payment: - instrument: - type: stored_card - token: 8cdf7b6ea1b27119463bf9e5106639618cc77a9adc49f0069ca8b756cc15caee - verification_value: '1142' - payment_method_id: adyenv2.scheme - save_instrument: true - Stored PayPal Account: - value: - payment: - instrument: - type: stored_paypal_account - token: 2c129313bcffe4501ec5fa2764c8c16320e38c7ba9e8cdf95583b541bb05ad91 - payment_method_id: braintree.paypal - Gift Certificate: - value: - payment: - instrument: - type: gift_certificate - gift_certificate_code: ABC-DEF-GXX - payment_method_id: bigcommerce.gift_certificate - Store Credit: - value: - payment: - instrument: - type: store_credit - payment_method_id: bigcommerce.store_credit - required: true - x-examples: - application/json: - payment: - instrument: {} - payment_method_id: Lorem in - amount: 81505146 - currency_code: NYE - Payment Access Token: |- - curl -X POST \ - https://payments.bigcommerce.com/stores/{store_hash}/payments \ - -H 'Accept: application/vnd.bc.v1+json' \ - -H 'Authorization: PAT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NsdfasftIsIm5iZiI6MTU1MTM5MDU0MiwiaXNzIjoicGF5bWVudHMuYmlnY29tbWVyY2UuY29tIiwic3ViIjoianJhaDZnbW4iLCJqdGkiOiI3Nzg3ZmU1Zi01OWJmLTQ3ZWMtYTFmZC00ZDQ3ZTkwNjFlNWMiLCJpYXQiOjE1NTEzOTA1NDIsImRhdGEiOnsic3RvcmVfaWQiOjEwMjU2NDYsIm9yZGVyX2lkIjoyMTUsImFtb3VudCI6OTgwMCwiY3VycmVuY3kiOiJVU0QifX0.WbR90d8m4gn8wK7kPMDEoVq8B0hHC5Ul5H4Hpqq6Yvo' \ - -H 'Content-Type: application/json' \ - Vaulted Card: - payment: - instrument: - type: stored_card - token: vaulted instrument token - verification_value: '123' - payment_method_id: stripe.card - save_instrument: true - Credit Card: |- - { - "payment": { - "instrument": { - "type": "card", - "number": "4111111111111111", - "cardholder_name": "BP", - "expiry_month": 12, - "expiry_year": 2020, - "verification_value": "411" - }, - "payment_method_id": "authorizenet.card", - "save_instrument": true - } - } - description: '' - responses: - '202': - description: Payment has been successfully processed - content: - application/json: - schema: - title: Success Payment Response - type: object - properties: - id: - description: Identifier for this transaction - type: string - transaction_type: - title: Transaction Type - description: Transaction type for this payment - example: authorization - type: string - enum: - - authorization - - purchase - status: - type: string - title: Status - description: Status to indicate a success response - enum: - - success - - pending - examples: - response: - value: - id: 227d9e1e-94f8-408c-95a5-f97b30592eb7 - transaction_type: authorization - status: pending - '400': - description: Payment request has been rejected due to malformed request - content: - application/json: - schema: - title: Error Payment Response - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - description: '' - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '401': - description: Valid authentication required - content: - application/json: - schema: - title: Error Payment Response - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - description: '' - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '422': - description: 'Payment request has been rejected due to missing, invalid data or declined by payment provider' - content: - application/json: - schema: - title: Error Payment Response - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - description: '' - type: object - additionalProperties: - type: string - required: - - status - - title - - type - default: - description: Internal server error - content: - application/json: - schema: - title: Error Payment Response - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - description: '' - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '/payments/access_tokens': - parameters: - - $ref: '#/components/parameters/Accept' - post: - description: |- - This endpoint provides the capability to create a payment access token. The payment access token is required when making request to Payment API for submitting payment for an order. - - After the token is created, use the token to [Process Payments](/docs/rest-payments/processing#process-payment). - - **Required Fields** - * order_id - summary: Create Payment Access Token - tags: - - Access Tokens - operationId: PaymentsAccessTokensPost - 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: [] - deprecated: false - parameters: - - $ref: '#/components/parameters/ContentType' - requestBody: - content: - application/json: - schema: - title: Payment Access Token Request - type: object - properties: - order: - $ref: '#/components/schemas/Order' - required: - - order - examples: - example-1: - value: - order: - id: 1 - is_recurring: false - required: true - x-examples: - application/json: - order: - id: 44796008 - is_recurring: true - Example: - order: - id: 182 - responses: - '201': - description: Payment access token has been successfully created - headers: {} - content: - application/json: - schema: - title: Payments Access Tokens Response - type: object - properties: - data: - title: Payment Access Token - type: object - properties: - id: - description: Payment access token. This token is required in subsequent payment request to Payment API endpoint. - type: string - minLength: 1 - required: - - id - meta: - type: object - properties: {} - additionalProperties: true - description: Response metadata. - examples: - example-1: - value: - data: - id: eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MTUyNTA3NTksIm5iZiI6MTYxNTI0Nz E1OSwiaXNzIjoicGF5bWVudHMuYmlnY29tbWVyY2UuY29tIiwic3ViIjoieHNsM3 JoZGYzNiIsImp0aSI6IjNhOGE3NTJjLTBmNWQtNDNmNS05MzdjLTRhMTYzODBlMW YwZCIsImlhdCI6MTYxNTI0NzE1OSwiZGF0YSI6eyJzdG9yZV9pZCI6IjEwMDEzMz YzMjQiLCJvcmRlcl9pZCI6IjE2NiIsImFtb3VudCI6NDU3OTAsImN1cnJlbmN5Ij oiVVNEIn19.dpCDgOfbNrz095VARY20yYBRTOuq-W1F0ETTgf1Zhbs - meta: {} - '400': - description: Request has been rejected - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '401': - description: Valid authentication required - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '404': - description: Request has been rejected due to resource not being found - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '409': - description: Request has been rejected due to conflict with the current state of the target resource - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '422': - description: Request has been rejected due to missing or invalid data - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - default: - description: Internal server error - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '/payments/methods': - parameters: - - $ref: '#/components/parameters/Accept' - get: - description: |- - Returns a list of accepted payment methods based on the `order_id` or `checkout_id`. - - **Notes** - * Use the [Create an Order](/docs/rest-management/orders#create-an-order) endpoint to generate the `order_id`. - * Orders created will be set to incomplete order status. - * The cart ID and checkout ID are the same. - - **Required Fields** - * `order_id` or `checkout_id` - summary: Get Accepted Payment Methods - tags: - - Accepted Methods - operationId: PaymentsMethodsGet - 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: [] - deprecated: false - parameters: - - name: order_id - in: query - description: Identifier for the order - schema: - type: integer - format: int32 - exclusiveMinimum: false - exclusiveMaximum: false - - name: checkout_id - in: query - description: Identifier for the checkout (same as the cart ID) - schema: - type: string - exclusiveMinimum: false - exclusiveMaximum: false - responses: - '200': - $ref: '#/components/responses/paymentsMethods_Resp' - '400': - description: Request has been rejected - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '401': - description: Valid authentication required - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '404': - description: Request has been rejected due to resource not being found - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - '422': - description: Request has been rejected due to missing or invalid data - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - default: - description: Internal server error - content: - application/json: - schema: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type -components: - parameters: - AcceptPaymentResponse: - name: Accept - in: header - schema: - type: string - enum: - - 'application/vnd.bc.v1+json' - default: 'application/vnd.bc.v1+json' - required: true - description: This required value must be `application/vnd.bc.v1+json`. - 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' - responses: - paymentsMethods_Resp: - description: '' - content: - application/json: - schema: - title: Payments Methods Response - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/paymentMethod_Full' - meta: - type: object - properties: {} - additionalProperties: true - description: Response metadata. - examples: - response: - value: - data: - - id: bigcommerce.gift_certificate - name: Gift Certificate - test_mode: false - type: gift_certificate - supported_instruments: [] - stored_instruments: [] - - id: bigcommerce.store_credit - name: Store Credit - test_mode: false - type: store_credit - supported_instruments: [] - stored_instruments: [] - - id: stripe.card - name: Stripe - test_mode: true - type: card - supported_instruments: - - instrument_type: VISA - verification_value_required: true - - instrument_type: MASTERCARD - verification_value_required: true - - instrument_type: AMEX - verification_value_required: true - - instrument_type: DISCOVER - verification_value_required: true - - instrument_type: JCB - verification_value_required: true - - instrument_type: DINERS_CLUB - verification_value_required: true - - instrument_type: STORED_CARD - verification_value_required: true - stored_instruments: - - type: stored_card - brand: VISA - expiry_month: 9 - expiry_year: 2020 - issuer_identification_number: '424242' - last_4: '4242' - token: 050a1e5c982e5905288ec5ec33f292772762033a0704f46fccb16bf1940b51ef - is_default: true - meta: {} - paymentAccessToken_Resp: - description: '' - content: - application/json: - schema: - title: Payments Access Tokens Response - type: object - properties: - data: - $ref: '#/components/schemas/PaymentAccessToken' - securitySchemes: - X-Auth-Token: - name: X-Auth-Token - description: |- - ### OAuth scopes - - | UI Name | Permission | Parameter | - |:--------|:-----------|:----------| - | Create Payments | create | `store_payments_access_token_create` | - | Get Payment Methods | read-only | `store_payments_methods_read` | - - ### Authentication header - - | Header | Argument | Description | - |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | - - ### Further reading - - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). - - For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). - - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). - type: apiKey - in: header - BearerPAT: - description: |- - ### OAuth scopes - - The required scopes are granted to the `payment_access_token` upon generation. - - ### Authentication header - - | Header | Argument | Description | - |:-------|:---------|:------------| - |`Authorization`|`PAT {{PAYMENT_ACCESS_TOKEN}}`| Obtained using the Create Access Token endpoint.| - - ### Further reading - - For an outline of the Process Payment API call flow and more information about authenticating, see [Authentication and Example Requests](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). - - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). - type: http - scheme: bearer - bearerFormat: 'PAT {{PAYMENT_ACCESS_TOKEN}}' - schemas: - PaymentRequest: - title: Payment Request - type: object - properties: - payment: - title: Payment - type: object - required: - - instrument - - payment_method_id - properties: - amount: - description: Amount in smallest currency unit - type: integer - format: int32 - currency_code: - description: Currency code - type: string - pattern: '^[A-Z]{3}$' - instrument: - description: '' - type: object - payment_method_id: - description: Identifier for payment method that will be used for this payment - type: string - minLength: 1 - required: - - payment - x-internal: false - Payment: - title: Payment - type: object - properties: - amount: - description: Amount in smallest currency unit - type: integer - format: int32 - currency_code: - description: Currency code - type: string - pattern: '^[A-Z]{3}$' - instrument: - description: '' - type: object - payment_method_id: - description: Identifier for payment method that will be used for this payment - type: string - minLength: 1 - required: - - instrument - - payment_method_id - x-internal: false - SuccessPaymentResponse: - title: Success Payment Response - type: object - properties: - id: - description: Identifier for this transaction - type: string - transaction_type: - title: Transaction Type - description: Transaction type for this payment - example: authorization - type: string - enum: - - authorization - - purchase - status: - type: string - title: Status - description: Status to indicate a success response - enum: - - success - - pending - x-internal: false - TransactionType: - title: Transaction Type - description: Transaction type for this payment - example: authorization - type: string - enum: - - authorization - - purchase - x-internal: false - Status: - type: string - title: Status - description: Status to indicate a success response - enum: - - success - - pending - x-internal: false - ErrorPaymentResponse: - title: Error Payment Response - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - description: '' - type: object - additionalProperties: - type: string - required: - - status - - title - - type - x-internal: false - Card: - title: Card - type: object - x-examples: - example-1: - type: card - cardholder_name: string - number: string - expiry_month: 1 - expiry_year: 0 - verification_value: stri - issue_month: 1 - issue_year: 0 - issue_number: 0 - x-internal: false - properties: - type: - type: string - default: card - example: card - description: Type to classify this payment instrument (required) - cardholder_name: - type: string - minLength: 1 - description: Cardholderʼs full name (required) - number: - type: string - minLength: 1 - description: Credit card number (required) - expiry_month: - type: integer - format: int32 - minimum: 1 - maximum: 12 - description: Expiry month of this card (required) - expiry_year: - type: integer - format: int32 - description: Expiry year of this card (required) - verification_value: - type: string - minLength: 3 - maxLength: 4 - description: Verification value of this card (CVV) - issue_month: - type: integer - description: Issue month of this card - format: int32 - minimum: 1 - maximum: 12 - issue_year: - type: integer - format: int32 - description: Issue year of this card - issue_number: - type: integer - format: int32 - description: Issue number of this card - StoredCard: - title: Stored Card - type: object - x-internal: false - x-examples: - example-1: - type: stored_card - token: stringstringstringstringstringstringstringstringstringstringstri - verification_value: 1142 - properties: - type: - description: Type to classify this payment instrument (required) - example: stored_card - type: string - default: stored_card - token: - description: Identifier representing this stored card (required) - type: string - minLength: 64 - maxLength: 64 - verification_value: - type: string - description: Verification value of this card (CVV) - minLength: 3 - maxLength: 4 - BasePaymentResponse: - title: Base Payment Response - type: object - properties: - id: - description: Identifier for this transaction - type: string - transaction_type: - title: Transaction Type - description: Transaction type for this payment - example: authorization - type: string - enum: - - authorization - - purchase - x-internal: false - PendingPaymentResponse: - title: Pending Payment Response - type: object - properties: - id: - description: Identifier for this transaction - type: string - transaction_type: - title: Transaction Type - description: Transaction type for this payment - example: authorization - type: string - enum: - - authorization - - purchase - status: - type: string - title: Status - description: Status to indicate a success response - enum: - - success - - pending - x-internal: false - StoredPayPalAccount: - title: StoredPayPalAccount - type: object - x-internal: false - properties: - type: - type: string - description: Type to classify this payment instrument (required) - enum: - - stored_paypal_account - token: - description: Identifier representing this stored PayPal account (required) - type: string - minLength: 64 - maxLength: 64 - x-examples: - example-1: - type: stored_paypal_account - token: stringstringstringstringstringstringstringstringstringstringstri - Order: - title: Order - type: object - properties: - id: - description: Identifier for the order - type: integer - minimum: 1 - format: int32 - is_recurring: - description: Whether this is a recurring order. If the order is recurring this field should be set to true in order to let the payment gateway know. - example: false - type: boolean - default: false - required: - - id - x-examples: - example-1: - id: 1 - is_recurring: false - x-internal: false - PaymentAccessTokenRequest: - title: Payment Access Token Request - type: object - properties: - order: - title: Order - type: object - required: - - id - properties: - id: - description: Identifier for the order - type: integer - minimum: 1 - format: int32 - is_recurring: - description: Whether this is a recurring order. If the order is recurring this field should be set to true in order to let the payment gateway know. - example: false - type: boolean - default: false - required: - - order - x-internal: false - PaymentAccessToken: - title: Payment Access Token - type: object - properties: - id: - description: Payment access token. This token is required in subsequent payment request to Payment API endpoint. - type: string - minLength: 1 - required: - - id - x-internal: false - paymentMethodStoredInstrument: - title: paymentMethodStoredInstrument - type: object - properties: - brand: - description: Brand of this card such as VISA or Mastercard - type: string - minLength: 1 - expiry_month: - description: Expiry month of this card - type: integer - minimum: 1 - maximum: 12 - format: int32 - expiry_year: - description: Expiry year of this card - type: integer - format: int32 - issuer_identification_number: - description: Issuer identification number of this card. This is extracted from the card when the order is payed for. - type: string - minLength: 6 - maxLength: 6 - last_4: - description: Last four numbers of this card - type: string - minLength: 4 - maxLength: 4 - token: - description: A BigCommerce-generated identifier that represents the stored card. - type: string - minLength: 64 - maxLength: 64 - is_default: - description: Whether this instrument is a default instrument - example: false - type: boolean - default: false - type: - description: Type to classify this stored card - example: stored_card - type: string - default: stored_card - required: - - brand - - expiry_month - - expiry_year - - issuer_identification_number - - last_4 - - token - - is_default - - type - x-examples: - example-1: - brand: string - expiry_month: 1 - expiry_year: 0 - issuer_identification_number: string - last_4: stri - token: stringstringstringstringstringstringstringstringstringstringstri - is_default: false - type: stored_card - x-internal: false - paymentMethod_Full: - title: paymentMethod_Full - type: object - properties: - id: - description: Identifier for this payment method - type: string - minLength: 1 - name: - description: Name of this payment method - type: string - minLength: 1 - stored_instruments: - type: array - items: - $ref: '#/components/schemas/paymentMethodStoredInstrument' - supported_instruments: - type: array - items: - title: Supported Card Instrument - type: object - properties: - instrument_type: - title: InstrumentType - description: Type of this instrument - example: VISA - type: string - enum: - - VISA - - MASTERCARD - - DISCOVER - - AMEX - - DINERS_CLUB - - JCB - - DANKORT - - MAESTRO - - STORED_CARD - verification_value_required: - description: Whether verification value is required for payment - type: boolean - required: - - instrument_type - test_mode: - description: Whether this payment method is on test mode - example: false - type: boolean - default: false - type: - description: Type to classify this payment method - example: card - type: string - default: card - required: - - id - - name - - supported_instruments - - test_mode - - type - x-examples: - example-1: - id: string - name: string - stored_instruments: - - brand: string - expiry_month: 1 - expiry_year: 0 - issuer_identification_number: string - last_4: stri - token: stringstringstringstringstringstringstringstringstringstringstri - is_default: false - type: stored_card - supported_instruments: - - instrument_type: VISA - verification_value_required: true - test_mode: false - type: card - x-internal: false - SupportedCardInstrument: - title: Supported Card Instrument - type: object - properties: - instrument_type: - title: InstrumentType - description: Type of this instrument - example: VISA - type: string - enum: - - VISA - - MASTERCARD - - DISCOVER - - AMEX - - DINERS_CLUB - - JCB - - DANKORT - - MAESTRO - - STORED_CARD - verification_value_required: - description: Whether verification value is required for payment - type: boolean - required: - - instrument_type - x-internal: false - Error: - title: Error - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - required: - - status - - title - - type - x-internal: false - ErrorResponse: - title: ErrorResponse - type: object - properties: - status: - description: HTTP status code - type: integer - format: int32 - title: - description: Short summary describing the particular error - type: string - detail: - description: Detailed summary describing the particular error - type: string - type: - description: Reference that identifies the particular error - type: string - code: - description: Code representing the particular error - type: integer - format: int32 - errors: - type: object - additionalProperties: - type: string - required: - - status - - title - - type - x-internal: false - InstrumentType: - title: InstrumentType - description: Type of this instrument - example: VISA - type: string - enum: - - VISA - - MASTERCARD - - DISCOVER - - AMEX - - DINERS_CLUB - - JCB - - DANKORT - - MAESTRO - - STORED_CARD - x-internal: false - StoredPayPalAccountInstrument: - title: StoredPayPalAccountInstrument - type: object - properties: - email: - type: string - format: email - description: Email address of this stored account - token: - type: string - description: Identifier representing this stored account - minLength: 64 - maxLength: 64 - is_default: - type: boolean - description: Whether this instrument is a default instrument - default: false - type: - type: string - description: Type to classify this stored account - enum: - - stored_paypal_account - required: - - email - - token - - is_default - - type - x-internal: false - SupportedPayPalAccountInstrument: - title: SupportedPayPalAccountInstrument - type: object - properties: - instrument_type: - type: string - description: Type of this instrument - enum: - - STORED_PAYPAL_ACCOUNT - required: - - instrument_type - x-internal: false - GiftCertificate: - title: GiftCertificate - type: object - properties: - type: - type: string - example: gift_certificate - gift_certificate_code: - type: string - example: ABC-DEF-GXX - x-examples: - example-1: - type: gift_certificate - gift_certificate_code: ABC-DEF-GXX - StoreCredit: - title: StoreCredit - type: object - properties: - type: - type: string - example: store_credit - x-examples: - example-1: - type: store_credit From 71f990b8c8b6fd6ccacfb4c0a39054b67c978e60 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 6 Jun 2023 16:30:47 -0500 Subject: [PATCH 191/360] (no ticket): [update] Orders V2, fix paths and lint error (#1341) --- reference/orders.v2.oas2.yml | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index a9a88099c..02c8974ce 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -891,18 +891,13 @@ paths: tags: - Order Shipping Addresses Quotes operationId: getShippingQuotes - '/stores/{store_hash}/v2/orders/{order_id}/consignments': + '/orders/{order_id}/consignments': parameters: - schema: type: string name: order_id in: path required: true - - schema: - type: string - name: store_hash - in: path - required: true get: summary: Get Consignments tags: @@ -943,9 +938,8 @@ paths: operationId: get-orders-orderId-consignments description: 'Get all consignments for an order. ' parameters: - - $ref: '#/components/parameters/store_hash' - $ref: '#/components/parameters/order_id_path' - '/stores/{store_hash}/v2/orders/{order_id}/consignments/shipping/{shipping_consignment_id}/shipping_quotes': + '/orders/{order_id}/consignments/shipping/{shipping_consignment_id}/shipping_quotes': get: summary: Get Consignment Shipping Quotes tags: @@ -1005,7 +999,6 @@ paths: Get all shipping quotes persisted on an order for a shipping consignment. This is a read-only endpoint whose response depends on the shipping quote. You can only generate a shipping quote using the storefront at this time. Orders that are created in the control panel, or using the API, return a 204 status response since you can't generate a shipping quote during that process. parameters: - - $ref: '#/components/parameters/store_hash' - $ref: '#/components/parameters/order_id_path' - $ref: '#/components/parameters/shipping_consignment_id' components: @@ -1220,12 +1213,6 @@ components: description: The Channel ID of the Order. schema: type: integer - store_hash: - name: store_hash - schema: - type: string - in: path - required: true shipping_consignment_id: name: shipping_consignment_id in: path @@ -3866,10 +3853,10 @@ components: description: The form field name. value: description: The form field value. - type: - - number - - string - - array + oneOf: + - type: number + - type: string + - type: array example: 123BAF items: type: string From bd69837ea94df6403629b3d7008fa8e8ece632ce Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 6 Jun 2023 19:16:36 -0500 Subject: [PATCH 192/360] DEVDOCS-5037: [updates] Many, add references to GraphQL Storefront carts & checkout (#1340) --- reference/abandoned_carts.v3.yml | 2 +- reference/carts.sf.yml | 12 ++++++------ reference/carts.v3.yml | 10 +++++----- reference/catalog/categories_catalog.v3.yml | 8 ++++---- reference/catalog/products_catalog.v3.yml | 2 +- reference/checkouts.sf.yml | 4 ++-- reference/custom-template-associations.v3.yml | 2 +- reference/customers.sf.yml | 2 +- reference/payments/access-tokens_payments.v3.yml | 12 ++++++++---- reference/payments/process_payments.yml | 2 +- reference/storefront_tokens.v3.yml | 2 +- reference/tax_provider.yml | 10 +++++----- reference/webhooks.v3.yml | 3 ++- reference/widgets.v3.yml | 8 ++++---- 14 files changed, 42 insertions(+), 37 deletions(-) diff --git a/reference/abandoned_carts.v3.yml b/reference/abandoned_carts.v3.yml index 4f3716052..96fbecec9 100644 --- a/reference/abandoned_carts.v3.yml +++ b/reference/abandoned_carts.v3.yml @@ -3,7 +3,7 @@ info: version: '' title: Abandoned Carts description: |- - Use `/abandoned-carts/{token}` on headless storefronts to retrieve the `cart_id` using the abandoned cart `token` passed to the storefront when a shopper clicks an abandoned cart email link. Once the `cart_id` has been retrieved, your application can use it to fetch and display information about the cart to the shopper using the Storefront Cart API and/or Store Management Cart API. + Use `/abandoned-carts/{token}` on headless storefronts to retrieve the `cart_id` using the abandoned cart `token` passed to the storefront when a shopper clicks an abandoned cart email link. Once the cart ID has been retrieved, your application can use it to fetch and display information about the cart to the shopper using the REST Storefront API, the REST Management API, or the GraphQL Storefront API. termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index e646ac5cb..0b4bfe6cd 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -3,7 +3,7 @@ info: version: Storefront title: Storefront Carts description: |- - Manage cart operations and data using frontend JavaScript on BigCommerce stencil powered storefronts. + Manage cart operations and data using frontend JavaScript on BigCommerce Stencil-powered storefronts. For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). @@ -164,7 +164,7 @@ paths: description: |- Updates a *Cart* line item. Updates an existing, single line item quantity and the price of custom items in a cart. - If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/docs/rest-storefront/carts/cart-items#delete-cart-line-item) and the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoints. + If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/docs/rest-storefront/carts/cart-items#delete-cart-line-item) and the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoints. You can also use carts mutations that are part of the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). > #### Note @@ -372,7 +372,7 @@ components: description: ID of the applied discount. x-internal: false responseCart: - description: Cart object used in storefront cart responses. + description: Cart object used in REST Storefront API cart responses. title: Cart Read type: object properties: @@ -615,7 +615,7 @@ components: example: 10 name: type: string - description: Item name + description: Name of the custom item. readOnly: true example: Custom Item Name quantity: @@ -624,13 +624,13 @@ components: example: 1 sku: type: string - description: Custom item sku + description: SKU of the custom item. readOnly: true example: SM-456 description: |- **Read Only** - This will return in the Cart Response if the Cart was created using the [Store Management Carts API](/docs/rest-management/carts). A custom item can only be added to a cart using the Server to Server API. + This will return in the Cart Response if the Cart was created using the [REST Management API](/docs/rest-management/carts). A custom item can only be added to a cart using the REST Management API. x-internal: false responseCartLineItemsDigitalItems: title: Item Digital diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 5ecf66a94..e02187f63 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -50,9 +50,9 @@ paths: * Carts are valid for **30 days** from the **last modification** (this includes creating the cart or editing the cart). * If a product has modifiers, use the `option_selections` array to describe the **modifier** selection(s). * The format and data type of a cart’s `option_value` are defined by the `value_data` object of a product’s [variant option value](/docs/rest-catalog/product-variant-options/values), [modifier value](/docs/rest-catalog/product-modifiers/values), or a combination of both. - * Redirect URLs can only be generated from carts that were created using the **Server-to-Server Carts API**. + * Redirect URLs can only be generated from carts that were created using the **REST Management API**. * To get cart `redirect_urls` in the response, append the following query parameter to the request URL: `include=redirect_urls`. Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront configuration. - * To restore a cart that was created by a shopper or through the Storefront Cart API, first recreate the cart using the Server to Server Cart API. + * To restore a cart that was created by a shopper or through a Storefront API, first recreate the cart using the **REST Management API**. * To get cart `promotions` in the response, append the following query parameter to the request URL: `include=promotions.banners`. parameters: - name: include @@ -356,13 +356,13 @@ paths: **Usage Notes** - * Redirect URLs can also be created via **Create a Cart** requests by appending `include=redirect_urls`. + * Redirect URLs can also be created with **Create a Cart** requests by appending `include=redirect_urls`. * A **Carts** redirect URL may only be used once. * Redirect URLs point to either a shared checkout domain or a channel-specific domain, depending on the storefront configuration. * Once a redirect URL has been visited, it will be invalidated and cannot be used again. * If your application requires URLs to be visited more than once, consider generating a fresh one each time you need to restore a cart, and redirecting to the URL from your own application. - * Redirect URLs can be generated only from carts that were created using the Server to Server Cart API and the Storefront Cart API. - * To restore a cart that was created on the storefront, either by a shopper or the Storefront Cart API, first recreate the cart using the Server to Server Cart API. + * Redirect URLs can be generated only from carts that were created using the **REST Management API**. + * To restore a cart that was created on the storefront, either by a shopper or a Storefront API, first recreate the cart using the **REST Management API**. tags: - Redirects responses: diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index bfc4c8aca..9821fff1e 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -430,7 +430,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean @@ -871,7 +871,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean @@ -1009,7 +1009,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean @@ -1922,7 +1922,7 @@ components: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 5e53c0ff5..47ae58c93 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -8346,7 +8346,7 @@ components: minLength: 0 type: string description: | - The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](https://developer.bigcommerce.com/api-reference/store-management/custom-template-associations). + The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). upc: type: string maxLength: 32 diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index e10feecc3..9f522390a 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -373,7 +373,7 @@ paths: description: |- Updates a *Checkout Line Item*. Updates an existing, single line item in the cart. - If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoint. + If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoint or the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). > #### Note > * Substitute your storefront domain for `yourstore.example.com`. @@ -1201,7 +1201,7 @@ paths: * Required Fields: * `shipping_address` (deprecated) or `address` * `lineItems` - 2. [Update the Consignment](/api-reference/storefront/checkouts/checkout-consignments/checkoutsconsignmentsbycheckoutidandconsignmentidput) with Shipping Options. + 2. Update the Consignment with Shipping Options using the [REST Storefront API](/checkouts/checkout-consignments#update-a-consignment), the [REST Management API](/docs/rest-management/checkouts/checkout-consignments#update-checkout-consignment) or the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). ### For **pickup** consignments: 1. Create a new consignment object. diff --git a/reference/custom-template-associations.v3.yml b/reference/custom-template-associations.v3.yml index 85f72a664..d44236052 100644 --- a/reference/custom-template-associations.v3.yml +++ b/reference/custom-template-associations.v3.yml @@ -3,7 +3,7 @@ info: title: Custom Template Associations version: '' description: |- - Efficiently associate a stencil themeʼs custom templates to products, categories, brands, and pages. + Efficiently associate a Stencil themeʼs custom templates to products, categories, brands, and pages. ## Creating template associations diff --git a/reference/customers.sf.yml b/reference/customers.sf.yml index 8b47caca4..190877e28 100644 --- a/reference/customers.sf.yml +++ b/reference/customers.sf.yml @@ -3,7 +3,7 @@ info: version: Storefront title: Storefront Customers description: |- - Manage customers and data via front-end JavaScript on BigCommerce stencil powered storefronts. + Manage customers and data via front-end JavaScript on BigCommerce Stencil-powered storefronts. For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). diff --git a/reference/payments/access-tokens_payments.v3.yml b/reference/payments/access-tokens_payments.v3.yml index ca98eaf1d..03e3f6561 100644 --- a/reference/payments/access-tokens_payments.v3.yml +++ b/reference/payments/access-tokens_payments.v3.yml @@ -9,6 +9,8 @@ info: To get a valid PAT, submit the order number to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint. Authenticate using an [API account access token](/api-docs/getting-started/api-accounts#api-accounts) with the [Create payments](/api-docs/getting-started/api-accounts#token-creation-scopes) scope as the value of the X-Auth-Token header. + You can also generate a PAT during checkout by using the `completeCheckout` mutation in the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments). + For a guide through the API call sequence needed to create a PAT and make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). > To learn more about authenticating Payments endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. @@ -53,9 +55,11 @@ paths: - $ref: '#/components/parameters/Accept' post: description: |- - This endpoint provides the capability to create a payment access token. The payment access token is required when making request to Payment API for submitting payment for an order. + Use this endpoint to create a payment access token. A payment access token is required to process payments with the BigCommerce API. + + You can also generate a payment access token during checkout by using the `completeCheckout` mutation in the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments). - After the token is created, use the token to [Process Payments](/docs/rest-payments/processing#process-payment). + After the token is created, use the token to [Process a payment](/docs/rest-payments/processing#process-payment). **Required Fields** * order_id @@ -94,7 +98,7 @@ paths: id: 182 responses: '201': - description: Payment access token has been successfully created + description: Payment access token has been successfully created. headers: {} content: application/json: @@ -107,7 +111,7 @@ paths: type: object properties: id: - description: Payment access token. This token is required in subsequent payment request to Payment API endpoint. + description: Payment access token. This token is required in the subsequent request to the [Process a payment](/docs/rest-payments/processing#process-payment) endpoint. type: string minLength: 1 required: diff --git a/reference/payments/process_payments.yml b/reference/payments/process_payments.yml index ad8553bf8..9573c6e83 100644 --- a/reference/payments/process_payments.yml +++ b/reference/payments/process_payments.yml @@ -7,7 +7,7 @@ info: The Payment Processing API uses BigCommerce's PCI-compliant payments server and a supported payment gateway to charge customers. The payment portal you choose may support charging stored instruments and/or making refund transactions. For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). - A Payment Access Token is required to authorize payment processing requests. The X-Auth-Token header is not required in requests to the payment processing endpoint. For a payment processing authentication example request, see the related section in our [Authentication article](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). + A Payment Access Token (_PAT_) is required to authorize payment processing requests. The X-Auth-Token header is not required in requests to the payment processing endpoint. To generate a PAT, use the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint or the `completeCheckout` mutation in the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments). For a payment processing authentication example request, see the related section in our [Authentication article](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). Also note that payment processing requests use the BigCommerce Payments Gateway, which uses a different server than our other REST APIs. Please see the server URL for the payment processing endpoint. diff --git a/reference/storefront_tokens.v3.yml b/reference/storefront_tokens.v3.yml index a53e24149..4d3f81789 100644 --- a/reference/storefront_tokens.v3.yml +++ b/reference/storefront_tokens.v3.yml @@ -44,7 +44,7 @@ info: ## [Customer impersonation tokens](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) - Generate tokens for use in server-to-server requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-impersonation-tokens). To [create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token), send a `POST` request to `/v3/storefront/api-token-customer-impersonation`. + Generate tokens that can make queries from the perspective of a particular customer in headless or server-side code using the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-impersonation-tokens). To [create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token), send a `POST` request to `/v3/storefront/api-token-customer-impersonation`. ```http POST https://api.bigcommerce.com/stores/{STORE_HASH}/v3/storefront/api-token-customer-impersonation diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index e676060ee..c56b07893 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -26,7 +26,7 @@ paths: Submit the quote request to retrieve an estimate from the enabled third-party tax provider. Estimates are not expected to be persisted by the tax provider. > Server URL - > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - For supporting tax providers, the server URL contains the tax provider's profile field; for example, `your_profile.example.com`. > - The Try it feature is not currently supported for this endpoint. The following actions can trigger tax estimate requests multiple times during a standard checkout on a BigCommerce storefront, depending on the BigCommerce merchant’s settings. @@ -313,7 +313,7 @@ paths: Invalidate the persisted tax quote as identified by the given unique ID. Relevant to order cancellations or when moving an order from a paid status to an unpaid status. > Server URL - > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - For supporting tax providers, the server URL contains the tax provider's profile field; for example, `your_profile.example.com`. > - The Try it feature is not currently supported for this endpoint. operationId: void @@ -343,7 +343,7 @@ paths: Submit the quote request to be persisted by the enabled third-party tax provider. A commit operation is intended to be submitted once only, when the Order has been confirmed and paid. > Server URL - > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - For supporting tax providers, the server URL contains the tax provider's profile field; for example, `your_profile.example.com`. > - The Try it feature is not currently supported for this endpoint. operationId: commit @@ -848,7 +848,7 @@ paths: The returned **Tax Quote** response is expected to be the same to a response returned by an equivalent response to **estimate** or **commit** methods. > Server URL - > - For supporting tax providers, the server url contains the tax provider's profile field; for example, `your_profile.example.com`. + > - For supporting tax providers, the server URL contains the tax provider's profile field; for example, `your_profile.example.com`. > - The Try it feature is not currently supported for this endpoint. operationId: adjust @@ -1317,7 +1317,7 @@ components: type: http scheme: basic description: |- - The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username`, `password`, and optionally `profile`, using the [Update a Connection](/api-reference/store-management/tax/tax-provider-connection/provider-connection-put) request. `profile` is an optional field and will be used with supporting providers only. + The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username`, `password`, and optionally `profile`, using the [Update a Connection](/docs/apps-api/tax-app-connection#update-a-connection) request. `profile` is an optional field and will be used with supporting providers only. For more, see [developer-configured authentication](/api-docs/getting-started/authentication#developer-configured-authentication) for Provider APIs. diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index 4e99a2ec9..4fd00cccd 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -684,7 +684,8 @@ components: description: |- This webhook fires on new cart creation when any of the following occur: * a storefront shopper adds their first product to a cart during a new session - * thereʼs a successful `POST` request to `/carts` using either the [Storefront](/docs/rest-storefront/carts#create-a-cart) API or the [Store Management](/docs/rest-management/carts/carts-single#create-a-cart) API + * an application makes a successful `POST` request to `/carts` using either the [REST Storefront](/docs/rest-storefront/carts#create-a-cart) API or the [REST Management](/docs/rest-management/carts/carts-single#create-a-cart) API + * a storefront makes a successful call to create a cart using the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout) Cart creation also fires the `store/cart/updated` webhook. diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index 5da9dee2e..5e2ea9db2 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -747,10 +747,10 @@ components: description: The page template name. region: type: string - description: The name of the region defined in the stencil theme file. + description: The name of the region defined in the Stencil theme file. markup: type: string - description: The HTML layout which defines complex poisitoning for placements. + description: The HTML layout which defines complex positioning for placements. date_created: type: string format: datetime @@ -848,10 +848,10 @@ components: description: The page template name. region: type: string - description: The name of the region defined in the stencil theme file. + description: The name of the region defined in the Stencil theme file. markup: type: string - description: The HTML layout which defines complex poisitoning for placements. + description: The HTML layout which defines complex positioning for placements. date_created: type: string format: datetime From e1c09ace81fa739a26443363953e8be0cb014d91 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 7 Jun 2023 12:32:44 -0500 Subject: [PATCH 193/360] DEVDOCS-4525: [revise] Webhooks, update descriptions for product/sku (#1339) --- models/webhooks/_all.yml | 24 ++++++++++++------- .../store_product_inventory_order_updated.yml | 5 +++- .../store_product_inventory_updated.yml | 5 +++- .../store_sku_inventory_order_updated.yml | 7 ++---- .../webhooks/store_sku_inventory_updated.yml | 5 +++- 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index 7d82022d3..1418d93e8 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -245,12 +245,18 @@ properties: allOf: - $ref: ./store_product_deleted.yml store/product/inventory/order/updated: - description: Fires when a product’s inventory is decremented or incremented, including when an order is placed. Webhook responds to inventory updates made using the control panel, CSV import, API or an app. - type: object + description: |- + Fires to indicate changes in inventory through an order for a _base product_. The webhook fires for products with or without variants, but only when you track by _product_. + + A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + type: object allOf: - $ref: ./store_product_inventory_order_updated.yml store/product/inventory/updated: - description: Fires when product inventory is updated. + description: |- + Fires to indicate changes in inventory for a _base product_. For products with variants, you must track by _product_ and change _product-level_ inventories. For products without variants, the webhook fires regardless of how you track inventory. + + Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. type: object allOf: - $ref: ./store_product_inventory_updated.yml @@ -286,17 +292,17 @@ properties: - $ref: ./store_sku_deleted.yml store/sku/inventory/order/updated: description: |- - Fires when the inventory is updated in the store control panel or using an API. Events include the following: - - * An order is placed - * An order is refunded and the inventory is returned to stock. + Fires to indicate changes in _variant_ inventory through an order. The webhook fires only for products with variants, and you must track by _variant_. - The store’s Inventory settings affect when this webhook fires. + A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. type: object allOf: - $ref: ./store_sku_inventory_order_updated.yml store/sku/inventory/updated: - description: Fires when a SKU is updated using an Inventory API. + description: |- + Fires to indicate changes in _variant_ inventory. The webhook fires only for products with variants. To fire the webhook, you must track by _variant_ and change _variant-level_ inventory. + + Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. type: object allOf: - $ref: ./store_sku_inventory_updated.yml diff --git a/models/webhooks/store_product_inventory_order_updated.yml b/models/webhooks/store_product_inventory_order_updated.yml index e7e6863f2..253445634 100644 --- a/models/webhooks/store_product_inventory_order_updated.yml +++ b/models/webhooks/store_product_inventory_order_updated.yml @@ -1,7 +1,10 @@ type: object properties: store/product/inventory/order/updated: - description: Fires if a product’s inventory is decremented or incremented, including when an order is placed. Webhook responds to inventory updates made using the control panel, CSV import, API or an app. + description: |- + Fires to indicate changes in inventory through an order for a _base product_. The webhook fires for products with or without variants, but only when you track by _product_. + + A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. type: object properties: scope: diff --git a/models/webhooks/store_product_inventory_updated.yml b/models/webhooks/store_product_inventory_updated.yml index dfc78055e..df4bbbe98 100644 --- a/models/webhooks/store_product_inventory_updated.yml +++ b/models/webhooks/store_product_inventory_updated.yml @@ -1,7 +1,10 @@ type: object properties: store/product/inventory/updated: - description: Product inventory is updated. + description: |- + Fires to indicate changes in inventory for a _base product_. For products with variants, you must track by _product_ and change _product-level_ inventories. For products without variants, the webhook fires regardless of how you track inventory. + + Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. type: object properties: scope: diff --git a/models/webhooks/store_sku_inventory_order_updated.yml b/models/webhooks/store_sku_inventory_order_updated.yml index e4e213979..32cf52d64 100644 --- a/models/webhooks/store_sku_inventory_order_updated.yml +++ b/models/webhooks/store_sku_inventory_order_updated.yml @@ -2,12 +2,9 @@ type: object properties: store/sku/inventory/order/updated: description: |- - Fires when the inventory is updated in the store control panel or using an API. Events include the following: + Fires to indicate changes in _variant_ inventory through an order. The webhook fires only for products with variants, and you must track by _variant_. - * An order is placed - * An order is refunded and the inventory is returned to stock. - - The store’s Inventory settings affect when this webhook fires. + A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. type: object properties: scope: diff --git a/models/webhooks/store_sku_inventory_updated.yml b/models/webhooks/store_sku_inventory_updated.yml index 9425652a0..2747bb555 100644 --- a/models/webhooks/store_sku_inventory_updated.yml +++ b/models/webhooks/store_sku_inventory_updated.yml @@ -1,7 +1,10 @@ type: object properties: store/sku/inventory/updated: - description: SKU is updated + description: |- + Fires to indicate changes in _variant_ inventory. The webhook fires only for products with variants. To fire the webhook, you must track by _variant_ and change _variant-level_ inventory. + + Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. type: object properties: scope: From abfe5c7130b18f3319ec451e5f96bc2bb62f738f Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 7 Jun 2023 13:56:35 -0500 Subject: [PATCH 194/360] DEVDOCS-4936: [update] Add callbacks for metafields (#1318) Co-authored-by: Andrea Dao Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- models/webhooks/_all.yml | 61 +++++++++++++++++++ .../data/store_metafield_created.json | 1 + .../store_inventory_location_created.yml | 21 +++++++ .../store_inventory_location_updated.yml | 21 +++++++ models/webhooks/store_metafield_created.yml | 25 ++++++++ models/webhooks/store_metafield_deleted.yml | 25 ++++++++ models/webhooks/store_metafield_updated.yml | 25 ++++++++ .../store_order_metafield_created.yml | 23 +++++++ .../store_order_metafield_deleted.yml | 23 +++++++ .../store_order_metafield_updated.yml | 23 +++++++ .../store_product_metafield_created.yml | 25 ++++++++ .../store_product_metafield_deleted.yml | 25 ++++++++ .../store_product_metafield_updated.yml | 25 ++++++++ .../store_variant_metafield_created.yml | 25 ++++++++ .../store_variant_metafield_deleted.yml | 25 ++++++++ .../store_variant_metafield_updated.yml | 25 ++++++++ 16 files changed, 398 insertions(+) create mode 100644 models/webhooks/data/store_metafield_created.json create mode 100644 models/webhooks/store_inventory_location_created.yml create mode 100644 models/webhooks/store_inventory_location_updated.yml create mode 100644 models/webhooks/store_metafield_created.yml create mode 100644 models/webhooks/store_metafield_deleted.yml create mode 100644 models/webhooks/store_metafield_updated.yml create mode 100644 models/webhooks/store_order_metafield_created.yml create mode 100644 models/webhooks/store_order_metafield_deleted.yml create mode 100644 models/webhooks/store_order_metafield_updated.yml create mode 100644 models/webhooks/store_product_metafield_created.yml create mode 100644 models/webhooks/store_product_metafield_deleted.yml create mode 100644 models/webhooks/store_product_metafield_updated.yml create mode 100644 models/webhooks/store_variant_metafield_created.yml create mode 100644 models/webhooks/store_variant_metafield_deleted.yml create mode 100644 models/webhooks/store_variant_metafield_updated.yml diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index 1418d93e8..efc848840 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -204,6 +204,21 @@ properties: type: object allOf: - $ref: ./store_inventory_location_metafield_updated.yml + store/metafield/created: + description: Fires whenever a new metafield on any object is created. + type: object + allOf: + - $ref: ./store_metafield_created.yml + store/metafield/deleted: + description: Fires whenever a metafield is deleted. + type: object + allOf: + - $ref: ./store_metafield_deleted.yml + store/metafield/updated: + description: Fires when an already created metafield is updated. Any changes to an existing metafield on any object (such as inventory, carts, brands, categories, channels, orders, ShipperHQ, etc.) will fire this webhook. + type: object + allOf: + - $ref: ./store_metafield_updated.yml store/order/archived: description: Fires when an order is archived. type: object @@ -219,6 +234,21 @@ properties: type: object allOf: - $ref: ./store_order_message_created.yml + store/order/metafield/created: + description: Fires if an order metafield is created using the control panel, an app, or the API. + type: object + allOf: + - $ref: ./store_order_metafield_created.yml + store/order/metafield/deleted: + description: Fires when an order metafield is deleted. + type: object + allOf: + - $ref: ./store_order_metafield_deleted.yml + store/order/metafield/updated: + description: Fires when an existing order metafield is updated. Any changes to an existing order metafield will fire this webhook. + type: object + allOf: + - $ref: ./store_order_metafield_updated.yml store/order/refund/created: description: Fires when a refund is submitted against an order. type: object @@ -260,11 +290,41 @@ properties: type: object allOf: - $ref: ./store_product_inventory_updated.yml + store/product/metafield/created: + description: Fires when a new product metafield is created. + type: object + allOf: + - $ref: ./store_product_metafield_created.yml + store/product/metafield/deleted: + description: Fires when a product metafield is deleted. + type: object + allOf: + - $ref: ./store_product_metafield_deleted.yml + store/product/metafield/updated: + description: Fires when product metafield details are edited. + type: object + allOf: + - $ref: ./store_product_metafield_updated.yml store/product/updated: description: Fires when product details are edited. For a full list of product fields that trigger an updated event, see the product updated events that follow. type: object allOf: - $ref: ./store_product_updated.yml + store/product/variant/metafield/created: + description: Fires when a new product variant metafield is created. + type: object + allOf: + - $ref: ./store_variant_metafield_created.yml + store/product/variant/metafield/deleted: + description: Fires when a product variant metafield is deleted.. + type: object + allOf: + - $ref: ./store_variant_metafield_deleted.yml + store/product/variant/metafield/updated: + description: Fires when product variant metafield details are edited. + type: object + allOf: + - $ref: ./store_variant_metafield_updated.yml store/shipment/created: description: Fires when a shipment is created. type: object @@ -326,3 +386,4 @@ properties: type: object allOf: - $ref: ./store_subscriber_updated.yml + diff --git a/models/webhooks/data/store_metafield_created.json b/models/webhooks/data/store_metafield_created.json new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/models/webhooks/data/store_metafield_created.json @@ -0,0 +1 @@ + diff --git a/models/webhooks/store_inventory_location_created.yml b/models/webhooks/store_inventory_location_created.yml new file mode 100644 index 000000000..a605eb343 --- /dev/null +++ b/models/webhooks/store_inventory_location_created.yml @@ -0,0 +1,21 @@ +type: object +properties: + store/inventory/location/created: + description: Location is created. + type: object + properties: + producer: + type: string + hash: + type: string + created_at: + type: integer + store_id: + type: string + scope: + type: string + data: + type: object + properties: + location_id: + type: integer diff --git a/models/webhooks/store_inventory_location_updated.yml b/models/webhooks/store_inventory_location_updated.yml new file mode 100644 index 000000000..93f8ccbce --- /dev/null +++ b/models/webhooks/store_inventory_location_updated.yml @@ -0,0 +1,21 @@ +type: object +properties: + store/inventory/location/updated: + description: Location is updated. + type: object + properties: + producer: + type: string + hash: + type: string + created_at: + type: integer + store_id: + type: string + scope: + type: string + data: + type: object + properties: + location_id: + type: integer diff --git a/models/webhooks/store_metafield_created.yml b/models/webhooks/store_metafield_created.yml new file mode 100644 index 000000000..0cfe1336e --- /dev/null +++ b/models/webhooks/store_metafield_created.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/metafield/created: + description: This webhook will fire whenever a new metafield on any object is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_metafield_deleted.yml b/models/webhooks/store_metafield_deleted.yml new file mode 100644 index 000000000..f0bc56cbc --- /dev/null +++ b/models/webhooks/store_metafield_deleted.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/metafield/deleted: + description: When a metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_metafield_updated.yml b/models/webhooks/store_metafield_updated.yml new file mode 100644 index 000000000..d61e00380 --- /dev/null +++ b/models/webhooks/store_metafield_updated.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/metafield/updated: + description: Fires when an already created metafield is updated. Any changes to an existing metafield on any object (such as inventory, carts, brands, categories, channels, orders, ShipperHQ, etc.) will fire this webhook. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_metafield_created.yml b/models/webhooks/store_order_metafield_created.yml new file mode 100644 index 000000000..b31c20d97 --- /dev/null +++ b/models/webhooks/store_order_metafield_created.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/order/metafield/created: + description: Fires if an order metafield is created using the control panel, an app, or the API. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_metafield_deleted.yml b/models/webhooks/store_order_metafield_deleted.yml new file mode 100644 index 000000000..67eb5ab80 --- /dev/null +++ b/models/webhooks/store_order_metafield_deleted.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/order/metafield/deleted: + description: An order metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_metafield_updated.yml b/models/webhooks/store_order_metafield_updated.yml new file mode 100644 index 000000000..76318ffe6 --- /dev/null +++ b/models/webhooks/store_order_metafield_updated.yml @@ -0,0 +1,23 @@ +type: object +properties: + store/order/metafield/updated: + description: Fires when an existing order metafield is updated. Any changes to an existing order metafield will fire this webhook. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_product_metafield_created.yml b/models/webhooks/store_product_metafield_created.yml new file mode 100644 index 000000000..b0e8a3aa6 --- /dev/null +++ b/models/webhooks/store_product_metafield_created.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/product/metafield/created: + description: Fires when a new product metafield is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_product_metafield_deleted.yml b/models/webhooks/store_product_metafield_deleted.yml new file mode 100644 index 000000000..464126be6 --- /dev/null +++ b/models/webhooks/store_product_metafield_deleted.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/product/metafield/deleted: + description: Occurs when a product metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_product_metafield_updated.yml b/models/webhooks/store_product_metafield_updated.yml new file mode 100644 index 000000000..7985090fd --- /dev/null +++ b/models/webhooks/store_product_metafield_updated.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/product/metafield/updated: + description: Occurs when product metafield details are edited. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_variant_metafield_created.yml b/models/webhooks/store_variant_metafield_created.yml new file mode 100644 index 000000000..5321fedc2 --- /dev/null +++ b/models/webhooks/store_variant_metafield_created.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/variant/metafield/created: + description: Occurs when a new product variant metafield is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_variant_metafield_deleted.yml b/models/webhooks/store_variant_metafield_deleted.yml new file mode 100644 index 000000000..25f0b28d0 --- /dev/null +++ b/models/webhooks/store_variant_metafield_deleted.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/variant/metafield/deleted: + description: Occurs when a product variant metafield is deleted. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_variant_metafield_updated.yml b/models/webhooks/store_variant_metafield_updated.yml new file mode 100644 index 000000000..291e343ac --- /dev/null +++ b/models/webhooks/store_variant_metafield_updated.yml @@ -0,0 +1,25 @@ +type: object +properties: + store/variant/metafield/updated: + description: Occurs when product variant metafield details are edited. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + metafield_id: + type: integer + resource_id: + type: string + resource_type: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string From b4ab32ea3c04638c1c7a0df58d6f71120a88f902 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 8 Jun 2023 01:49:21 -0500 Subject: [PATCH 195/360] DEVDOCS-4525: [revise] Webhooks, update prose for product & sku (#1343) --- models/webhooks/_all.yml | 28 +++++++++++-------- .../store_product_inventory_order_updated.yml | 6 ++-- .../store_product_inventory_updated.yml | 8 ++++-- .../store_sku_inventory_order_updated.yml | 4 +-- .../webhooks/store_sku_inventory_updated.yml | 8 ++++-- 5 files changed, 31 insertions(+), 23 deletions(-) diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index efc848840..ddfd9ce62 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -276,17 +276,19 @@ properties: - $ref: ./store_product_deleted.yml store/product/inventory/order/updated: description: |- - Fires to indicate changes in inventory through an order for a _base product_. The webhook fires for products with or without variants, but only when you track by _product_. - - A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. - type: object + Fires when _base product_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + + The webhook always fires for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _product_. + type: object allOf: - $ref: ./store_product_inventory_order_updated.yml store/product/inventory/updated: description: |- - Fires to indicate changes in inventory for a _base product_. For products with variants, you must track by _product_ and change _product-level_ inventories. For products without variants, the webhook fires regardless of how you track inventory. - - Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. + Fires when inventory levels change for a _base product_. For products without variants, the webhook fires regardless of how you track inventory. + + For products with variants, the webhook only fires when the product's inventory properties are configured to track by _product_ and the _product-level_ inventory changes. + + Inventory updates made in the control panel and by API trigger the webhook. This includes changes made by apps. In the control panel, you can bulk import inventory updates or make inventory updates to single products on the **Products > View** page. type: object allOf: - $ref: ./store_product_inventory_updated.yml @@ -352,17 +354,19 @@ properties: - $ref: ./store_sku_deleted.yml store/sku/inventory/order/updated: description: |- - Fires to indicate changes in _variant_ inventory through an order. The webhook fires only for products with variants, and you must track by _variant_. + Fires when _variant_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. - A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + The webhook does not fire for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _variant_. type: object allOf: - $ref: ./store_sku_inventory_order_updated.yml store/sku/inventory/updated: description: |- - Fires to indicate changes in _variant_ inventory. The webhook fires only for products with variants. To fire the webhook, you must track by _variant_ and change _variant-level_ inventory. - - Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. + Fires when inventory levels change for a _variant_. This webhook does not fire for products without variants. + + For products with variants, the webhook only fires when the product's inventory properties are configured to track by _variant_ and the _variant-level_ inventory changes. + + Inventory updates made in the control panel and by API trigger the webhook. This includes changes made by apps. In the control panel, you can bulk import inventory updates or make inventory updates to single products on the **Products > View** page. type: object allOf: - $ref: ./store_sku_inventory_updated.yml diff --git a/models/webhooks/store_product_inventory_order_updated.yml b/models/webhooks/store_product_inventory_order_updated.yml index 253445634..d4b55b271 100644 --- a/models/webhooks/store_product_inventory_order_updated.yml +++ b/models/webhooks/store_product_inventory_order_updated.yml @@ -2,9 +2,9 @@ type: object properties: store/product/inventory/order/updated: description: |- - Fires to indicate changes in inventory through an order for a _base product_. The webhook fires for products with or without variants, but only when you track by _product_. - - A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + Fires when _base product_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + + The webhook always fires for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _product_. type: object properties: scope: diff --git a/models/webhooks/store_product_inventory_updated.yml b/models/webhooks/store_product_inventory_updated.yml index df4bbbe98..2b457c594 100644 --- a/models/webhooks/store_product_inventory_updated.yml +++ b/models/webhooks/store_product_inventory_updated.yml @@ -2,9 +2,11 @@ type: object properties: store/product/inventory/updated: description: |- - Fires to indicate changes in inventory for a _base product_. For products with variants, you must track by _product_ and change _product-level_ inventories. For products without variants, the webhook fires regardless of how you track inventory. - - Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. + Fires when inventory levels change for a _base product_. For products without variants, the webhook fires regardless of how you track inventory. + + For products with variants, the webhook only fires when the product's inventory properties are configured to track by _product_ and the _product-level_ inventory changes. + + Inventory updates made in the control panel and by API trigger the webhook. This includes changes made by apps. In the control panel, you can bulk import inventory updates or make inventory updates to single products on the **Products > View** page. type: object properties: scope: diff --git a/models/webhooks/store_sku_inventory_order_updated.yml b/models/webhooks/store_sku_inventory_order_updated.yml index 32cf52d64..83ce7ab27 100644 --- a/models/webhooks/store_sku_inventory_order_updated.yml +++ b/models/webhooks/store_sku_inventory_order_updated.yml @@ -2,9 +2,9 @@ type: object properties: store/sku/inventory/order/updated: description: |- - Fires to indicate changes in _variant_ inventory through an order. The webhook fires only for products with variants, and you must track by _variant_. + Fires when _variant_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. - A store's [inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings) affect _when_ stock levels change through an order. For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + The webhook does not fire for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _variant_. type: object properties: scope: diff --git a/models/webhooks/store_sku_inventory_updated.yml b/models/webhooks/store_sku_inventory_updated.yml index 2747bb555..5f1aff188 100644 --- a/models/webhooks/store_sku_inventory_updated.yml +++ b/models/webhooks/store_sku_inventory_updated.yml @@ -2,9 +2,11 @@ type: object properties: store/sku/inventory/updated: description: |- - Fires to indicate changes in _variant_ inventory. The webhook fires only for products with variants. To fire the webhook, you must track by _variant_ and change _variant-level_ inventory. - - Inventory updates from APIs, marketplace apps, and control panel trigger the webhook. In the control panel, you can bulk import inventories or navigate to the **Products > View** tab. + Fires when inventory levels change for a _variant_. This webhook does not fire for products without variants. + + For products with variants, the webhook only fires when the product's inventory properties are configured to track by _variant_ and the _variant-level_ inventory changes. + + Inventory updates made in the control panel and by API trigger the webhook. This includes changes made by apps. In the control panel, you can bulk import inventory updates or make inventory updates to single products on the **Products > View** page. type: object properties: scope: From 024e57677358b89ccb835b41a48a1b7086db59ea Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 8 Jun 2023 01:52:25 -0500 Subject: [PATCH 196/360] DEVDOCS-4936: [revise] Webhooks, add missing callbacks (#1344) --- models/webhooks/_all.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index ddfd9ce62..6d568762b 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -189,6 +189,16 @@ properties: type: object allOf: - $ref: ./store_information_updated.yml + store/inventory/location/created: + description: Fires when a location is created. + type: object + allOf: + - $ref: ./store_inventory_location_created.yml + store/inventory/location/updated: + description: Fires when a location is updated. + type: object + allOf: + - $ref: ./store_inventory_location_updated.yml store/inventory/location/metafield/created: description: Fires when a new inventory location metafield is created. type: object From b98e0aa13f1757fc7f255775566c07864a46d401 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 8 Jun 2023 13:05:26 -0500 Subject: [PATCH 197/360] update for DEVDOCS-5084 (#1345) --- reference/catalog/products_catalog.v3.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 47ae58c93..3bd046a59 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -6872,12 +6872,19 @@ components: nullable: true product_id: type: integer + description: Product ID + id: + type: integer + description: Variant ID sku: maxLength: 255 minLength: 1 type: string description: | The model for a PUT to update variants on a product. + required: + - product_id + - id x-internal: false productVariantOptionValue_Full: title: productVariantOptionValue_Full From 551e5c5155054e731dbaef1423fbcbf7373eb238 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 8 Jun 2023 13:54:33 -0500 Subject: [PATCH 198/360] DEVDOCS-3531: [update] include definition (#1346) --- reference/catalog/products_catalog.v3.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 3bd046a59..74a64b095 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -1474,9 +1474,18 @@ paths: - $ref: '#/components/parameters/ContentType' - name: include_fields in: query - description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' + description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page. The ID and the specified fields will be returned.' schema: type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos requestBody: content: application/json: From 74cd2fe0c5257a8dd6a77f66539cd380bb14d8d2 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 9 Jun 2023 09:21:37 -0500 Subject: [PATCH 199/360] DEVDOCS-4619: [revise] OrdersV2, payment method description (#1342) --- reference/orders.v2.oas2.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 02c8974ce..accef315a 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -1085,7 +1085,7 @@ components: payment_method: name: payment_method in: query - description: The payment method used on the order. + description: The display name of the payment method used on the order. schema: type: string enum: @@ -2893,7 +2893,7 @@ components: example: 0 type: number payment_method: - description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `cash`, `Test Payment Gateway`, etc.' + description: The display name of the payment method for this order. example: Cash on Delivery type: string payment_provider_id: @@ -4247,7 +4247,7 @@ components: example: false type: boolean payment_method: - description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `cash`, `Test Payment Gateway`, etc.' + description: The display name of the payment method for this order. enum: - Credit Card - Cash @@ -4889,7 +4889,7 @@ components: type: boolean payment_method: type: string - description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `Cash`,`Test Payment Gateway`, etc.' + description: The display name of the payment method for this order. payment_provider_id: description: The external Transaction ID/Payment ID within this order’s payment provider (if a payment provider was used). example: '' From 929e3c416c9c5c693309553f12e9488e2f89e78a Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 9 Jun 2023 09:38:06 -0500 Subject: [PATCH 200/360] DEVDOCS-4524: [revise] Ordersv3, Update item_type enum (#1347) --- reference/orders.v3.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 0d20f2ebd..a2436c8bc 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -2412,8 +2412,10 @@ components: Type of refund item that capture refunding of items in the order that are of type quantity. * `ORDER` * `PRODUCT` + * `GIFT_WRAPPING` * `SHIPPING` * `HANDLING` + * `TAX` properties: item_type: type: string @@ -2421,8 +2423,10 @@ components: enum: - ORDER - PRODUCT + - GIFT_WRAPPING - SHIPPING - HANDLING + - TAX description: Type of refund. item_id: type: integer @@ -2470,6 +2474,7 @@ components: Type of refund item that capture refunding of items in the order that are of type amount. * `PRODUCT` * `ORDER` + * `GIFT_WRAPPING` * `SHIPPING` * `HANDLING` * `TAX` @@ -2480,6 +2485,7 @@ components: enum: - PRODUCT - ORDER + - GIFT_WRAPPING - SHIPPING - HANDLING - TAX @@ -2716,8 +2722,8 @@ components: description: | Determines the visibility and writeability of the field by other API consumers. - |Value|Description - |-|-| + |Value|Description | + |:-|:-| |`app_only`|Private to the app that owns the field| |`read`|Visible to other API consumers| |`write`|Open for reading and writing by other API consumers| @@ -2787,8 +2793,8 @@ components: description: | Determines the visibility and writeability of the field by other API consumers. - |Value|Description - |-|-| + |Value|Description | + |:-|:-| |`app_only`|Private to the app that owns the field| |`read`|Visible to other API consumers| |`write`|Open for reading and writing by other API consumers| From 832e07d903c614ec62a18fa2999e096d11b49f55 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 9 Jun 2023 09:54:58 -0500 Subject: [PATCH 201/360] DEVDOCS-4461: [update] Update character minimum length for `description` (#1348) --- reference/catalog/product-variants_catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 41d1f1349..4c421b48e 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -2234,7 +2234,7 @@ components: - write_and_sf_access description: maxLength: 255 - minLength: 0 + minLength: 1 type: string description: | Description for the metafields. From 9d5b3311bc453e0e17d668eec6e3941b442e19d8 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Fri, 9 Jun 2023 11:45:54 -0500 Subject: [PATCH 202/360] (no ticket): [revise] Webhooks, cleanup out of scope (#1350) --- ...e_inventory_location_metafield_created.yml | 2 +- ...e_inventory_location_metafield_deleted.yml | 2 +- reference/webhooks.v3.yml | 76 +++++++++---------- 3 files changed, 40 insertions(+), 40 deletions(-) diff --git a/models/webhooks/store_inventory_location_metafield_created.yml b/models/webhooks/store_inventory_location_metafield_created.yml index 0d91fed92..144f35ff7 100644 --- a/models/webhooks/store_inventory_location_metafield_created.yml +++ b/models/webhooks/store_inventory_location_metafield_created.yml @@ -1,6 +1,6 @@ properties: store/inventory/location/metafield/created: - description: Fires when a new inventory, location metafield is created. + description: Fires when a new inventory location metafield is created. type: object properties: scope: diff --git a/models/webhooks/store_inventory_location_metafield_deleted.yml b/models/webhooks/store_inventory_location_metafield_deleted.yml index 4f3d03f71..3834bbc99 100644 --- a/models/webhooks/store_inventory_location_metafield_deleted.yml +++ b/models/webhooks/store_inventory_location_metafield_deleted.yml @@ -1,6 +1,6 @@ properties: store/inventory/location/metafield/deleted: - description: Fires when a inventory, location metafield is deleted. + description: Fires when a inventory location metafield is deleted. type: object properties: scope: diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index 4fd00cccd..e5a7d3eef 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -667,7 +667,7 @@ components: schemas: store_cart_wildcard: description: |- - Subscribes to the following events: + Fires for each of the following events: * `store/cart/created` * `store/cart/updated` * `store/cart/deleted` @@ -731,7 +731,7 @@ components: store_cart_updated: title: store/cart/updated description: |- - This webhook fires when one of the following occurs: + Fires when one of the following occurs: * A cartʼs line items are modified by adding a new item to a cart, updating an existing itemʼs quantity, or deleting an item. * A shopper enters or changes their email address during guest checkout. This includes signing in to a customer account after creating a guest cart, which associates the accountʼs email address with the cart. @@ -779,7 +779,7 @@ components: store_cart_deleted: title: store/cart/deleted description: |- - This webhook fires whenever a cart is deleted. Carts are deleted in two ways; when all items are removed from a cart, and when an API consumer explicitly removes the cart using a `DELETE` request. Cart deletion ends the cart lifecycle. The `store/cart/updated` webhook also fires when the last item is removed. + Fires when a cart is deleted. Carts are deleted in two ways; when all items are removed from a cart, and when an API consumer explicitly removes the cart using a `DELETE` request. Cart deletion ends the cart lifecycle. The `store/cart/updated` webhook also fires when the last item is removed. ```json title="Example callback object" lineNumbers @@ -820,7 +820,7 @@ components: store_cart_couponApplied: title: store/cart/couponApplied description: |- - This webhook fires whenever a new coupon code is applied to a cart. The webhook request body includes the ID of the coupon code. + Fires when a new coupon code is applied to a cart. The webhook request body includes the ID of the coupon code. ```json title="Example callback object" lineNumbers { @@ -909,7 +909,7 @@ components: store_cart_converted: title: store/cart/converted description: |- - This webhook fires when a cart/checkout is converted into an order, which is typically after the checkout payment step on the storefront. At this point, the cart is automatically deleted and no longer accessible. This webhook returns both the cart/checkout ID and order ID for correlation purposes. + Fires when a cart/checkout is converted into an order, which is typically after the checkout payment step on the storefront. At this point, the cart is automatically deleted and no longer accessible. This webhook returns both the cart/checkout ID and order ID for correlation purposes. ```json title="Example callback object" lineNumbers @@ -996,7 +996,7 @@ components: store_cart_lineItem_created: title: store/cart/lineItem/created description: |- - This webhook fires when a new item is added to the cart. + Fires when a new item is added to the cart. ```json title="Example callback object" lineNumbers { @@ -1041,7 +1041,7 @@ components: store_cart_lineItem_updated: title: store/cart/lineItem/updated description: |- - This webhook fires when an item’s quantity has changed or the product options change. + Fires when an item’s quantity has changed or the product options change. Changes to the following fields trigger this event: * Quantity @@ -1090,7 +1090,7 @@ components: store_cart_lineItem_deleted: title: store/cart/lineItem/deleted description: |- - This webhook fires when an item is deleted from the cart. + Fires when an item is deleted from the cart. ```json title="Example callback object" lineNumbers { @@ -1135,7 +1135,7 @@ components: store_category_wildcard: title: store/category/* description: | - Subscribe to all store/category events + Fires for all `store/category` events. x-examples: {} allOf: [] x-tags: @@ -1145,7 +1145,7 @@ components: title: store/category/created type: object description: |- - This webhook fires when a category is created. + Fires when a category is created. ```json title="Example callback object" lineNumbers { @@ -1171,7 +1171,7 @@ components: store_category_updated: title: store/category/updated description: |- - This webhook fires when a category is updated. + Fires when a category is updated. Changes to the following fields trigger this event: * URL @@ -1228,7 +1228,7 @@ components: store_category_deleted: title: store/category/deleted description: |- - This webhook fires when a category is deleted. + Fires when a category is deleted. ```json title="Example callback object" lineNumbers { @@ -1267,7 +1267,7 @@ components: x-internal: false store_channel_wildcard: title: store/channel/* - description: 'Subscribe to all `store/channel` events. ' + description: Fires for all `store/channel` events. allOf: [] x-tags: - created @@ -1275,7 +1275,7 @@ components: store_channel_created: title: store/channel/created description: |- - This webhook fires when a channel is created in the control panel or by API. + Fires when a channel is created in the control panel or by API. ```json title="Example callback object" lineNumbers { @@ -1368,7 +1368,7 @@ components: store_customer_wildcard: title: store/customer/* description: | - Subscribe to all `store/customer` events + Fires for all `store/customer` events. x-examples: {} allOf: [] x-tags: @@ -1377,7 +1377,7 @@ components: store_customer_created: title: store/customer/created description: |- - This webhook fires when a new customer is created. + Fires when a new customer is created. ```json title="Example callback object" lineNumbers { @@ -1503,7 +1503,7 @@ components: store_customer_address_updated: title: store/customer/address/updated description: |- - This webhook fires when a customer address is updated. + Fires when a customer address is updated. ```json title="Example callback object" lineNumbers { @@ -1553,7 +1553,7 @@ components: store_customer_address_created: title: store/customer/address/created description: |- - This webhook fires when a customer address is created. + Fires when a customer address is created. ```json title="Example callback object" lineNumbers { @@ -1603,7 +1603,7 @@ components: store_customer_address_deleted: title: store/customer/address/deleted description: |- - This webhook fires when a customer address is deleted. + Fires when a customer address is deleted. ```json title="Example callback object" lineNumbers { @@ -1653,7 +1653,7 @@ components: store_customer_payment_instrument_default_updated: title: store/customer/payment/instrument/default/updated description: |- - This webhook fires when a customer default payment instrument is updated. + Fires when a customer default payment instrument is updated. ```json title="Example callback object" lineNumbers { @@ -1693,7 +1693,7 @@ components: x-internal: false store_order_wildcard: title: store/order/* - description: Subscribe to all store/order events. + description: Fires for all `store/order` events. type: object x-internal: false store_order_created: @@ -1740,7 +1740,7 @@ components: store_order_updated: title: store/order/updated description: |- - This webhook fires when a previously-created order is updated. + Fires when a previously-created order is updated. Changes to the following fields trigger this event: * Status @@ -1801,7 +1801,7 @@ components: store_order_archived: title: store/order/archived description: |- - This webhook fires when an order is archived. + Fires when an order is archived. ```json title="Example callback object" lineNumbers { @@ -1995,7 +1995,7 @@ components: x-internal: false store_product_wildcard: title: store/product/* - description: Subscribe to all `store/product` events. + description: Fires for all `store/product` events. type: object x-internal: false store_product_deleted: @@ -2042,7 +2042,7 @@ components: store_product_created: title: store/product/created description: |- - This webhook fires when a new product is created. + Fires when a new product is created. ```json title="Example callback object" lineNumbers { @@ -2083,7 +2083,7 @@ components: store_product_updated: title: store/product/updated description: |- - This webhook fires when product details are edited. + Fires when product details are edited. Changes to the following fields trigger this event: * Product Type @@ -2316,13 +2316,13 @@ components: x-internal: false store_shipment_wildcard: title: store/shipment/* - description: Subscribe to all store/shipment events + description: Fires for all `store/shipment` events. type: object x-internal: false store_shipment_created: title: store/shipment/created description: |- - This webhook fires when a shipment is created. + Fires when a shipment is created. ```json title="Example callback object" lineNumbers { @@ -2367,7 +2367,7 @@ components: store_shipment_updated: title: store/shipment/updated description: |- - This webhook fires when a shipment is updated. + Fires when a shipment is updated. Changes to the following fields trigger this event: * Shipping Tracking Number @@ -2459,7 +2459,7 @@ components: x-internal: false store_sku_wildcard: title: store/sku/* - description: Subscribe to all `store/sku` events. + description: Fires for all `store/sku` events. type: object x-internal: false store_sku_created: @@ -2520,7 +2520,7 @@ components: store_sku_updated: title: store/sku/updated description: |- - This webhook fires when a SKU is updated. + Fires when a SKU is updated. ```json title="Example callback object" lineNumbers { @@ -2575,7 +2575,7 @@ components: store_sku_deleted: title: store/sku/deleted description: |- - This webhook fires when a SKU is deleted. + Fires when a SKU is deleted. ```json title="Example callback object" lineNumbers { @@ -2630,7 +2630,7 @@ components: store_sku_inventory_updated: title: store/sku/inventory/updated description: |- - This webhook fires when a SKU is updated. + Fires when a SKU is updated. ```json title="Example callback object" lineNumbers { @@ -2700,7 +2700,7 @@ components: store_sku_inventory_order_updated: title: store/sku/inventory/order/updated description: |- - This webhook fires when the inventory is updated. + Fires when the inventory is updated. Changes to the following fields trigger this event: * Quantity @@ -2773,7 +2773,7 @@ components: store_app_uninstalled: title: store/app/uninstalled description: |- - This webhook fires when a client store is canceled and uninstalled from the platform. + Fires when a client store is canceled and uninstalled from the platform. ```json title="Example callback object" lineNumbers { @@ -2808,7 +2808,7 @@ components: store_information_updated: title: store/information/updated description: |- - This webhook fires when changes are made to store settings. + Fires when changes are made to store settings. Changes to the following fields trigger this event: * Store Name @@ -2850,13 +2850,13 @@ components: x-internal: false store_subscriber_wildcard: title: store/subscriber/* - description: Subscribe to all `store/subscriber` events + description: Fires for all `store/subscriber` events. type: object x-internal: false store_subscriber_created: title: store/subscriber/created description: |- - This webhook fires when a subscriber is created. + Fires when a subscriber is created. ```json title="Example callback object" lineNumbers { From ddb244bf7c2fda7233abd9ed34ce8a648e0142f3 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Fri, 9 Jun 2023 16:44:06 -0500 Subject: [PATCH 203/360] DEVDOCS-5099: [revise] Catalog Variants, create a variant image (#1351) --- reference/catalog/product-variants_catalog.v3.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 4c421b48e..4cb7c50aa 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -981,7 +981,9 @@ paths: description: |- Creates a *Variant Image*. - The image will show on the storefront when the value is selected. + Only one image can be explicitly associated with a Variant. If the Variant already has an associated image, overwrites the existing Variant Image. + + The image displays on the storefront when the Variant is selected. **Required Fields** - image_file: Form posts. Files larger than 1 MB are not accepted From 0a76ab84240fb2903e6362ec6588e916292e6edc Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 12 Jun 2023 15:23:14 -0500 Subject: [PATCH 204/360] DEVDOCS-4573: [revise] Orders v3, Update `base_total` description (#1353) Co-authored-by: Traci Porter --- reference/orders.v2.oas2.yml | 388 ++++++++++++++++++----------------- 1 file changed, 205 insertions(+), 183 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index accef315a..2d7aecc71 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -72,7 +72,7 @@ paths: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/order_id_path' get: - description: 'Gets an *Order*. To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview).' + description: Gets an *Order*. To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview). summary: Get an Order tags: - Orders @@ -80,7 +80,7 @@ paths: '200': $ref: '#/components/responses/order_Resp' '404': - description: '"The requested resource was not found."' + description: "The requested resource was not found." content: application/json: schema: {} @@ -182,7 +182,7 @@ paths: $ref: '#/components/responses/order_Resp' operationId: updateAnOrder delete: - description: 'Archives an order. To remove a single product from an order, see `PUT /orders/{order_id}`.' + description: Archives an order. To remove a single product from an order, see `PUT /orders/{order_id}`. summary: Archive an Order tags: - Orders @@ -463,7 +463,7 @@ paths: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/order_id_path' get: - description: 'Lists 50 order products on an order using `order_id`. By default, items sort from lowest to highest according to a newly created ID, separate from the `order_id` and the `product_id`.' + description: Lists 50 order products on an order using `order_id`. By default, items sort from lowest to highest according to a newly created ID, separate from the `order_id` and the `product_id`. summary: List Order Products parameters: - $ref: '#/components/parameters/ContentType' @@ -577,7 +577,7 @@ paths: - $ref: '#/components/parameters/limit' - in: query name: details - description: 'To return detailed tax information, pass in the details query.' + description: To return detailed tax information, pass in the details query. schema: type: string default: 'true' @@ -669,7 +669,7 @@ paths: $ref: '#/components/responses/orderShipment_Resp' operationId: getOrderShipment summary: Get a Shipment - description: 'Gets an order shipment. ' + description: Gets an order shipment. put: description: Updates an existing shipment associated with an order. summary: Update a Shipment @@ -1007,7 +1007,7 @@ components: 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.' + 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' @@ -1015,7 +1015,7 @@ components: 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.' + 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' @@ -1153,7 +1153,7 @@ components: sort: in: query name: sort - description: 'Field and direction to sort orders. To specify the direction, add `:asc` or `:desc` to the end of the query parameter. E.g. `sort=date_created:desc`.' + description: Field and direction to sort orders. To specify the direction, add `:asc` or `:desc` to the end of the query parameter. e.g., `sort=date_created:desc`. schema: type: string enum: @@ -1236,25 +1236,25 @@ components: name: Incomplete system_label: Incomplete custom_label: Incomplete - Testing - system_description: 'An incomplete order happens when a shopper reached the payment page, but did not complete the transaction.' + system_description: An incomplete order happens when a shopper reached the payment page, but did not complete the transaction. order: 0 - id: 1 name: Pending system_label: Pending custom_label: Pending - system_description: 'Customer started the checkout process, but did not complete it.' + system_description: Customer started the checkout process, but did not complete it. order: 1 - id: 2 name: Shipped system_label: Shipped custom_label: Shipped - system_description: 'Order has been shipped, but receipt has not been confirmed; seller has used the Ship Items action.' + system_description: Order has been shipped, but receipt has not been confirmed; seller has used the Ship Items action. order: 8 - id: 3 name: Partially Shipped system_label: Partially Shipped custom_label: Partially Shipped - system_description: 'Only some items in the order have been shipped, due to some products being pre-order only or other reasons.' + system_description: Only some items in the order have been shipped, due to some products being pre-order only or other reasons. order: 6 - id: 4 name: Refunded @@ -1266,31 +1266,31 @@ components: name: Cancelled system_label: Cancelled custom_label: Cancelled - system_description: 'Seller has cancelled an order, due to a stock inconsistency or other reasons.' + system_description: Seller has cancelled an order, due to a stock inconsistency or other reasons. order: 9 - id: 6 name: Declined system_label: Declined custom_label: Declined - system_description: 'Seller has marked the order as declined for lack of manual payment, or other reasons.' + system_description: Seller has marked the order as declined for lack of manual payment, or other reasons. order: 10 - id: 7 name: Awaiting Payment system_label: Awaiting Payment custom_label: Awaiting Payment - system_description: 'Customer has completed checkout process, but payment has yet to be confirmed.' + system_description: Customer has completed checkout process, but payment has yet to be confirmed. order: 2 - id: 8 name: Awaiting Pickup system_label: Awaiting Pickup custom_label: Awaiting Pickup - system_description: 'Order has been pulled, and is awaiting customer pickup from a seller-specified location.' + system_description: Order has been pulled, and is awaiting customer pickup from a seller-specified location. order: 5 - id: 9 name: Awaiting Shipment system_label: Awaiting Shipment custom_label: Awaiting Shipment - system_description: 'Order has been pulled and packaged, and is awaiting collection from a shipping provider.' + system_description: Order has been pulled and packaged, and is awaiting collection from a shipping provider. order: 4 - id: 10 name: Completed @@ -1452,21 +1452,21 @@ components: name: Incomplete system_label: Incomplete custom_label: Incomplete - Testing - system_description: 'An incomplete order happens when a shopper reached the payment page, but did not complete the transaction.' + system_description: An incomplete order happens when a shopper reached the payment page, but did not complete the transaction. count: 15 sort_order: 0 - id: 1 name: Pending system_label: Pending custom_label: Pending - system_description: 'Customer started the checkout process, but did not complete it.' + system_description: Customer started the checkout process, but did not complete it. count: 4 sort_order: 1 - id: 7 name: Awaiting Payment system_label: Awaiting Payment custom_label: Awaiting Payment - system_description: 'Customer has completed checkout process, but payment has yet to be confirmed.' + system_description: Customer has completed checkout process, but payment has yet to be confirmed. count: 48 sort_order: 2 - id: 11 @@ -1480,21 +1480,21 @@ components: name: Awaiting Shipment system_label: Awaiting Shipment custom_label: Awaiting Shipment - system_description: 'Order has been pulled and packaged, and is awaiting collection from a shipping provider.' + system_description: Order has been pulled and packaged, and is awaiting collection from a shipping provider. count: 1 sort_order: 4 - id: 8 name: Awaiting Pickup system_label: Awaiting Pickup custom_label: Awaiting Pickup - system_description: 'Order has been pulled, and is awaiting customer pickup from a seller-specified location.' + system_description: Order has been pulled, and is awaiting customer pickup from a seller-specified location. count: 0 sort_order: 5 - id: 3 name: Partially Shipped system_label: Partially Shipped custom_label: Partially Shipped - system_description: 'Only some items in the order have been shipped, due to some products being pre-order only or other reasons.' + system_description: Only some items in the order have been shipped, due to some products being pre-order only or other reasons. count: 1 sort_order: 6 - id: 10 @@ -1508,21 +1508,21 @@ components: name: Shipped system_label: Shipped custom_label: Shipped - system_description: 'Order has been shipped, but receipt has not been confirmed; seller has used the Ship Items action.' + system_description: Order has been shipped, but receipt has not been confirmed; seller has used the Ship Items action. count: 14 sort_order: 8 - id: 5 name: Cancelled system_label: Cancelled custom_label: Cancelled - system_description: 'Seller has cancelled an order, due to a stock inconsistency or other reasons.' + system_description: Seller has cancelled an order, due to a stock inconsistency or other reasons. count: 5 sort_order: 9 - id: 6 name: Declined system_label: Declined custom_label: Declined - system_description: 'Seller has marked the order as declined for lack of manual payment, or other reasons.' + system_description: Seller has marked the order as declined for lack of manual payment, or other reasons. count: 0 sort_order: 10 - id: 4 @@ -2765,7 +2765,7 @@ components: type: object properties: id: - description: 'The ID of the order, a read-only value. Do not pass in PUT or POST request.' + description: The ID of the order, a read-only value. Do not pass in PUT or POST request. example: 118 type: integer customer_id: @@ -2774,7 +2774,7 @@ components: type: number date_created: type: string - description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST request) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`' + description: The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST request) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000` date_modified: type: string description: A read-only value representing the last modification of the order. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 @@ -2786,68 +2786,70 @@ components: example: 11 type: integer cart_id: - description: 'The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a read-only field; do not set or modify its value in a POST or PUT request.' + description: The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a read-only field; do not set or modify its value in a POST or PUT request. example: a8458391-ef68-4fe5-9ec1-442e6a767364 type: string status: - description: 'The status will include one of the (string, optional) - values defined under Order Statuses. This is a read-only value. Do not attempt to modify or set this value in a POST or PUT request.' + description: The status will include one of the (string, optional) - values defined under Order Statuses. This is a read-only value. Do not attempt to modify or set this value in a POST or PUT request. example: Awaiting Fulfillment type: string custom_status: - description: 'Contains the same (string, optional) - value as the `custom_label` property of the Order Statuses object.' + description: Contains the same (string, optional) - value as the `custom_label` property of the Order Statuses object. example: Awaiting Fulfillment type: string subtotal_ex_tax: - description: 'Override value for subtotal excluding tax. If specified, the field `subtotal_inc_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for subtotal excluding tax. If specified, the field `subtotal_inc_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string subtotal_inc_tax: - description: 'Override value for subtotal including tax. If specified, the field `subtotal_ex_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for subtotal including tax. If specified, the field `subtotal_ex_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string subtotal_tax: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string base_shipping_cost: - description: 'The value of the base shipping cost. (Float, Float-As-String, Integer)' + description: The value of the base shipping cost. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_ex_tax: - description: 'The value of shipping cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of shipping cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_inc_tax: - description: 'The value of shipping cost, including tax. (Float, Float-As-String, Integer)' + description: The value of shipping cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_tax_class_id: - description: 'Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: |- + Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) example: 2 type: integer base_handling_cost: - description: 'The value of the base handling cost. (Float, Float-As-String, Integer)' + description: The value of the base handling cost. (Float, Float-As-String, Integer) example: '0.0000' type: string handling_cost_ex_tax: - description: 'The value of the handling cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the handling cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string handling_cost_inc_tax: - description: 'The value of the handling cost, including tax. (Float, Float-As-String, Integer)' + description: The value of the handling cost, including tax. (Float, Float-As-String, Integer) oneOf: - type: number - type: string handling_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string handling_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: |- + A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) example: 2 type: integer base_wrapping_cost: @@ -2857,31 +2859,32 @@ components: - type: string - type: number wrapping_cost_ex_tax: - description: 'The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_inc_tax: - description: 'The value of the wrapping cost, including tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: |- + A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) example: 3 type: integer total_ex_tax: - description: 'Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string total_inc_tax: - description: 'Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string total_tax: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string items_total: @@ -2905,7 +2908,7 @@ components: description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. type: string refunded_amount: - description: 'The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) ' + description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) example: '0.0000' type: string order_is_digital: @@ -2913,23 +2916,23 @@ components: example: false type: boolean store_credit_amount: - description: 'Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' + description: Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string gift_certificate_amount: - description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string ip_address: - description: 'IP Address of the customer, if known.' + description: IP Address of the customer, if known. example: 12.345.678.910 type: string geoip_country: - description: 'The full name of the country where the customer made the purchase, based on the IP.' + description: The full name of the country where the customer made the purchase, based on the IP. example: United States type: string geoip_country_iso2: - description: 'The country where the customer made the purchase, in ISO2 format, based on the IP.' + description: The country where the customer made the purchase, in ISO2 format, based on the IP. example: US type: string currency_id: @@ -2941,7 +2944,7 @@ components: example: USD type: string currency_exchange_rate: - description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) example: '1.0000000000' type: string default_currency_id: @@ -2958,22 +2961,22 @@ components: example: Send Saturday maxLength: 65535 customer_message: - description: 'Message that the customer entered (number, optional) -o the `Order Comments` box during checkout.' + description: Message that the customer entered (number, optional) -o the `Order Comments` box during checkout. example: Thank you type: string discount_amount: - description: 'Amount of discount for this transaction. (Float, Float-As-String, Integer)' + description: Amount of discount for this transaction. (Float, Float-As-String, Integer) example: '0.0000' type: string coupon_discount: - description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) example: '5.0000' type: string shipping_address_count: type: number description: The number of shipping addresses associated with this transaction. A read-only value. Do not pass in a POST or PUT request. is_deleted: - description: 'Boolean value indicates whether the order was deleted (archived). Set to to true to archive an order.' + description: Boolean value indicates whether the order was deleted (archived). Set to to true to archive an order. example: false type: boolean is_email_opt_in: @@ -2986,7 +2989,7 @@ components: type: integer nullable: true ebay_order_id: - description: 'If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`.' + description: If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`. example: '0' type: string billing_address: @@ -3078,7 +3081,7 @@ components: coupons: $ref: '#/components/schemas/coupons_Resource' external_id: - description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a POST request, but using a PUT request to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set.' + description: ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order. This field can be updated in a POST request, but using a PUT request to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set. example: null type: string nullable: true @@ -3181,12 +3184,12 @@ components: example: 120 type: integer code: - description: 'Coupon code, as a string.' + description: Coupon code, as a string. example: S2549JM0Y nullable: true type: string amount: - description: 'Amount of the discount. This information is returned as in integer. Dollar and percentage discounts will return the same. For example, $3 returns as ''3'' while 5% will return as 5. Check the discount type to see what type of discount is available.' + description: Amount of the discount. This information is returned as in integer. Dollar and percentage discounts will return the same. For example, $3 returns as ''3'' while 5% will return as 5. Check the discount type to see what type of discount is available. example: 5 oneOf: - type: string @@ -3260,7 +3263,7 @@ components: example: physical description: Type of product. base_price: - description: 'The product’s base price. (Float, Float-As-String, Integer)' + description: The product’s base price. (Float, Float-As-String, Integer) example: '54.0000' type: string price_ex_tax: @@ -3268,7 +3271,7 @@ components: example: '54.0000' type: string price_inc_tax: - description: 'The product’s price including tax. (Float, Float-As-String, Integer)' + description: The product’s price including tax. (Float, Float-As-String, Integer) example: '54.0000' type: string price_tax: @@ -3282,15 +3285,18 @@ components: example: '0.0000' type: string base_total: - description: 'Total base price. (Float, Float-As-String, Integer)' + description: |- + Total base price. (Float, Float-As-String, Integer) + + **Note**: The `base_total` is affected by the tax options set up in the control panel and is altered on tax-free orders. See more details on how `base_total` is affected by visiting the [Responsive Tax Display Settings](https://support.bigcommerce.com/s/article/Manual-Tax-Setup) overview. If the `base_total` is `$0`, it's due to the store's tax settings. To learn more about tax settings in the control panel, check out this [Tax Settings](https://support.bigcommerce.com/s/article/Tax-Overview?language=en_US#tax-settings) support article. example: '54.0000' type: string total_ex_tax: - description: 'Total base price excluding tax. (Float, Float-As-String, Integer)' + description: Total base price excluding tax. (Float, Float-As-String, Integer) example: '54.0000' type: string total_inc_tax: - description: 'Total base price including tax. (Float, Float-As-String, Integer)' + description: Total base price including tax. (Float, Float-As-String, Integer) example: '54.0000' type: string total_tax: @@ -3308,7 +3314,7 @@ components: example: 1 type: number base_cost_price: - description: 'The product’s cost price. This can be set using the Catalog API. (Float, Float-As-String, Integer) Read Only' + description: The product’s cost price. This can be set using the Catalog API. (Float, Float-As-String, Integer) Read Only example: '0.0000' type: string cost_price_inc_tax: @@ -3324,7 +3330,7 @@ components: example: '0.0000' type: string weight: - description: 'Weight of the product. (Float, Float-As-String, Integer)' + description: Weight of the product. (Float, Float-As-String, Integer) example: 1 oneOf: - type: number @@ -3341,7 +3347,7 @@ components: example: false refunded_amount: type: string - description: 'The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) ' + description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) example: '0.0000' deprecated: true return_id: @@ -3353,21 +3359,21 @@ components: example: null type: string base_wrapping_cost: - description: 'The value of the base wrapping cost. (Float, Float-As-String, Integer)' + description: The value of the base wrapping cost. (Float, Float-As-String, Integer) example: '0.0000' oneOf: - type: string - type: number wrapping_cost_ex_tax: - description: 'The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_inc_tax: - description: 'The value of the wrapping cost, including tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_tax: - description: 'Tax applied to gift-wrapping option. (Float, Float-As-String, Integer)' + description: Tax applied to gift-wrapping option. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_message: @@ -3388,7 +3394,7 @@ components: format: date nullable: true fixed_shipping_cost: - description: 'Fixed shipping cost for this product. (Float, Float-As-String, Integer)' + description: Fixed shipping cost for this product. (Float, Float-As-String, Integer) example: '0.0000' type: string ebay_item_id: @@ -3424,7 +3430,7 @@ components: items: $ref: '#/components/schemas/orderProductOptions' external_id: - description: 'ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order.This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set.' + description: ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order. This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set. type: string nullable: true upc: @@ -3481,42 +3487,44 @@ components: example: 0 base_cost: type: string - description: 'The base value of the order’s items. (Float, Float-As-String, Integer)' + description: The base value of the order’s items. (Float, Float-As-String, Integer) example: '5.0000' cost_ex_tax: type: string example: '0.0000' - description: 'The value of the order’s items, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the order’s items, excluding tax. (Float, Float-As-String, Integer) cost_inc_tax: type: string - description: 'The value of the order’s items, including tax. (Float, Float-As-String, Integer)' + description: The value of the order’s items, including tax. (Float, Float-As-String, Integer) example: '0.0000' cost_tax: type: string - description: 'The tax amount on the order. (Float, Float-As-String, Integer)' + description: The tax amount on the order. (Float, Float-As-String, Integer) example: '0.0000' cost_tax_class_id: type: integer - description: 'The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.)' + description: |- + The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) example: 2 base_handling_cost: type: string - description: 'The base handling charge. (Float, Float-As-String, Integer)' + description: The base handling charge. (Float, Float-As-String, Integer) example: '0.0000' handling_cost_ex_tax: type: string - description: 'The handling charge, excluding tax. (Float, Float-As-String, Integer)' + description: The handling charge, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' handling_cost_inc_tax: type: string - description: 'The handling charge, including tax. (Float, Float-As-String, Integer)' + description: The handling charge, including tax. (Float, Float-As-String, Integer) example: '0.0000' handling_cost_tax: type: string example: '0.0000' handling_cost_tax_class_id: type: integer - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: |- + A read-only value. Do not attempt to set or modify this value in a POST or PUT operation. (NOTE: Value ignored if automatic tax is enabled on the store.) example: 2 shipping_zone_id: type: number @@ -3543,11 +3551,13 @@ components: example: 1 type: integer order_id: - description: 'The unique numeric identifier of the order to which the tax was applied. NOTE: Not included if the store was using the automatic tax feature.' + description: |- + The unique numeric identifier of the order to which the tax was applied. NOTE: Not included if the store was using the automatic tax feature. example: 129 type: integer order_address_id: - description: 'The unique numeric identifier of the order address object associated with the order. NOTE: Not included if the store was using the automatic tax feature.' + description: |- + The unique numeric identifier of the order address object associated with the order. NOTE: Not included if the store was using the automatic tax feature. example: 29 type: integer tax_rate_id: @@ -3555,19 +3565,21 @@ components: example: 1 type: integer tax_class_id: - description: 'The unique numeric identifier of the tax class object. NOTE: Will be 0 if automatic tax was enabled, or if the default tax class was used.' + description: |- + The unique numeric identifier of the tax class object. NOTE: Will be 0 if automatic tax was enabled, or if the default tax class was used. example: 0 type: integer name: description: The name of the tax class object. - example: '"State Tax"' + example: "State Tax" type: string class: - description: 'The name of the type of tax that was applied. NOTE: will be "Automatic Tax" if automatic tax was enabled. Will be "API Tax Override" if the order was created with V2 Orders API.' + description: |- + The name of the type of tax that was applied. NOTE: It will be "Automatic Tax" if automatic tax was enabled. It will be "API Tax Override" if the order was created with V2 Orders API. example: Gift Wrapping type: string rate: - description: 'The tax rate. The priority order in which the tax is applied (Float, Float-As-String, Integer)' + description: The tax rate. The priority order in which the tax is applied (Float, Float-As-String, Integer) example: '8.0000' type: string priority: @@ -3575,11 +3587,11 @@ components: example: 0 type: number priority_amount: - description: 'The amount of tax calculated on the order. (Float, Float-As-String, Integer)' + description: The amount of tax calculated on the order. (Float, Float-As-String, Integer) example: '1.5200' type: string line_amount: - description: '(Float, Float-As-String, Integer)' + description: (Float, Float-As-String, Integer) example: '1.5200' type: string order_product_id: @@ -3630,7 +3642,7 @@ components: type: string shipping_provider: type: string - description: 'Enum of the BigCommerce shipping-carrier integration/module. ' + description: Enum of the BigCommerce shipping-carrier integration/module. enum: - auspost - canadapost @@ -3660,7 +3672,8 @@ components: shipping_address: $ref: '#/components/schemas/shippingAddress_Base' items: - description: 'The items in the shipment. This object has the following members, all integer: order_product_id (required), quantity (required), product_id (read-only). A sample items value might be: [ {"order_product_id":16,"product_id": 0,"quantity":2} ]' + description: |- + The items in the shipment. This object has the following members, all integer: order_product_id (required), quantity (required), product_id (read-only). A sample items value might be: [ {"order_product_id":16,"product_id": 0,"quantity":2} ] type: array items: type: object @@ -3733,7 +3746,7 @@ components: example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/coupons' type: string resource: - description: resource of the coupons. + description: Resource of the coupons. readOnly: true example: /orders/129/coupons type: string @@ -3750,7 +3763,7 @@ components: example: total-coupon type: string amount: - description: 'Amount of the discount.(Float, Float-As-String, Integer) ' + description: Amount of the discount.(Float, Float-As-String, Integer) example: '1.2100' type: string name: @@ -3818,7 +3831,7 @@ components: example: Checkbox description: Option Type name: - description: 'The option’s name, as used internally. Must be unique.' + description: The option’s name, as used internally. Must be unique. example: Apparel sizes type: string display_style: @@ -4039,7 +4052,8 @@ components: description: Comments the shipper wishes to add. maxLength: 65535 items: - description: 'The items in the shipment. This object has the following members, all integer: order_product_id (required), quantity (required), product_id (read-only). A sample items value might be: [ {"order_product_id":16,"product_id": 0,"quantity":2} ]' + description: |- + The items in the shipment. This object has the following members, all integer: order_product_id (required), quantity (required), product_id (read-only). A sample items value might be: [ {"order_product_id":16,"product_id": 0,"quantity":2} ] type: array items: type: object @@ -4114,7 +4128,7 @@ components: type: string system_description: description: System description of the order status. - example: 'An incomplete order happens when a shopper reached the payment page, but did not complete the transaction.' + example: An incomplete order happens when a shopper reached the payment page, but did not complete the transaction. type: string x-internal: false ordersCountStatus: @@ -4140,11 +4154,11 @@ components: x-internal: false properties: base_handling_cost: - description: 'The value of the base handling cost. (Float, Float-As-String, Integer)' + description: The value of the base handling cost. (Float, Float-As-String, Integer) example: '0.0000' type: string base_shipping_cost: - description: 'The value of the base shipping cost. (Float, Float-As-String, Integer)' + description: The value of the base shipping cost. (Float, Float-As-String, Integer) example: '0.0000' type: string base_wrapping_cost: @@ -4160,31 +4174,31 @@ components: customer_id: type: number customer_message: - description: 'Message that the customer entered (number, options) -o the `Order Comments` box during checkout.' + description: Message that the customer entered (number, options) -o the `Order Comments` box during checkout. example: Thank you type: string date_created: - description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`.' + description: The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`. type: string default_currency_code: description: The currency code of the transactional currency the shopper pays in; writeable when multi-currency is enabled. type: string discount_amount: - description: 'Amount of discount for this transaction. (Float, Float-As-String, Integer)' + description: Amount of discount for this transaction. (Float, Float-As-String, Integer) example: '0.0000' type: string ebay_order_id: - description: 'If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`.' + description: If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`. example: '0' type: string external_id: - description: 'The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null oneOf: - type: string nullable: true external_merchant_id: - description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null oneOf: - type: string @@ -4199,19 +4213,19 @@ components: type: string nullable: true geoip_country: - description: 'The full name of the country where the customer made the purchase, based on the IP.' + description: The full name of the country where the customer made the purchase, based on the IP. example: United States type: string geoip_country_iso2: - description: 'The country where the customer made the purchase, in ISO2 format, based on the IP.' + description: The country where the customer made the purchase, in ISO2 format, based on the IP. example: US type: string handling_cost_ex_tax: - description: 'The value of the handling cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the handling cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string handling_cost_inc_tax: - description: 'The value of the handling cost, including tax. (Float, Float-As-String, Integer)' + description: The value of the handling cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string ip_address: @@ -4231,7 +4245,7 @@ components: example: '2001:db8:3333:4444:5555:6666:7777:8888' maxLength: 39 is_deleted: - description: 'Indicates whether the order was deleted (archived). Set to to true, to archive an order.' + description: Indicates whether the order was deleted (archived). Set to to true, to archive an order. example: false type: boolean items_shipped: @@ -4247,7 +4261,8 @@ components: example: false type: boolean payment_method: - description: The display name of the payment method for this order. + description: |- + The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `cash`, `Test Payment Gateway`, etc. enum: - Credit Card - Cash @@ -4261,15 +4276,15 @@ components: - type: string - type: number refunded_amount: - description: 'The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) ' + description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_ex_tax: - description: 'The value of shipping cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of shipping cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_inc_tax: - description: 'The value of shipping cost, including tax. (Float, Float-As-String, Integer)' + description: The value of shipping cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string staff_notes: @@ -4281,11 +4296,11 @@ components: description: The status ID of the order. type: integer subtotal_ex_tax: - description: 'Override value for subtotal excluding tax. If specified, the field `subtotal_inc_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for subtotal excluding tax. If specified, the field `subtotal_inc_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string subtotal_inc_tax: - description: 'Override value for subtotal including tax. If specified, the field `subtotal_ex_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for subtotal including tax. If specified, the field `subtotal_ex_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string tax_provider_id: @@ -4309,19 +4324,19 @@ components: example: external-order-id description: The external id of the order. total_ex_tax: - description: 'Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string total_inc_tax: - description: 'Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string wrapping_cost_ex_tax: - description: 'The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_inc_tax: - description: 'The value of the wrapping cost, including tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string billingAddress_Base: @@ -4394,7 +4409,7 @@ components: zip: type: string example: '12345' - description: 'Zip or postal code, as a string.' + description: Zip or postal code, as a string. country: type: string example: United States @@ -4430,39 +4445,46 @@ components: type: string description: A read-only value representing the date of shipment. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 cart_id: - description: 'The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a read-only field; do not set or modify its value in a POST or PUT request.' + description: The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a read-only field; do not set or modify its value in a POST or PUT request. example: a8458391-ef68-4fe5-9ec1-442e6a767364 type: string status: type: string - description: 'The status will include one of the (string, options) - values defined under Order Statuses. This value is read-only. Do not attempt to modify or set this value in a POST or PUT operation.' + description: The status will include one of the (string, options) - values defined under Order Statuses. This value is read-only. Do not attempt to modify or set this value in a POST or PUT operation. example: Awaiting Fulfillment subtotal_tax: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_tax_class_id: - description: 'Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: |- + Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) example: 2 type: integer handling_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string handling_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: |- + A read-only value. Do not attempt to set or modify this value in a POST or PUT request. + + (NOTE: Value ignored if automatic tax is enabled on the store.) example: 2 type: integer wrapping_cost_tax: - description: 'A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_tax_class_id: - description: 'A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.)' + description: |- + A read-only value. Do not attempt to set or modify this value in a POST or PUT request. + + NOTE: Value ignored if automatic tax is enabled on the store. example: 3 type: integer payment_status: @@ -4481,23 +4503,23 @@ components: - void - void pending store_credit_amount: - description: 'Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' + description: Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string gift_certificate_amount: - description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) example: '0.0000' type: string currency_id: - description: 'The display currency ID. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT request. In v2 display currency is set to the transactional currency, ''default_currency_id''.' + description: The display currency ID. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT request. In v2 display currency is set to the transactional currency, ''default_currency_id''. example: 1 type: integer currency_code: - description: 'The currency code of the display currency used to present prices to the shopper on the storefront. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT request.' + description: The currency code of the display currency used to present prices to the shopper on the storefront. Depending on the currency selected, the value can be different from the transactional currency. A read-only value. Do not pass in a POST or PUT request. example: USD type: string currency_exchange_rate: - description: 'The exchange rate between the store’s default currency and the display currency. A read-only value. Do not pass in a POST or PUT request. For orders created using the V2 endpoints, this value is always 1 (only in the storefront this value can be different to 1). (Float, Float-As-String, Integer)' + description: The exchange rate between the store’s default currency and the display currency. A read-only value. Do not pass in a POST or PUT request. For orders created using the V2 endpoints, this value is always 1 (only in the storefront this value can be different to 1). (Float, Float-As-String, Integer) example: '1.0000000000' type: string default_currency_id: @@ -4517,7 +4539,7 @@ components: example: '100.0000000000' type: string coupon_discount: - description: 'A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer)' + description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) example: '5.0000' type: string shipping_address_count: @@ -4621,7 +4643,7 @@ components: properties: id: type: integer - description: 'The order product `id`. To add a product to an existing order, donʼt include `id` in the payload. `id` is required when updating an order product.' + description: The order product `id`. To add a product to an existing order, donʼt include `id` in the payload. `id` is required when updating an order product. - $ref: '#/components/schemas/orderCatalogProduct_Post' x-internal: false orderCatalogProduct_Post: @@ -4638,13 +4660,13 @@ components: type: integer name: type: string - description: 'Alias for `name_customer`. The product name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' + description: Alias for `name_customer`. The product name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. example: Fog Linen Chambray Towel - Beige Stripe minLength: 1 name_customer: type: string example: Fog Linen Chambray Towel - Beige Stripe - description: 'The product name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' + description: The product name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. minLength: 1 name_merchant: type: string @@ -4652,13 +4674,13 @@ components: description: The product name that is shown to merchant in control panel. product_options: type: array - description: 'List of product variant options and modifiers. `product_options` are required when adding a product with variants and not specifying the `variant_id`, or when products have mandatory modifiers.' + description: List of product variant options and modifiers. `product_options` are required when adding a product with variants and not specifying the `variant_id`, or when products have mandatory modifiers. items: type: object properties: id: type: integer - description: 'Numeric ID of an option applied to the product from a list of options available to the product. This field has the same value as `product_option_id` when [retrieving products in an order](/docs/rest-management/orders/order-products#list-order-products).' + description: Numeric ID of an option applied to the product from a list of options available to the product. This field has the same value as `product_option_id` when [retrieving products in an order](/docs/rest-management/orders/order-products#list-order-products). value: type: string description: |- @@ -4675,11 +4697,11 @@ components: display_name: type: string example: couleur - description: 'Alias for display_name_customer. The product option name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' + description: Alias for display_name_customer. The product option name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. minLength: 1 display_name_customer: type: string - description: 'The product option name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' + description: The product option name that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. example: couleur minLength: 1 display_name_merchant: @@ -4689,7 +4711,7 @@ components: display_value: type: string example: bleu - description: 'Alias for display_value_customer. The product option value that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' + description: Alias for display_value_customer. The product option value that is shown to customer in storefront. `xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. minLength: 1 display_value_merchant: type: string @@ -4699,7 +4721,7 @@ components: display_value_customer: type: string example: bleu - description: 'The product option value that is shown to a customer in storefront.`xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields.' + description: The product option value that is shown to a customer in storefront.`xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. minLength: 1 quantity: type: number @@ -4714,18 +4736,18 @@ components: description: '""' wrapping_id: type: integer - description: 'ID of the gift wrapping that will be used for this product. If provided, then `wrapping_cost_ex_tax` and `wrapping_cost_inc_tax` are required. When updating an order product line item, if `wrapping_id` is set to `0` and no other wrapping fields are provided,then the wrapping will be removed from the order product.' + description: ID of the gift wrapping that will be used for this product. If provided, then `wrapping_cost_ex_tax` and `wrapping_cost_inc_tax` are required. When updating an order product line item, if `wrapping_id` is set to `0` and no other wrapping fields are provided,then the wrapping will be removed from the order product. wrapping_name: type: string - description: 'If the `wrapping_id` is provided, this field will populate with the name of the gift wrapping that is to be used.' + description: If the `wrapping_id` is provided, this field will populate with the name of the gift wrapping that is to be used. wrapping_message: type: string wrapping_cost_ex_tax: type: number - description: 'When provided, this value should be equal to `wrapping_cost_ex_tax` times quantity to accurately reflect wrapping cost per unit.' + description: When provided, this value should be equal to `wrapping_cost_ex_tax` times quantity to accurately reflect wrapping cost per unit. wrapping_cost_inc_tax: type: number - description: 'When provided, this value should be equal to `wrapping_cost_inc_tax` times quantity to accurately reflect wrapping cost per unit.' + description: When provided, this value should be equal to `wrapping_cost_inc_tax` times quantity to accurately reflect wrapping cost per unit. x-internal: false orderCustomProduct_Post: title: orderCustomProduct_Post @@ -4779,11 +4801,11 @@ components: - type: object properties: base_handling_cost: - description: 'The value of the base handling cost. (Float, Float-As-String, Integer)' + description: The value of the base handling cost. (Float, Float-As-String, Integer) example: '0.0000' type: string base_shipping_cost: - description: 'The value of the base shipping cost. (Float, Float-As-String, Integer)' + description: The value of the base shipping cost. (Float, Float-As-String, Integer) example: '0.0000' type: string base_wrapping_cost: @@ -4801,31 +4823,31 @@ components: customer_id: type: number customer_message: - description: 'Message that the customer entered (number, options) -o the `Order Comments` box during checkout.' + description: Message that the customer entered (number, options) -o the `Order Comments` box during checkout. example: Thank you type: string date_created: - description: 'The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`.' + description: The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`. type: string default_currency_code: description: A read-only field displays the currency code of the [transactional currency](/api-docs/multi-currency/guide/introduction#display-vs-transactional) the shopper uses. type: string discount_amount: - description: 'Amount of discount for this transaction. (Float, Float-As-String, Integer)' + description: Amount of discount for this transaction. (Float, Float-As-String, Integer) example: '0.0000' type: string ebay_order_id: - description: 'If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`.' + description: If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`. example: '0' type: string external_id: - description: 'The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null oneOf: - type: string nullable: true external_merchant_id: - description: 'The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again.' + description: The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null oneOf: - type: string @@ -4840,19 +4862,19 @@ components: type: string nullable: true geoip_country: - description: 'The full name of the country where the customer made the purchase, based on the IP.' + description: The full name of the country where the customer made the purchase, based on the IP. example: United States type: string geoip_country_iso2: - description: 'The country where the customer made the purchase, in ISO2 format, based on the IP.' + description: The country where the customer made the purchase, in ISO2 format, based on the IP. example: US type: string handling_cost_ex_tax: - description: 'The value of the handling cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the handling cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string handling_cost_inc_tax: - description: 'The value of the handling cost, including tax. (Float, Float-As-String, Integer)' + description: The value of the handling cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string ip_address: @@ -4872,7 +4894,7 @@ components: example: '2001:db8:3333:4444:5555:6666:7777:8888' maxLength: 39 is_deleted: - description: 'Indicates whether the order was deleted (archived). Set to to true, to archive an order.' + description: Indicates whether the order was deleted (archived). Set to to true, to archive an order. example: false type: boolean items_shipped: @@ -4889,7 +4911,7 @@ components: type: boolean payment_method: type: string - description: The display name of the payment method for this order. + description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `Cash`,`Test Payment Gateway`, etc.' payment_provider_id: description: The external Transaction ID/Payment ID within this order’s payment provider (if a payment provider was used). example: '' @@ -4903,15 +4925,15 @@ components: - $ref: '#/components/schemas/orderCatalogProduct_Put' - $ref: '#/components/schemas/orderCustomProduct_Put' refunded_amount: - description: 'The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) ' + description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_ex_tax: - description: 'The value of shipping cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of shipping cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_inc_tax: - description: 'The value of shipping cost, including tax. (Float, Float-As-String, Integer)' + description: The value of shipping cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string staff_notes: @@ -4958,19 +4980,19 @@ components: example: external-order-id description: The external id of the order. total_ex_tax: - description: 'Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string total_inc_tax: - description: 'Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer)' + description: Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' type: string wrapping_cost_ex_tax: - description: 'The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer) example: '0.0000' type: string wrapping_cost_inc_tax: - description: 'The value of the wrapping cost, including tax. (Float, Float-As-String, Integer)' + description: The value of the wrapping cost, including tax. (Float, Float-As-String, Integer) example: '0.0000' type: string order_Post: @@ -5211,7 +5233,7 @@ components: address_line_2: Suite 101 city: Austin state: Texas - postal_code: '78726' + postal_code: 78726 country_alpha2: US email: location1@example.com phone: +1 111-111-1111 @@ -5557,11 +5579,11 @@ components: example: 4.1 handling_cost_ex_tax: type: number - description: 'The handling charge, excluding tax.' + description: The handling charge, excluding tax. example: 4.1 handling_cost_inc_tax: type: number - description: 'The handling charge, including tax.' + description: The handling charge, including tax. example: 5.3 handling_cost_tax: type: number @@ -5593,7 +5615,7 @@ components: zip: '12345' country: United States country_iso2: US - phone: '0410999888' + phone: 0410999888 email: janedoe@example.com form_fields: - name: License Id @@ -5645,7 +5667,7 @@ components: zip: type: string example: '12345' - description: 'Zip or postal code, as a string.' + description: Zip or postal code, as a string. country: type: string example: United States From 8a2c14e4cab07339fc5057da784b92ee32fdf0cc Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 13 Jun 2023 08:57:58 -0500 Subject: [PATCH 205/360] DEVDOCS-4753: [revise] Price lists, webhook changes (#1354) Co-authored-by: Traci Porter --- reference/price_lists.v3.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index a8b11d46f..3414ea479 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -39,13 +39,14 @@ info: - Price Lists cannot be assigned to a customer group that has customer group discounts -- the customer group discounts must be deleted first. - Bulk pricing Tiers may additionally be associated with a price record to indicate different pricing as the quantity in the cart increases. - If a variant has a Price Record, any existing product-level bulk pricing will not apply in the cart. For variants without Price Records, any existing product bulk pricing will apply. - - [Price Lists Records](/docs/rest-management/price-lists/price-lists-records) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one bulk upsert in parallel on the **same store** will cause a 429 error and the request will fail. - - There are no webhooks available for Price Lists. Since Price Lists directly relate to products, product webhooks will trigger for corresponding changes such as pricing. + - [Price Lists Records](/docs/rest-management/price-lists/price-lists-records) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one bulk upsert in parallel on the **same store** will cause a `429` error and the request will fail. + - There are webhooks available for Price Lists assignments. The price list assignment webhook fires when a price list assignment is assigned, reassigned, or unassigned. Note that since Price Lists directly relate to products, neither product nor SKU webhooks are going to fire for corresponding changes, such as pricing. ## Additional information ### Webhooks + * [Price list assignments] (/api-docs/channels/guide/webhooks#price-list-assignments) * [Products](/api-docs/store-management/webhooks/events#products) * [SKU](/api-docs/store-management/webhooks/events#sku) @@ -1402,7 +1403,7 @@ paths: * Batch updates are supported by this endpoint, meaning that several price objects can be updated in one request. This allows you to do the same work as many individual requests to singleton endpoints * Batch requests support up to 1,000 items per request. - * Up to 2 concurrent batch upsert requests are supported with this API. Running more than the allowed concurrent requests in parallel on the **same store** will cause a 429 error and your additional requests will fail. You are encouraged to run requests sequentially with as many records per request as possible, in order to maximize performance. + * Up to 2 concurrent batch upsert requests are supported with this API. Running more than the allowed concurrent requests in parallel on the **same store** will cause a `429` error, and your additional requests will fail. You are encouraged to run requests sequentially with as many records per request as possible to maximize performance. operationId: setPriceListRecordCollection parameters: - name: price_list_id From 86729243a0e48c9e3992bc880651552a8a002f19 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 13 Jun 2023 09:13:11 -0500 Subject: [PATCH 206/360] DEVDOCS-4213: [update] added variants array to Create a Product request body (#1352) --- reference/catalog/products_catalog.v3.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 74a64b095..ff67b8315 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -8571,6 +8571,10 @@ components: type: array items: $ref: '#/components/schemas/productVideo_Full' + variants: + type: array + items: + $ref: '#/components/schemas/productVariant_Full' required: - name - type From e72f0179559064ad2a1a18cf7cd9fca18693c5ff Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 13 Jun 2023 09:50:59 -0500 Subject: [PATCH 207/360] DEVDOCS-4327: [update] add limits for coupon code and name (#1349) --- reference/marketing.v2.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index 26ae5dac0..eab9236e7 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -938,6 +938,7 @@ components: type: string description: The name of the coupon. example: Australia Customers Discount + maxLength: 100 type: type: string enum: @@ -977,6 +978,7 @@ components: Value must be unique. Only letters, numbers, white space, underscores, and hyphens are allowed. example: S2549JM0Y + maxLength: 50 applies_to: type: object properties: From 3da8893d6683b835edf8bc25c328e1bdbaed767f Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 15 Jun 2023 13:22:10 -0500 Subject: [PATCH 208/360] DEVDOCS-4922: [revise] Add-missing-callbacks (#1357) --- models/webhooks/_all.yml | 10 ++++++++ .../store_order_transaction_created.yml | 24 +++++++++++++++++++ .../store_order_transaction_updated.yml | 24 +++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 models/webhooks/store_order_transaction_created.yml create mode 100644 models/webhooks/store_order_transaction_updated.yml diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index 6d568762b..978317494 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -269,6 +269,16 @@ properties: type: object allOf: - $ref: ./store_order_statusUpdated.yml + store/order/transaction/created: + description: Fires when an order transaction is created. + type: object + allOf: + - $ref: ./store_order_transaction_created.yml + store/order/transaction/updated: + description: Fires when an order transaction is changed. + type: object + allOf: + - $ref: ./store_order_transaction_updated.yml store/order/updated: description: Fires when an already created order is updated. Any change to an existing order fires this webhook. Updates can include changing the status, updating a coupon, or changing an address. type: object diff --git a/models/webhooks/store_order_transaction_created.yml b/models/webhooks/store_order_transaction_created.yml new file mode 100644 index 000000000..e3ceeb903 --- /dev/null +++ b/models/webhooks/store_order_transaction_created.yml @@ -0,0 +1,24 @@ +properties: + store/order/transaction/created: + description: Fires when a new order transaction is created. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + type: + type: string + order_id: + type: integer + transaction_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string diff --git a/models/webhooks/store_order_transaction_updated.yml b/models/webhooks/store_order_transaction_updated.yml new file mode 100644 index 000000000..9ce2d7fbf --- /dev/null +++ b/models/webhooks/store_order_transaction_updated.yml @@ -0,0 +1,24 @@ +properties: + store/order/transaction/updated: + description: Fires when a new order transaction is updated. + type: object + properties: + scope: + type: string + store_id: + type: string + data: + type: object + properties: + type: + type: string + order_id: + type: integer + transaction_id: + type: string + hash: + type: string + created_at: + type: integer + producer: + type: string From c85853356302d3bd2c7627efc986fcf4a5ed1f09 Mon Sep 17 00:00:00 2001 From: Andrew Chan Date: Thu, 22 Jun 2023 03:43:33 +1000 Subject: [PATCH 209/360] DEVDOCS-5141 [update]: Shipping V2 API, Update byweight and bytotal default_cost description (#1361) --- reference/shipping.v2.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index e83d5560b..74dbe6cbb 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -162,7 +162,7 @@ paths: enabled: true 'Example 2: Zone is Selection of States in a Country': value: - - id: 2 + - id: 2 name: States in the U.S. type: state locations: @@ -786,7 +786,7 @@ paths: type: royalmail settings: {} enabled: true - handling_fees: + handling_fees: fixed_surcharge: "0" is_fallback: false - id: 35889344 @@ -794,7 +794,7 @@ paths: type: canadapost settings: {} enabled: true - handling_fees: + handling_fees: percentage_surcharge: "0" is_fallback: false operationId: getShippingMethodsZone @@ -1082,12 +1082,12 @@ paths: | Property | Type | Description | |:---------|:-----|:------------| - | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the storeʼs control panel. | Example request body: - + ```json { "name": "Rate per Weight", @@ -1117,7 +1117,7 @@ paths: | Property | Type | Description | |:---------|:-----|:------------| - | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | @@ -1184,7 +1184,7 @@ paths: "upper_limit": 20, "shipping_cost": 8 } - ``` + ``` summary: Create a Shipping Method tags: - Shipping Method @@ -1229,7 +1229,7 @@ paths: type: auspost settings: {} enabled: false - handling_fees: + handling_fees: fixed_surcharge: "0" is_fallback: false operationId: createAShippingMethod @@ -1296,7 +1296,7 @@ paths: | Name | Type | Description | | - | - | - | - | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the storeʼs control panel. | @@ -1331,7 +1331,7 @@ paths: | Name | Type | Description | | - | - | - | - | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | @@ -1466,7 +1466,7 @@ paths: type: weight settings: {} enabled: false - handling_fees: + handling_fees: percentage_surcharge: "0" is_fallback: false x-unitTests: [] @@ -1533,7 +1533,7 @@ paths: | Property | Type | Description | |:---------|:-----|:------------| - | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the storeʼs control panel. | @@ -1569,7 +1569,7 @@ paths: | Property | Type | Description | |:---------|:-----|:------------| - | default_cost | number | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. | + | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | @@ -1636,7 +1636,7 @@ paths: "shipping_cost": 8 } ``` - + summary: Update a Shipping Method tags: - Shipping Method @@ -1678,7 +1678,7 @@ paths: type: endicia settings: {} enabled: false - handling_fees: + handling_fees: fixed_surcharge: "0" is_fallback: false x-unitTests: [] @@ -1887,7 +1887,7 @@ paths: { "carrier_id" : "royalmail", "connection" : { - + } } ``` From 0c7fb204c8eca7180d15865fd29697e05ca6d16c Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:39:07 -0500 Subject: [PATCH 210/360] DEVDOCS-5064: [update] Settings API, differentiate global vs channel (#1359) --- models/webhooks/_all.yml | 4 ++-- .../store_product_inventory_order_updated.yml | 2 +- .../store_sku_inventory_order_updated.yml | 2 +- reference/settings.v3.yml | 15 ++++++++++++--- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index 978317494..3b831b392 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -296,7 +296,7 @@ properties: - $ref: ./store_product_deleted.yml store/product/inventory/order/updated: description: |- - Fires when _base product_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + Fires when _base product_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). The settings for a channel apply when inventory changes through an order in a channel. The webhook always fires for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _product_. type: object @@ -374,7 +374,7 @@ properties: - $ref: ./store_sku_deleted.yml store/sku/inventory/order/updated: description: |- - Fires when _variant_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + Fires when _variant_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). The settings for a channel apply when inventory changes through an order in a channel. The webhook does not fire for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _variant_. type: object diff --git a/models/webhooks/store_product_inventory_order_updated.yml b/models/webhooks/store_product_inventory_order_updated.yml index d4b55b271..c32b90371 100644 --- a/models/webhooks/store_product_inventory_order_updated.yml +++ b/models/webhooks/store_product_inventory_order_updated.yml @@ -2,7 +2,7 @@ type: object properties: store/product/inventory/order/updated: description: |- - Fires when _base product_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + Fires when _base product_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). The settings for a channel apply when inventory changes through an order in a channel. The webhook always fires for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _product_. type: object diff --git a/models/webhooks/store_sku_inventory_order_updated.yml b/models/webhooks/store_sku_inventory_order_updated.yml index 83ce7ab27..dae191e0d 100644 --- a/models/webhooks/store_sku_inventory_order_updated.yml +++ b/models/webhooks/store_sku_inventory_order_updated.yml @@ -2,7 +2,7 @@ type: object properties: store/sku/inventory/order/updated: description: |- - Fires when _variant_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. + Fires when _variant_ inventory levels change in response to the order-related events configured in [Inventory settings](/docs/rest-management/settings/inventory#get-inventory-settings). For example, stock levels can change when you either place or complete/ship an order. Stock levels can also change when you refund or cancel an order. Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). The settings for a channel apply when inventory changes through an order in a channel. The webhook does not fire for products without variants. For products with variants, the webhook only fires when the product's inventory properties are configured to track by _variant_. type: object diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index 165d69558..f9d534b66 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -1952,13 +1952,22 @@ components: enum: - order_placed - order_completed_or_shipped - description: Describes when stock levels are updated. + description: |- + Describes when stock levels are updated. + + Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/api-docs/store-management/webhooks/webhook-events#products), [SKU](/api-docs/store-management/webhooks/webhook-events#skus), and [inventory](/buy-online-pick-up-in-store/webhooks#inventory) webhooks. edit_order_stock_adjustment: type: boolean - description: Describes whether stock levels automatically adjust when you edit an order. + description: |- + Describes whether stock levels automatically adjust when you edit an order. + + Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/api-docs/store-management/webhooks/webhook-events#products), [SKU](/api-docs/store-management/webhooks/webhook-events#skus), and [inventory](/buy-online-pick-up-in-store/webhooks#inventory) webhooks. refund_order_stock_adjustment: type: boolean - description: Describes whether stock levels automatically adjust when you refund or cancel an order. + description: |- + Describes whether stock levels automatically adjust when you refund or cancel an order. + + Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/api-docs/store-management/webhooks/webhook-events#products), [SKU](/api-docs/store-management/webhooks/webhook-events#skus), and [inventory](/buy-online-pick-up-in-store/webhooks#inventory) webhooks. stock_level_display: type: string enum: From 3a38fcffc15f0b42b3fe81ab61a07dcbb10f4100 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 26 Jun 2023 10:34:54 -0500 Subject: [PATCH 211/360] DEVDOCS-4791: [update] gift certificates endpoint (#1363) --- reference/marketing.v2.yml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index eab9236e7..0891c25c8 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -767,12 +767,14 @@ paths: to_name: Alyss order_id: 1281 template: "Celebration" + message: "Celebrate" to_email: test@test.com from_name: Noland from_email: test1@test.com customer_id: 0 expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" + currency_code: "USD" - id: 25 code: 10R-6E3-AO4-RST amount: "700.0000" @@ -781,12 +783,14 @@ paths: to_name: Alyss order_id: 0 template: "General" + message: "Test" to_email: test@test.com from_name: Noland from_email: test1@test.com customer_id: 0 expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" + currency_code: "USD" - id: 27 code: 15R-6E3-AO4-RST amount: "50.0000" @@ -795,12 +799,14 @@ paths: to_name: Lyss order_id: 0 template: "Celebration" + message: "Celebrate" to_email: test5@test.com from_name: Somethingelse from_email: test15@test.com customer_id: 0 expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" + currency_code: "USD" post: tags: - Gift Certificates @@ -855,6 +861,7 @@ paths: message: Happy Birthday! purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" + currency_code: "USD" x-codegen-request-body-name: body delete: tags: @@ -1159,7 +1166,7 @@ components: properties: id: type: integer - description: The ID of the gift certificate.This is a READ-ONLY field; + description: The ID of the gift certificate. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. example: 1 customer_id: @@ -1213,6 +1220,13 @@ components: - pending - disabled - expired + currency_code: + type: string + description: |- + A currency code, following the ISO 4217 standard. The currency has to exist in the store first. + + Gift Certificates can only be used if the transactional currency of the cart is the same as the one defined in the gift certificate. If this value is not provided, the gift certificate is created using the store's default transactional currency. + example: USD x-internal: false giftCertificate_Put: title: giftCertificate_Put @@ -1222,7 +1236,7 @@ components: properties: balance: type: string - description: Remaining value of the gift certificate. If not set, will + description: The remaining value of the gift certificate. If not set, will default to the amount. example: "0" purchase_date: @@ -1268,6 +1282,13 @@ components: - pending - expired - disabled + currency_code: + type: string + description: |- + A currency code, following the ISO 4217 standard. The currency has to exist in the store first. + + Gift Certificates can only be used if the transactional currency of the cart is the same as the one defined in the gift certificate. If this value is not provided, the gift certificate is created using the store's default transactional currency. + example: USD x-internal: false giftCertificate_Post: title: giftCertificate_Post @@ -1328,9 +1349,9 @@ components: currency_code: type: string description: |- - A currency code, following the ISO 4217 standard. The currency has to exists in the store first. + A currency code, following the ISO 4217 standard. The currency has to exist in the store first. - Gift Certificates can only be used if the transactional currency of the cart is the same to the one defined in the gift certificate. If this value is not provided, the gift certificate is created using the store's default transactional currency + Gift Certificates can only be used if the transactional currency of the cart is the same as the one defined in the gift certificate. If this value is not provided, the gift certificate is created using the store's default transactional currency. example: USD x-internal: false responses: From 78efe1ba817af6b7147b844bc6301ffebed5a1c0 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 26 Jun 2023 14:06:12 -0500 Subject: [PATCH 212/360] DEVDOCS-5023 [update]: Catalog API, fix Catalog Trees incorrect schema (#1365) --- .../catalog/category-trees_catalog.v3.yml | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 74bca84ae..985447b9f 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -399,11 +399,11 @@ paths: schema: type: array items: - $ref: '#/components/schemas/Tree' + $ref: '#/components/schemas/Tree_req' example: - id: 0 name: string - channels: + channel_ids: - 0 responses: '200': @@ -414,14 +414,16 @@ paths: type: object properties: data: - $ref: '#/components/schemas/Tree' + type: array + items: + $ref: '#/components/schemas/Tree' meta: $ref: '#/components/schemas/metaEmpty_Full' example: data: - id: 0 - name: string - channels: + - id: 0 + name: string + channels: - 0 meta: type: object @@ -838,6 +840,21 @@ components: type: integer x-tags: - Models + Tree_req: + type: object + properties: + id: + type: integer + name: + type: string + minLength: 1 + maxLength: 255 + channel_ids: + type: array + items: + type: integer + x-tags: + - Models CategoryNode: type: object properties: From f52e1f78cbe5fc7f5ef838c312497c7172dcec48 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 26 Jun 2023 14:42:33 -0500 Subject: [PATCH 213/360] DEVDOCS-5124: [update] variant array in Create a Product endpoint (#1362) --- ...roducts_catalog.v3.yml => product_catalog.v3.yml} | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) rename reference/catalog/{products_catalog.v3.yml => product_catalog.v3.yml} (99%) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/product_catalog.v3.yml similarity index 99% rename from reference/catalog/products_catalog.v3.yml rename to reference/catalog/product_catalog.v3.yml index ff67b8315..189bd4044 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/product_catalog.v3.yml @@ -6723,16 +6723,10 @@ components: - $ref: '#/components/schemas/productVariant_Base' - type: object properties: - id: - type: integer product_id: type: integer sku: type: string - sku_id: - type: integer - description: Read-only reference to v2 API's SKU ID. Null if it is a base variant. - nullable: true option_values: type: array description: Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant. @@ -6745,6 +6739,8 @@ components: format: double calculated_weight: type: number + required: + - sku x-internal: false description: '' x-examples: @@ -6918,7 +6914,9 @@ components: example: Beige x-required: - post - - $ref: '#/components/schemas/productVariantOptionValue_Base' + required: + - option_display_name + - label x-internal: false productVariantOptionValue_Base: title: productVariantOptionValue_Base From 6d07343492754d42d9ace76dea112e390cb00346 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 26 Jun 2023 14:55:33 -0500 Subject: [PATCH 214/360] DEVDOCS-5023 [update]: Catalog API, remove incorrect meta example (#1366) --- reference/catalog/category-trees_catalog.v3.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 985447b9f..7fdcf16de 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -425,10 +425,7 @@ paths: name: string channels: - 0 - meta: - type: object - properties: {} - description: Empty meta object; reserved for use later. + meta: {} '422': description: The Channel was not valid. See the response for more details. content: From 62aa898d65320fc3b1a668b331defe5f3a030ec2 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 27 Jun 2023 11:16:40 -0500 Subject: [PATCH 215/360] Rename product_catalog.v3.yml to products_catalog.v3.yml (#1367) --- .../catalog/{product_catalog.v3.yml => products_catalog.v3.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename reference/catalog/{product_catalog.v3.yml => products_catalog.v3.yml} (100%) diff --git a/reference/catalog/product_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml similarity index 100% rename from reference/catalog/product_catalog.v3.yml rename to reference/catalog/products_catalog.v3.yml From fdc3d78d3b7ce073a6320ccbb17e65ea98089299 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 28 Jun 2023 11:45:49 -0500 Subject: [PATCH 216/360] DEVDOCS-5098: [update] Update query params for Get all brands (#1360) Co-authored-by: Andrea Dao --- reference/catalog/brands_catalog.v3.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index 9d2571e52..dc647edb7 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -113,6 +113,12 @@ paths: Filter items by name. schema: type: string + - name: name:like + in: query + description: |- + Filter items by part of a name. For example, `name:like=new` returns brands with names that include `new`. + schema: + type: string - name: page_title in: query description: | @@ -139,6 +145,13 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string + - name: sort + in: query + description: 'Field name to sort by.' + schema: + type: string + enum: + - name responses: '200': description: '' From cca8b4aa6bc04390e9b926403671a5679a329a22 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 28 Jun 2023 12:09:38 -0500 Subject: [PATCH 217/360] DEVDOCS-4848: [update] Update field_id definition (#1364) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/checkouts.v3.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 9db89a20d..038299a73 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -8671,10 +8671,12 @@ components: properties: field_id: type: string - description: '' + description: 'You must provide the form field ID value as the `field_id`.' field_value: - type: string + type: string description: 'This can also be an array for fields that need to support a list of values (e.g., a set of check boxes.)' + required: + - field_id line_items: type: array description: '' From c22ea44221310423449ae10c5b34281d6ed14515 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 3 Jul 2023 15:28:08 -0500 Subject: [PATCH 218/360] DEVDOCS-4434: [revise] PriceLists, price lists records, product variant/multiple SKUs (#1355) Co-authored-by: Traci Porter --- reference/price_lists.v3.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 3414ea479..8974ac2aa 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1401,7 +1401,8 @@ paths: **Notes** - * Batch updates are supported by this endpoint, meaning that several price objects can be updated in one request. This allows you to do the same work as many individual requests to singleton endpoints + * Batch updates are supported by this endpoint, meaning you can update several price objects in one request. This update allows you to do the same work as many individual requests to singleton endpoints. + * When updating a product with variants, or multiple SKUs, don't include records for the parent product SKU. * Batch requests support up to 1,000 items per request. * Up to 2 concurrent batch upsert requests are supported with this API. Running more than the allowed concurrent requests in parallel on the **same store** will cause a `429` error, and your additional requests will fail. You are encouraged to run requests sequentially with as many records per request as possible to maximize performance. operationId: setPriceListRecordCollection From c0ffa67a4913d289e92fc4481e759b81f59f5c1b Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 6 Jul 2023 11:01:41 -0500 Subject: [PATCH 219/360] DEVDOCS-4881 [update] Orders v2, Update schema for Order Products (#1370) --- reference/orders.v2.oas2.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 2d7aecc71..fa4a1be8d 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -3345,6 +3345,10 @@ components: type: boolean description: Whether the product has been refunded. example: false + quantity_refunded: + type: number + description: The total quantity of product refunded from this transaction. + example: 0 refunded_amount: type: string description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) From 9eb1853881b5f742afebf0bf5d3859f02e04b55a Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 10 Jul 2023 15:49:44 -0500 Subject: [PATCH 220/360] DEVDOCS-5198 [revise] Ordersv2, Update an Order, Removing a product from an order (#1371) Co-authored-by: Sarah Riehl --- reference/orders.v2.oas2.yml | 49 ++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index fa4a1be8d..0849c3558 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -169,8 +169,9 @@ paths: Removing a product from an order: value: products: - - product_id: 123 - quantity: 0 + - id: 117 + product_id: 123 + quantity: 1 product_options: id: 56 value: 12 @@ -4578,8 +4579,8 @@ components: $ref: '#/components/schemas/formFields' orderCustomProduct_Put: type: object - title: orderCustomProduct_Put - description: | + title: Custom product + description: |- **Usage notes:** To `add` a custom product to an existing order, don't include `id` in the payload. You must provide a non-empty value for at least one of these fields: `name`, `name_customer`, or `name_merchant`. @@ -4627,7 +4628,7 @@ components: - price_inc_tax x-internal: false orderCatalogProduct_Put: - title: orderCatalogProduct_Put + title: Catalog product description: | **Usage notes** @@ -4650,6 +4651,43 @@ components: description: The order product `id`. To add a product to an existing order, donʼt include `id` in the payload. `id` is required when updating an order product. - $ref: '#/components/schemas/orderCatalogProduct_Post' x-internal: false + orderRemoveProduct_Put: + title: Remove Product from Order + type: object + properties: + id: + type: integer + description: |- + The `id` returned from a request to the [List order products](/docs/rest-management/orders/order-products#list-order-products) or the [Get an order product](/docs/rest-management/orders/order-products#get-an-order-product) endpoint. + example: 123 + product_id: + type: integer + description: The numeric ID of the product. + example: 117 + quantity: + type: number + description: The quantity of product being removed. + example: 1 + product_options: + type: array + description: List of product variant options and modifiers. `product_options` are required when removing a product with variants and not specifying the `variant_id`, or when products have mandatory modifiers. + items: + type: object + properties: + cost_price_inc_tax: + type: string + description: |- + The product’s cost price including tax. (Float, Float-As-String, Integer) + The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. Read Only. + readOnly: true + example: '0.0000' + price_ex_tax: + type: string + description: |- + The products cost price excluding tax. (Float, Float-As-String, Integer) + The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. Read Only. + readOnly: true + example: '0.0000' orderCatalogProduct_Post: title: orderCatalogProduct_Post description: | @@ -4928,6 +4966,7 @@ components: anyOf: - $ref: '#/components/schemas/orderCatalogProduct_Put' - $ref: '#/components/schemas/orderCustomProduct_Put' + - $ref: '#/components/schemas/orderRemoveProduct_Put' refunded_amount: description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) example: '0.0000' From 3200fe34f87dd79f4963ef4130a1d527388fa052 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:55:12 -0500 Subject: [PATCH 221/360] DEVDOCS-5020 [update]: Catalog API, add display_name (#1373) --- reference/catalog/product-modifiers_catalog.v3.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reference/catalog/product-modifiers_catalog.v3.yml b/reference/catalog/product-modifiers_catalog.v3.yml index b8f0c820a..374c60cf9 100644 --- a/reference/catalog/product-modifiers_catalog.v3.yml +++ b/reference/catalog/product-modifiers_catalog.v3.yml @@ -948,7 +948,7 @@ paths: required: type: boolean description: | - Whether or not this modifer is required or not at checkout. Required in a /POST. + Whether or not this modifier is required or not at checkout. Required in a /POST. x-required: - post sort_order: @@ -1103,6 +1103,11 @@ paths: description: | The unique numeric ID of the value; increments sequentially. description: 'Part of Modifier Value Response ' + display_name: + type: string + description: | + The name of the option shown on the storefront. + example: Donation description: Common Modifier properties. required: true responses: From be5d869e0c463e956891027f849a0e9ecc1cd9a5 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 17 Jul 2023 10:42:56 -0500 Subject: [PATCH 222/360] DEVDOCS-5069: [update] added brands (#1378) --- reference/checkouts.sf.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 9f522390a..41fea9438 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -2838,6 +2838,9 @@ components: type: number description: The total value of all discounts applied to this item (excluding coupon). format: double + brand: + type: string + description: The product's brand. couponAmount: type: number description: The total value of all coupons applied to this item. From bd3aba581e843f5aac80aee79ad4f70d90efa74f Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 17 Jul 2023 16:55:22 -0500 Subject: [PATCH 223/360] DEVDOCS-5230 [update] /v2/orders, support include of consignments and consignments.line_items (#1380) Co-authored-by: Willem Homan --- reference/orders.v2.oas2.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 0849c3558..f0ccf020f 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -76,6 +76,17 @@ paths: summary: Get an Order tags: - Orders + parameters: + - name: include + in: query + description: |- + * `consignments` - include the response returned from the request to the `/orders/{order_id}/consignments` endpoint. + * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. This implies `include=consignments`. + schema: + type: string + enum: + - consignments + - consignments.line_items responses: '200': $ref: '#/components/responses/order_Resp' @@ -899,6 +910,14 @@ paths: name: order_id in: path required: true + - name: include + in: query + description: |- + * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. + schema: + type: string + enum: + - consignments.line_items get: summary: Get Consignments tags: From ac49c6f32e88c84a8a5719fba29aae95466fc22d Mon Sep 17 00:00:00 2001 From: Willem Homan Date: Wed, 19 Jul 2023 04:00:31 +1000 Subject: [PATCH 224/360] DEVDOCS-5230 Add includes for GET all Orders and Create Order (#1381) --- reference/orders.v2.oas2.yml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index f0ccf020f..5160277c9 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -77,16 +77,7 @@ paths: tags: - Orders parameters: - - name: include - in: query - description: |- - * `consignments` - include the response returned from the request to the `/orders/{order_id}/consignments` endpoint. - * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. This implies `include=consignments`. - schema: - type: string - enum: - - consignments - - consignments.line_items + - $ref: '#/components/parameters/order_includes' responses: '200': $ref: '#/components/responses/order_Resp' @@ -245,6 +236,7 @@ paths: - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/is_deleted' - $ref: '#/components/parameters/channel_id' + - $ref: '#/components/parameters/order_includes' responses: '200': $ref: '#/components/responses/orderCollection_Resp' @@ -279,6 +271,7 @@ paths: - Orders parameters: - $ref: '#/components/parameters/ContentType' + - $ref: '#/components/parameters/order_includes' requestBody: content: application/json: @@ -1240,6 +1233,17 @@ components: description: Shipping consignment ID. schema: type: integer + order_includes: + name: include + in: query + description: |- + * `consignments` - include the response returned from the request to the `/orders/{order_id}/consignments` endpoint. + * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. This implies `include=consignments`. + schema: + type: string + enum: + - consignments + - consignments.line_items responses: orderStatusCollection_Resp: description: Get All Order Status Collection Response. From 28286b1825b30052b5df14623238f904fc713868 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 18 Jul 2023 13:28:40 -0500 Subject: [PATCH 225/360] DEVDOCS-5073: [update] change lineItems from array to an object (#1379) --- reference/checkouts.sf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 41fea9438..ab4838cec 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -2771,7 +2771,7 @@ components: description: The discounted amount applied within a given context. format: double lineItems: - type: array + type: object description: '' items: title: Line Item From 60e4dbfa2a85f2ed6328902af2da2a03d5a5f9de Mon Sep 17 00:00:00 2001 From: Andrew Chan Date: Thu, 20 Jul 2023 03:02:33 +1000 Subject: [PATCH 226/360] DEVDOCS-5219 [update]: Shipping Provider API, Provide examples for shipping provider API for carrier connection endpoint (#1372) --- reference/shipping.v2.yml | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index 74dbe6cbb..8fc5aff7f 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -1539,7 +1539,7 @@ paths: Example response: - + ```json { "name": "Rate per Weight", @@ -1904,6 +1904,32 @@ paths: Royal Mail has no connection object properties. + ### Shipping Provider API + + Please note that this endpoint is not intended for adding connection settings. + + Its purpose is solely to establish a connection between your BigCommerce store and the carrier. If the carrier has no connection settings configured, please leave the connection property empty. However, if the carrier already has connection settings configured, you can utilize this endpoint to establish the connection using the existing connection properties. + + PUT or POST example request when your carrier is not configured with any connection settings: + + ```json filename="No connection settings configured" showLineNumbers copy + { + "carrier_id" : "carrier_{your_carrier_id}", + "connection" : {} + } + ``` + + PUT or POST example request when your carrier is configured with connection settings: + + ```json filename="Connection settings configured" showLineNumbers copy + { + "carrier_id" : "carrier_{your_carrier_id}", + "connection" : { + "your_configured_key_1": "value_1", + "your_configured_key_2": "value_2 + } + } + ``` ### Zoom2U From 21b38d18202cca68ef4ee5a3fd383d0ecee319b3 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 19 Jul 2023 12:57:33 -0500 Subject: [PATCH 227/360] DEVDOCS-5085: [revise] update paths to include /pricelists/records (#1368) Co-authored-by: Traci Porter Co-authored-by: Sarah Riehl --- reference/price_lists.v3.yml | 1669 +++++----------------------------- 1 file changed, 215 insertions(+), 1454 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 8974ac2aa..7ae1e06e8 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -5,13 +5,11 @@ info: Populate different versions of catalog pricing and assign them to different [customer groups](/docs/rest-management/customers-v2/customer-groups) at the variant level. ## Price Lists - You can associate a Price List with a customer group either through the control panel or by using the [Customer Groups API](/docs/rest-management/customers-v2/customer-groups). You can create [Price List Assignments](/docs/rest-management/price-lists/price-lists-assignments#create-price-list-assignments) to assign Price Lists to a specific [channel](/docs/rest-management/channels/channel-listings). Price Lists assigned to a channel apply to all shoppers on that channel, unless there are more specific assignments or customer group discounts set up for the shopper's customer group. If an active Price List does not contain prices for a variant, the catalog pricing will be used. - Price Lists provide overridden price values to the Stencil storefront. You can further customize the final price display using Stencil's [handlebars objects](/theme-objects). To learn more about Price Lists, see [Price Lists API](/api-docs/store-management/price-list-overview). @@ -19,37 +17,37 @@ info: ## Price Lists Assignments ### Order of operations - + **IF** Price List assigned to current customer group **AND** Price List assigned to current channel: * Use this Price List -- any prices not found fall back to the catalog price (or in the case of multi-currency, auto-converted prices) - + **ELSE IF** Price List assigned to current customer group: * Use this Price List -- any prices not found fall back to the catalog price (or in the case of multi-currency, auto-converted prices) - + **ELSE IF** Customer group discounts: * Use them -- any prices not found fall back to the catalog price (or in the case of multi-currency, auto-converted prices) - + **ELSE IF** Channel has a default Price List: * Use this Price List -- any prices not found fall back to the catalog price (or in the case of multi-currency, auto-converted prices) - + **ELSE**: * Fall back to the catalog price (or in the case of multi-currency, auto-converted prices) ## Usage notes - - Price Lists cannot be assigned to a customer group that has customer group discounts -- the customer group discounts must be deleted first. + + - You cannot assign Price Lists to a customer group with customer group discounts -- You must delete the customer group discounts first. - Bulk pricing Tiers may additionally be associated with a price record to indicate different pricing as the quantity in the cart increases. - - If a variant has a Price Record, any existing product-level bulk pricing will not apply in the cart. For variants without Price Records, any existing product bulk pricing will apply. + - If a variant has a Price Record, any existing product-level bulk pricing will not apply to the cart. For variants without Price Records, any existing product bulk pricing will apply. - [Price Lists Records](/docs/rest-management/price-lists/price-lists-records) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one bulk upsert in parallel on the **same store** will cause a `429` error and the request will fail. - There are webhooks available for Price Lists assignments. The price list assignment webhook fires when a price list assignment is assigned, reassigned, or unassigned. Note that since Price Lists directly relate to products, neither product nor SKU webhooks are going to fire for corresponding changes, such as pricing. ## Additional information ### Webhooks - - * [Price list assignments] (/api-docs/channels/guide/webhooks#price-list-assignments) + + * [Price list assignments](/api-docs/channels/guide/webhooks#price-list-assignments) * [Products](/api-docs/store-management/webhooks/events#products) * [SKU](/api-docs/store-management/webhooks/events#sku) - ### Related endpoints * [Get All Price Lists](/docs/rest-management/price-lists#get-all-price-lists) termsOfService: 'https://www.bigcommerce.com/terms' @@ -69,7 +67,6 @@ security: - X-Auth-Token: [] tags: - name: Price Lists - description: BigCommerce Price Lists API Definition. - name: Price Lists Assignments - name: Price Lists Records paths: @@ -433,7 +430,6 @@ paths: The error title describing the particular error. type: type: string - x-codegen-request-body-name: PriceList delete: tags: - Price Lists @@ -748,14 +744,12 @@ paths: The error title describing the particular error. type: type: string - x-codegen-request-body-name: PriceList delete: tags: - Price Lists summary: Delete a Price List description: |- Deletes a *Price List*. All associated price records are also removed. - **Limits** * Limit of 1 concurrent request. operationId: deletePriceList @@ -770,6 +764,37 @@ paths: responses: '204': description: Action has been enacted and no further information is to be supplied. `null` is returned. + '/pricelists/records': + parameters: + - $ref: '#/components/parameters/Accept' + put: + tags: + - Price Lists Records + description: Creates a batch of `Price List Records`; may include price list records from more than one price list. Concurrency limit of 1. + operationId: UpsertPriceListRecords + requestBody: + description: A BigCommerce `PriceRecord` request. + content: + application/json: + schema: + $ref: '#/components/schemas/PriceRecordCollectionPutWithPriceListId' + required: true + responses: + '200': + description: | + Success response for batch PUT of `Price Records`. + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessBatchResponse' + '422': + description: | + Error response for batch PUT of `Price Records`. May include errors during partial update in non-strict mode. + content: + application/json: + schema: + $ref: '#/components/schemas/PriceRecordBatchErrorResponse' + x-codegen-request-body-name: PriceRecordBatch '/pricelists/{price_list_id}/records': parameters: - $ref: '#/components/parameters/Accept' @@ -974,6 +999,7 @@ paths: The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double example: 24.64 + readOnly: true date_created: type: string description: | @@ -989,8 +1015,9 @@ paths: product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The ID of the `Product` this `Price Record`ʼs `variant_id` is associated with. Read only. example: 158 + readOnly: true - title: Price Record Identifiers type: object description: Price Record object used in batch create or update. @@ -1005,12 +1032,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or SKU is required. + The variant with which this price set is associated. Either `variant_id` or `sku` is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either SKU or variant_id is required. + The variant with which this price set is associated. Either `sku` or `variant_id` is required. currency: type: string description: | @@ -1395,16 +1422,12 @@ paths: summary: Upsert Price List Records description: |- Creates or updates *Price List Records*. - **Required Fields** * currency - **Notes** - - * Batch updates are supported by this endpoint, meaning you can update several price objects in one request. This update allows you to do the same work as many individual requests to singleton endpoints. - * When updating a product with variants, or multiple SKUs, don't include records for the parent product SKU. * Batch requests support up to 1,000 items per request. * Up to 2 concurrent batch upsert requests are supported with this API. Running more than the allowed concurrent requests in parallel on the **same store** will cause a `429` error, and your additional requests will fail. You are encouraged to run requests sequentially with as many records per request as possible to maximize performance. + * When updating a product with variants, or multiple SKUs, don't include records for the parent product SKU. operationId: setPriceListRecordCollection parameters: - name: price_list_id @@ -1436,12 +1459,12 @@ paths: variant_id: type: integer description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. + The variant ID with which this price set is associated. Either `variant_id` or `sku` is required. example: 331 sku: type: string description: | - The SKU for the variant with which this price set is associated. Either SKU or variant_id is required. + The SKU for the variant with which this price set is associated. Either `sku` or `variant_id` is required. example: SMB-123 currency: type: string @@ -1564,12 +1587,12 @@ paths: variant_id: type: integer description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. + The variant ID with which this price set is associated. Either `variant_id` or `sku` is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either SKU or variant_id is required. + The variant with which this price set is associated. Either `sku` or `variant_id` is required. currency: type: string description: | @@ -1693,6 +1716,7 @@ paths: The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double example: 24.64 + readOnly: true date_created: type: string description: | @@ -1708,8 +1732,9 @@ paths: product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The ID of the `Product` this `Price Record`ʼs `variant_id` is associated with. Read only. example: 158 + readOnly: true - title: Price Record Identifiers description: Price Record object used in batch create or update. properties: @@ -1721,12 +1746,12 @@ paths: variant_id: type: integer description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. + The variant ID with which this price set is associated. Either `variant_id` or `sku` is required. example: 325 sku: type: string description: | - The variant ID with which this price set is associated. Either SKU or variant_id is required. + The variant ID with which this price set is associated. Either `sku` or `variant_id` is required. currency: type: string description: | @@ -1878,7 +1903,6 @@ paths: summary: Get a Price Record by Currency Code description: |- Returns a *Price List Record* using the currency code. You can use optional parameters. - **Notes** * Supports up to 40 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. operationId: getPriceListRecord @@ -1908,7 +1932,8 @@ paths: - name: include in: query description: | - Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other valies will be ignored. + Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. + Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. schema: type: string enum: @@ -1936,6 +1961,7 @@ paths: The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. format: double example: 24.64 + readOnly: true date_created: type: string description: | @@ -1951,8 +1977,9 @@ paths: product_id: type: integer description: | - The ID of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The ID of the `Product` this `Price Record`ʼs `variant_id` is associated with. Read only. example: 158 + readOnly: true - title: Price Record Identifiers type: object description: Price Record object used in batch create or update requests. @@ -1967,12 +1994,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or SKU is required. + The variant with which this price set is associated. Either `variant_id` or `sku` is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either SKU or variant_id is required. + The variant with which this price set is associated. Either `sku` or `variant_id` is required. currency: type: string description: | @@ -2086,7 +2113,6 @@ paths: summary: Set Price List Record by Currency Code description: |- Creates or updates a *Price List Record* using the currency code. - **Notes** * Supports up to 40 simultaneous PUT requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. operationId: setPriceListRecord @@ -2203,6 +2229,7 @@ paths: description: | The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. example: 24.64 + readOnly: true date_created: type: string format: date-time @@ -2218,8 +2245,9 @@ paths: product_id: type: integer description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. + The ID of the `Product` this `Price Record`ʼs `variant_id` is associated with. Read only. example: 158 + readOnly: true - description: Price Record object used in a batch create or update request. allOf: - properties: @@ -2231,12 +2259,12 @@ paths: variant_id: type: integer description: | - The variant with which this price set is associated. Either variant_id or SKU is required. + The variant with which this price set is associated. Either `variant_id` or `sku` is required. example: 325 sku: type: string description: | - The variant with which this price set is associated. Either SKU or variant_id is required. + The variant with which this price set is associated. Either `sku` or `variant_id` is required. currency: type: string format: ISO-4217 @@ -2426,7 +2454,6 @@ paths: type: /api-docs/getting-started/api-status-codes errors: {} examples: {} - x-codegen-request-body-name: PriceRecord delete: tags: - Price Lists Records @@ -2548,7 +2575,6 @@ paths: - Price Lists Assignments description: |- Creates a batch of `Price List Assignments`. - **Note:** The batch limit for `Price List Assignments` is 25. summary: Create Price List Assignments operationId: CreatePriceListAssignments @@ -2623,137 +2649,6 @@ components: description: Filter results by a comma-separated list of `channel_id`s. schema: type: string - FilterIdParam: - name: id - description: | - Filter items by id. - required: false - in: query - schema: - type: integer - FilterSkuParam: - name: sku - description: | - Filter items by SKU. - required: false - in: query - schema: - type: string - FilterProductIdParam: - schema: - type: string - name: 'product_id:in' - in: query - required: false - description: | - A comma-separated list of IDs of `Product`s for which prices were requested. - FilterNameParam: - name: name - description: | - Filter items by name. - required: false - in: query - schema: - type: string - FilterPriceParam: - name: price - description: | - Filter items by price. - required: false - in: query - schema: - type: number - FilterSalePriceParam: - name: sale_price - description: | - Filter items by sale_price. - required: false - in: query - schema: - type: number - FilterRetailPriceParam: - name: retail_price - description: | - Filter items by retail_price. - required: false - in: query - schema: - type: number - FilterMapPriceParam: - name: map_price - description: | - Filter items by map_price. - required: false - in: query - schema: - type: number - FilterCalculatedPriceParam: - name: calculated_price - description: | - Filter items by calculated_price. - required: false - in: query - schema: - type: number - VariantIdParam: - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - FilterDateModifiedParam: - name: date_modified - description: 'Filter items by date_modified. For example `v3/catalog/products?date_last_imported:min=2022-06-15`' - required: false - in: query - schema: - type: string - format: date-time - FilterDateCreatedParam: - name: date_created - description: | - Filter items by date_created. - required: false - in: query - schema: - type: string - format: date-time - FilterIncludePriceRecordParam: - name: include - description: | - Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. - required: false - in: query - schema: - type: string - enum: - - bulk_pricing_tiers - - sku - FilterCurrencyParam: - name: currency - description: | - Filter items by currency. - required: false - in: query - schema: - type: string - format: ISO-4217 - PageParam: - name: page - description: Specifies the page number in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer - LimitParam: - name: limit - description: Controls the number of items per page in a limited (paginated) list of products. - required: false - in: query - schema: - type: integer PriceListIdParam: schema: type: integer @@ -2762,22 +2657,6 @@ components: description: | The ID of the `Price List` requested. required: true - PriceRecordCurrencyParam: - name: currency_code - in: path - description: | - The currency code associated with the price record being acted upon. - required: true - schema: - type: string - format: ISO-4217 - FilterVariantIdParam: - schema: - type: integer - name: 'variant_id:in' - in: query - required: false - description: The ID of the `Variant` for which prices were requested. Accept: name: Accept in: header @@ -2889,6 +2768,114 @@ components: example: 2 meta: $ref: '#/components/schemas/Meta' + PriceRecordCollectionPutWithPriceListId: + type: array + items: + $ref: '#/components/schemas/PriceRecordBatchItem' + PriceRecordBatchItem: + description: The `Price Record` object used in batch create or update. + allOf: + - type: array + items: + $ref: '#/components/schemas/PriceRecordBase' + properties: + price_list_id: + type: integer + description: The price list ID the price record is associated with. + variant_id: + type: integer + description: The price list with which the price record is associated. Either `variant_id` or `sku` is required. + sku: + type: string + description: The SKU for the variant with which this price record is associated. Either `sku`` or `variant_id is required. + currency: + type: string + description: The 3-letter country code with which this price record is associated. + format: ISO:4217 + PriceRecordBase: + type: object + properties: + price: + type: number + description: The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + + format: double + sale_price: + type: number + description: The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. + format: double + retail_price: + type: number + description: The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. + format: double + map_price: + type: number + description: The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the `map_ price` will be treated as not being set on this variant. + format: double + bulk_pricing_tiers: + type: array + items: + $ref: '#/components/schemas/BulkPricingTier' + description: Common Price Record properties. + BulkPricingTier: + type: object + properties: + quantity_min: + type: integer + description: The cart's minimum quantity of associated variants needed to qualify for this tier's pricing. + quantity_max: + type: integer + description: The cart's maximum allowed quantity of associated variants to qualify for this tier's pricing. + type: + type: string + description: |- + The type of adjustment that is made. + Acceptable values: + * price – the adjustment amount per product + * percent – the adjustment as a percentage of the original price + * fixed – the adjusted absolute price of the product + enum: + - fixed + - price + - percent + amount: + type: number + description: The price adjustment amount. This value and the type will decide the price per variant for the pricing tier. + format: double + SuccessBatchResponse: + type: object + description: Empty object for Success case for Batch API. + PriceRecordBatchErrorResponse: + type: object + properties: + data: + $ref: '#/components/schemas/PriceRecordIdentifiers' + field_errors: + $ref: '#/components/schemas/DetailedErrors' + description: Error during `Price Record` batch PUT. Includes data sent in the request and errors. + PriceRecordIdentifiers: + type: object + description: The `Price Record` object used in batch create or update. + allOf: + - type: object + properties: + price_list_id: + type: integer + description: The Price List with which this price record is associated. + variant_id: + type: integer + description: The variant with which this price record is associated. Either `variant_id`` or `sku` is required. + sku: + type: string + description: The variant with which this price record is associated. Either `sku`` or `variant_id`` is required. + currency: + type: string + description: The 3-letter currency code with which this price set is associated. + format: ISO-4217 + DetailedErrors: + type: object + additionalProperties: + type: string PriceListAssignmentsBatchErrorResponse: type: object x-internal: false @@ -2944,1249 +2931,60 @@ components: meta: $ref: '#/components/schemas/CollectionMeta' x-internal: false - PriceListCollectionResponse: - description: Get All PriceLists. + CollectionMeta: type: object + description: 'Data related the response, including pagination and collection totals.' properties: - data: - type: array - items: - allOf: - - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; this number increments sequentially. - example: 3 - date_created: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2022-04-05T16:05:12Z' - date_modified: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2022-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in a POST request. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: Price List - type: object - meta: + pagination: type: object - description: 'Data about the response, including pagination and collection totals.' + description: 'Data related to the response, including pagination and collection totals.' + title: Pagination properties: - pagination: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + links: type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination + description: | + Pagination links for the previous and next parts of the whole collection. properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - title: Collection Meta - title: PriceList Collection Response - x-internal: false - PriceListResponse: - description: |- - PriceList Response returns for: - - * Create a PriceList - * Get a PriceList - * Update a PriceList - type: object - properties: - data: - allOf: - - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: + previous: type: string - format: date-time description: | - The date on which the `Price List` was created. - example: '2022-04-05T16:05:12Z' - date_modified: + Link to the previous page returned in the response. + current: type: string - format: date-time description: | - The date on which the `Price List` was created. - example: '2022-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in a POST request. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: Price List - type: object - meta: - $ref: '#/components/schemas/Meta' - title: Price List Response - x-internal: false - PriceListBase: - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in a POST request. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - x-internal: false - PriceList: - allOf: - - properties: - id: - type: integer - description: | - The unique numeric ID of the `Price List`; increments sequentially. - example: 3 - date_created: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2022-04-05T16:05:12Z' - date_modified: - type: string - format: date-time - description: | - The date on which the `Price List` was created. - example: '2022-04-05T16:05:12Z' - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in a POST request. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: Price List - type: object - x-internal: false - PriceListPost: - type: object - allOf: - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in a POST request. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - required: - - name - title: PriceList Post - description: 'Creates a Price List. ' - x-internal: false - PriceListPut: - type: object - allOf: - - type: object - description: Common Price List properties. - title: PriceList Base - properties: - name: - type: string - description: | - The unique name of the Price List. Required in a POST request. - x-required: - - post - example: Wholesale - active: - type: boolean - description: | - Whether or not this `Price List` and its prices are active. Defaults to `true`. - example: true - required: - - name - title: PriceList Put - description: Update a PriceList - x-internal: false - PriceRecordCollectionResponse: - description: |- - PriceRecord Collection Response returns for: - * Get All PriceList Records - * Get PriceList Records by Variant Id - type: object - properties: - data: - type: array - items: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2022-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2022-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. - example: 325 - sku: - type: string - description: | - The SKU with which this price set is associated. Either SKU or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this pricing of this tier. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for the pricing of this tier. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record - type: object - meta: - type: object - description: 'Data about the response, including pagination and collection totals.' - properties: - pagination: - type: object - description: 'Data about the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - title: Collection Meta - title: PriceRecord Collection Response - x-internal: false - PriceRecordResponse: - description: Response payload for the BigCommerce API. - type: object - properties: - data: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2022-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2022-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant_id with which this price set is associated. Either variant_id or SKU is required. - example: 325 - sku: - type: string - description: | - The SKU with which this price set is associated. Either SKU or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record - type: object - meta: - $ref: '#/components/schemas/Meta' - title: Price Record Response - x-internal: false - PriceRecordBase: - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - x-internal: false - PriceRecord: - description: The Price Record object. - allOf: - - properties: - calculated_price: - type: number - format: double - description: | - The price of the variant as seen on the storefront if a price record is in effect. It will be equal to the `sale_price`, if set, and the `price` if there is not a `sale_price`. Read only. - example: 24.64 - date_created: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2022-08-23T19:59:23Z' - date_modified: - type: string - format: date-time - description: | - The date on which the Price entry was created. - example: '2022-08-23T19:59:23Z' - product_id: - type: integer - description: | - The id of the `Product` this `Price Record`'s variant_id is associated with. Read only. - example: 158 - - description: Price Record object used in batch create or update. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. - example: 325 - sku: - type: string - description: | - The SKU with which this price set is associated. Either SKU or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record - type: object - x-internal: false - BulkPricingTier: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this pricing tier. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this pricing tier. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value together with the adjustment type determines the price per variant for the pricing tier. - example: 3 - x-internal: false - PriceRecordPut: - type: object - allOf: - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for the pricing of this tier. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for the pricing of this tier. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value along with the type will decide the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: Price Record Put - x-internal: false - PriceRecordCollectionPut: - type: array - items: - description: Price Record object used in a batch create or update request. - allOf: - - properties: - variant_id: - type: integer - description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. - example: 331 - sku: - type: string - description: | - The SKU for the variant with which this price set is associated. Either SKU or variant_id is required. - example: SMB-123 - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this pricing tier. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this pricing tier. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value together with the adjustment type will determine the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: PriceRecord Batch Item - type: object - title: Price Record Collection Put - x-internal: false - PriceRecordBatchItem: - description: Price Record object used in batch create or update request. - allOf: - - properties: - variant_id: - type: integer - description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. - example: 331 - sku: - type: string - description: | - The SKU for the variant with which this price set is associated. Either SKU or variant_id is required. - example: SMB-123 - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - - type: object - description: Common Price Record properties. - title: PriceRecord Base - properties: - price: - type: number - format: double - description: | - The list price for the variant mapped in a Price List. Overrides any existing or Catalog list price for the variant/product. - x-required: - - put - example: 3.99 - sale_price: - type: number - format: double - description: | - The sale price for the variant mapped in a Price List. Overrides any existing or Catalog sale price for the variant/product. If empty, the sale price will be treated as not being set on this variant. - retail_price: - type: number - format: double - description: | - The retail price for the variant mapped in a Price List. Overrides any existing or Catalog retail price for the variant/product. If empty, the retail price will be treated as not being set on this variant. - map_price: - type: number - format: double - description: | - The MAP (Minimum Advertised Price) for the variant mapped in a Price List. Overrides any existing or Catalog MAP price for the variant/product. If empty, the MAP price will be treated as not being set on this variant. - bulk_pricing_tiers: - type: array - items: - type: object - title: Bulk Pricing Tier - properties: - quantity_min: - type: integer - description: | - The minimum quantity of associated variant in the cart needed to qualify for this pricing tier. - example: 1 - quantity_max: - type: integer - description: | - The maximum allowed quantity of associated variant in the cart to qualify for this pricing tier. - example: 10 - type: - type: string - enum: - - fixed - - price - - percent - description: | - The type of adjustment that is made. Acceptable values: price – the adjustment amount per product; percent – the adjustment as a percentage of the original price; fixed – the adjusted absolute price of the product. - example: price - amount: - type: number - format: double - description: | - The price adjustment amount. This value together with the adjustment type will determine the price per variant for the pricing tier. - example: 3 - sku: - type: string - description: | - The SKU code associated with this `Price Record` if requested and it exists. - example: SMB-123 - title: PriceRecord Batch Item - type: object - x-internal: false - PriceRecordIdentifiers: - description: Price Record object used in batch create or update request. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. - example: 325 - sku: - type: string - description: | - The SKU with which this price set is associated. Either SKU or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - x-internal: false - SuccessBatchResponse: - type: object - description: Empty object. - title: Success Batch Response - x-internal: false - PriceRecordBatchErrorResponse: - description: Errors during batch usage for the BigCommerce API. - type: object - properties: - batch_errors: - type: array - items: - description: Error during Price Record batch PUT request. Includes data sent in the request and errors. - type: object - properties: - data: - description: Price Record object used in a batch create or update request. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. - example: 325 - sku: - type: string - description: | - The SKU with which this price set is associated. Either SKU or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - field_errors: - type: object - properties: {} - additionalProperties: true - title: Detailed Errors - title: PriceRecord Batch Error Set - title: PriceRecord Batch Error Response - x-internal: false - PriceRecordBatchErrorSet: - description: Error during Price Record batch PUT request. Includes data sent in the request and errors. - type: object - properties: - data: - description: Price Record object used in batch create or update request. - allOf: - - properties: - price_list_id: - type: integer - description: | - The Price List with which this price set is associated. - example: 2 - variant_id: - type: integer - description: | - The variant ID with which this price set is associated. Either variant_id or SKU is required. - example: 325 - sku: - type: string - description: | - The SKU with which this price set is associated. Either SKU or variant_id is required. - currency: - type: string - format: ISO-4217 - description: | - The 3-letter currency code with which this price set is associated. - example: usd - title: Price Record Identifiers - type: object - field_errors: - type: object - properties: {} - additionalProperties: true - title: Detailed Errors - title: PriceRecord Batch Error Set - x-internal: false - CollectionMeta: - type: object - description: 'Data related the response, including pagination and collection totals.' - properties: - pagination: - type: object - description: 'Data related to the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: + Link to the current page returned in the response. + example: '?page=1&limit=50' + next: type: string description: | Link to the next page returned in the response. title: Collection Meta x-internal: false - Pagination: - type: object - description: 'Data related to the response, including pagination and collection totals.' - title: Pagination - properties: - total: - type: integer - description: | - Total number of items in the result set. - example: 36 - count: - type: integer - description: | - Total number of items in the collection response. - example: 36 - 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 - links: - type: object - description: | - Pagination links for the previous and next parts of the whole collection. - properties: - previous: - type: string - description: | - Link to the previous page returned in the response. - current: - type: string - description: | - Link to the current page returned in the response. - example: '?page=1&limit=50' - next: - type: string - description: | - Link to the next page returned in the response. - x-internal: false Meta: title: Response meta type: object @@ -4221,42 +3019,6 @@ components: title: Detailed Errors title: Error Response x-internal: false - 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 - title: Base Error - x-internal: false - NotFound: - description: Error payload for the BigCommerce API. - type: object - properties: - status: - description: | - 404 HTTP status code. - type: integer - title: - description: The error title describing the particular error. - type: string - type: - type: string - instance: - type: string - title: Not Found - x-internal: false CreateBatchPriceListAssignmentsRequest: type: array description: Batch of price list assignments. @@ -4289,4 +3051,3 @@ components: For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). type: apiKey in: header - From 90627e9b88b6caf246070405fb599f6446f8e1f5 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 20 Jul 2023 11:15:07 -0500 Subject: [PATCH 228/360] Add summary to PUT endpoint (#1385) --- reference/price_lists.v3.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 7ae1e06e8..2d223c547 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -36,7 +36,7 @@ info: ## Usage notes - You cannot assign Price Lists to a customer group with customer group discounts -- You must delete the customer group discounts first. - - Bulk pricing Tiers may additionally be associated with a price record to indicate different pricing as the quantity in the cart increases. + - Bulk pricing Tiers can additionally be associated with a price record to indicate different pricing as the quantity in the cart increases. - If a variant has a Price Record, any existing product-level bulk pricing will not apply to the cart. For variants without Price Records, any existing product bulk pricing will apply. - [Price Lists Records](/docs/rest-management/price-lists/price-lists-records) accepts bulk upsert. You can only do one bulk upsert at a time. Running more than one bulk upsert in parallel on the **same store** will cause a `429` error and the request will fail. - There are webhooks available for Price Lists assignments. The price list assignment webhook fires when a price list assignment is assigned, reassigned, or unassigned. Note that since Price Lists directly relate to products, neither product nor SKU webhooks are going to fire for corresponding changes, such as pricing. @@ -770,7 +770,8 @@ paths: put: tags: - Price Lists Records - description: Creates a batch of `Price List Records`; may include price list records from more than one price list. Concurrency limit of 1. + summary: Create Batch of Price Lists Records + description: Creates a batch of `Price Lists Records`; may include price list records from more than one price list. Concurrency limit of 1. operationId: UpsertPriceListRecords requestBody: description: A BigCommerce `PriceRecord` request. From fa30d9503282ebd65d2b152c4762ee9d6538876c Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 20 Jul 2023 12:02:05 -0500 Subject: [PATCH 229/360] Pricelistsrecords (#1386) --- reference/price_lists.v3.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 2d223c547..ad815e6f7 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -774,7 +774,6 @@ paths: description: Creates a batch of `Price Lists Records`; may include price list records from more than one price list. Concurrency limit of 1. operationId: UpsertPriceListRecords requestBody: - description: A BigCommerce `PriceRecord` request. content: application/json: schema: From 4840dc5b708349dc0ccf3f52b9be715a81905b84 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 21 Jul 2023 09:09:46 -0500 Subject: [PATCH 230/360] DEVDOCS-5090: [update] added required fields and updated examples (#1387) Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- .../catalog/product-variants_catalog.v3.yml | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 4cb7c50aa..049336b86 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -1374,7 +1374,21 @@ paths: tags: - Variants (Batch) summary: Update Variants (Batch) - description: 'Updates a batch of `variant` objects. At the time of writing, the limit is 50 variants. This limit is subject to change.' + description: |- + Updates a batch of `variant` objects. Currently the limit is 50 variants however this is subject to change. + + **Required Fields** + + To update an existing variant: + * id (variant id) + + To create a new variant: + * product_id + * sku + * option_values + - id (option_value ID - Example: 146) + - option_id (Option ID - Example: 151) + operationId: updateVariantsBatch parameters: - $ref: '#/components/parameters/ContentType' @@ -1399,30 +1413,35 @@ paths: description: The cost price of the variant. Not affected by Price List prices. format: double x-nullable: true + example: 40 price: minimum: 0 type: number description: 'This variant’s base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product’s default price (set in the Product resource’s `price` field) will be used as the base price.' format: double x-nullable: true + example: 40 sale_price: minimum: 0 type: number description: 'This variant’s sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s sale price (set in the Product resource’s `price` field) will be used as the sale price.' format: double x-nullable: true + example: 40 retail_price: minimum: 0 type: number description: 'This variant’s retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product’s retail price (set in the Product resource’s `price` field) will be used as the retail price.' format: double x-nullable: true + example: 40 weight: minimum: 0 type: number description: 'This variant’s base weight on the storefront. If this value is null, the product’s default weight (set in the Product resource’s weight field) will be used as the base weight.' format: double x-nullable: true + example: 5 width: minimum: 0 type: number @@ -1430,6 +1449,7 @@ paths: Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width. format: double x-nullable: true + example: 5 height: minimum: 0 type: number @@ -1437,6 +1457,7 @@ paths: Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height. format: double x-nullable: true + example: 5 depth: minimum: 0 type: number @@ -1444,6 +1465,7 @@ paths: Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth. format: double x-nullable: true + example: 5 is_free_shipping: type: boolean description: | @@ -1467,6 +1489,7 @@ paths: type: string description: The UPC code used in feeds for shopping comparison sites and external channel integrations. x-nullable: true + example: "1234" inventory_level: type: integer description: |- @@ -1479,11 +1502,13 @@ paths: The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). x-nullable: true maximum: 2147483647 + example: 21474 inventory_warning_level: type: integer description: 'When the variant hits this inventory level, it is considered low stock.' x-nullable: true maximum: 2147483647 + example: 5474 bin_picking_number: maxLength: 255 minLength: 0 @@ -1495,6 +1520,7 @@ paths: properties: id: type: integer + example: 154 x-required: - put required: true From 633e21b45140a6c910629cf741b251d1b94b5153 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 24 Jul 2023 14:08:30 -0500 Subject: [PATCH 231/360] DEVDOCS-4939 [revise] Orders v2, Get All Orders, Add limit details to the endpoint notes (#1389) --- reference/orders.v2.oas2.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 5160277c9..4cf832714 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -214,7 +214,9 @@ paths: **Notes** - The default sort is by order id, from lowest to highest. + * The default sort is by order id, from lowest to highest. + * By default, requests sent without parameters will only return 50 orders. + tags: - Orders parameters: @@ -1238,6 +1240,7 @@ components: in: query description: |- * `consignments` - include the response returned from the request to the `/orders/{order_id}/consignments` endpoint. + * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. This implies `include=consignments`. schema: type: string From 9dfa694c8649b8f6cba0f242430d6bc335a1a05b Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 25 Jul 2023 08:14:59 -0500 Subject: [PATCH 232/360] DEVDOCS-5092: [update] remove Custom product (#1388) --- reference/carts.sf.yml | 45 +----------------------------------------- 1 file changed, 1 insertion(+), 44 deletions(-) diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index 0b4bfe6cd..47bbf9a4b 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -937,50 +937,7 @@ components: - productId - quantity - variantId - title: Product with a variant - - properties: - productId: - type: number - description: ID of the product. - quantity: - type: number - description: Quantity of this item. - variantId: - type: number - optionSelections: - type: array - description: Array of `OptionSelection` objects. - items: - oneOf: - - type: object - properties: - optionId: - type: number - description: 'ID of the option, same as the `nameId`.' - example: 10 - - type: object - properties: - optionValue: - description: 'Value of the option, same as the `valueId`.' - oneOf: - - type: string - example: Small - - type: number - example: 127 - - type: object - properties: - month: - type: string - day: - type: string - year: - type: string - required: - - productId - - quantity - - variantId - - optionSelections - title: Custom product + title: Product with a variant x-examples: example-1: productId: 0 From a48edcb46447e0b205dc00ab2ef053e12f6e1332 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 26 Jul 2023 15:07:26 -0500 Subject: [PATCH 233/360] DEVDOCS-5175: [update] Customers V2, Customer_Groups, add `date created` and `date modified` to GET and POST endpoints (#1392) Co-authored-by: Sarah Riehl --- reference/customers.v2.yml | 180 ++++++++++++++++++++++--------------- 1 file changed, 106 insertions(+), 74 deletions(-) diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index e7c50bf77..d12b8eaf5 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -6,22 +6,23 @@ info: ## Available Endpoints | Resource / Endpoint | Description | - |-----------------------------------------|-------------------------------------------------------------------------------| + |:----------------------------------------|:------------------------------------------------------------------------------| | Customers | Identity and account details for customers shopping on BigCommerce stores | - | Customers Addresses | Postal address belonging to a customer. | + | Customers Addresses | Postal address belonging to a customer | | Customers Groups | Groupings of customers who share the same level of access and discounts | | Customers Validate Password | Validate customer passwords | ## Usage Notes **Customer Groups** * Customer Groups are only available on specific plans. + **Customers vs. Subscribers** * A subscriber is not always a customer. Someone can sign up for the newsletter only and not create an account. * A customer is not always a subscriber. Signing up for the newsletter is a separate action from creating an account and purchasing an item. * A customer and a subscriber can be the same. If a shopper checks out on the storefront, creates an account and opts into the newsletter, they are a customer and a subscriber. ## Resources ### Related APIs / Endpoints - [Customer Login API](/api-docs/customers/customer-login-api) + - [Customer Login API](/api-docs/customers/customer-login-api) - [Current Customer API](/api-docs/customers/current-customer-api) - [Customers API (v3)](/docs/rest-management/customers) - [Subscribers API](/docs/rest-management/subscribers) @@ -55,7 +56,7 @@ paths: tags: - Customers summary: Get All Customers - description: 'Returns a list of all *Customers*. Default sorting is by customer id, from lowest to highest. Optional parameters can be passed in.' + description: Returns a list of all *Customers*. Default sorting is by `customer_ID`, from lowest to highest. Optional parameters can be passed in. operationId: getAllCustomers parameters: - name: first_name @@ -165,12 +166,13 @@ paths: ``` ## Forcing Password Resets To force a customer to reset their password upon their next login attempt, give the `force_reset` field a value of true, as shown here: - ```json + ```js showLineNumbers copy { "_authentication": { "force_reset": true } } + ``` operationId: createANewCustomer parameters: - $ref: '#/components/parameters/ContentType' @@ -183,7 +185,7 @@ paths: _authentication: type: object properties: {} - description: 'This can vary depending on the action being taken to update, validate or force a password change. See Update Customer' + description: This can vary depending on the action being taken to update, validate or force a password change. See [Customers V2, Update a customer (Deprecated)](/docs/rest-management/customers-v2#update-a-customer). company: type: string first_name: @@ -217,7 +219,7 @@ paths: tags: - Customers summary: Delete Customers - description: 'By default, it deletes all *Customers*. Up to 100 customers per batch can be deleted. ' + description: By default, it deletes all *Customers*. Up to 100 customers per batch can be deleted. operationId: deleteAllCustomers responses: '204': @@ -273,6 +275,7 @@ paths: summary: Update a Customer description: |- Updates a *Customer*. + **Read Only Fields** * id * date_created @@ -280,21 +283,25 @@ paths: * accepts_marketing * addresses * form_fields + ## Notes The `_authentication` object exposes functionality associated with the customer’s ability to log in to the store. All properties of the `_authentication` object are optional. When the `_authentication` object is not supplied with an update request, then the existing customer password remains the same. ## Updating Passwords To manually update a customer password in the same way as the control panel, supply a value for the `password` field: - ``` + + ```js showLineNumbers copy { "_authentication": { "password": "12w69Y217PYR96J" } } + ``` + #### Confirming Passwords An additional optional `password_confirmation` field can also be sent, providing password confirmation as a service: - ``` + ```js showLineNumbers copy { "_authentication": { "password": "12w69Y217PYR96J" @@ -304,7 +311,7 @@ paths: ``` #### Forcing Password Resets To force a customer to reset their password upon their next login attempt, give the `force_reset` field a value of true, as shown here: - ``` + ```js showLineNumbers copy { "_authentication": { "force_reset": true @@ -338,7 +345,7 @@ paths: type: string password_confirmation: type: string - description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' + description: Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation. company: type: string description: The name of the company for which the customer works. @@ -368,7 +375,7 @@ paths: Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. store_credit: type: string - description: 'The amount of credit the customer has. (Float, Float as String, Integer)' + description: The amount of credit the customer has. (Float, Float as String, Integer) example: '0' registration_ip_address: type: string @@ -383,10 +390,10 @@ paths: description: Store-owner notes on the customer. tax_exempt_category: type: string - description: 'If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration. ' + description: If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration. accepts_marketing: type: boolean - description: 'If the customer accepts product review emails or abandon cart emails. Read-Only. ' + description: Describes whether the customer accepts product review emails and abandon cart emails. Read-Only. readOnly: true example: true addresses: @@ -410,11 +417,11 @@ paths: properties: name: type: string - description: Name of the form field - example: License Id + description: Name of the form field. + example: License ID value: type: string - description: Value of the form field + description: Value of the form field. example: 123BAF reset_pass_on_login: type: boolean @@ -448,7 +455,7 @@ paths: tags: - Customers summary: Get a Count of Customers - description: 'Returns a count of all *Customers*. ' + description: Returns a count of all *Customers*. operationId: getACountOfCustomers responses: '200': @@ -497,16 +504,16 @@ paths: description: |- **This endpoint has special rate limiting protections to protect against abuse.** - Provided a password, will return a true/false response indicating if the provided password matches the customer’s current password. This endpoint is useful if you want to power the login of another system using BigCommerce’s stored customer accounts, or as a safe way to migrate passwords to another system (by checking them against BigCommerce’s password, and if correct, storing it in another system securely.)If the password matches what’s stored against the customer account, the response will be: + Provided a password, will return a true/false response indicating if the provided password matches the customer’s current password. This endpoint is useful if you want to power the login of another system using BigCommerce’s stored customer accounts, or as a safe way to migrate passwords to another system (by checking them against BigCommerce’s password, and if correct, storing it in another system securely.) If the password matches what’s stored against the customer account, the response will be: - ```json + ```js showLineNumbers copy { "success": "true" } ``` If the password does NOT match, the response will instead be: - ```json + ```js showLineNumbers copy { "success": "false" } @@ -550,14 +557,14 @@ paths: parameters: - name: page in: query - description: Number of pages + description: Number of pages. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: limit in: query - description: Count per page + description: Count per page. schema: exclusiveMaximum: false exclusiveMinimum: false @@ -618,14 +625,14 @@ paths: parameters: - name: page in: query - description: Number of pages + description: Number of pages. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: limit in: query - description: Count per page + description: Count per page. schema: exclusiveMaximum: false exclusiveMinimum: false @@ -649,14 +656,14 @@ paths: parameters: - name: page in: query - description: Number of pages + description: Number of pages. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: limit in: query - description: Count per page + description: Count per page. schema: exclusiveMaximum: false exclusiveMinimum: false @@ -675,6 +682,7 @@ paths: summary: Update a Customer Address description: |- Updates a *Customer Address*. + **Read Only Fields** * id * country_iso2 @@ -719,11 +727,11 @@ paths: example: BigCommerce street_1: type: string - description: 'The customer’s street address, line 1.' + description: The customer’s street address, line 1. example: 123 Main Street street_2: type: string - description: 'The customer’s street address, line 2.' + description: The customer’s street address, line 2. city: type: string description: The customer’s city/town/suburb. @@ -803,14 +811,14 @@ paths: parameters: - name: page in: query - description: Number of pages + description: Number of pages. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: limit in: query - description: Count per page + description: Count per page. schema: exclusiveMaximum: false exclusiveMinimum: false @@ -832,28 +840,34 @@ paths: tags: - Customer Groups summary: Get All Customer Groups - description: 'Returns a list of *Customer Groups*. Default sorting is by customer-group id, from lowest to highest.' + description: Returns a list of *Customer Groups*. Default sorting is by customer-group ID, from lowest to highest. operationId: getAllCustomerGroups parameters: - name: page in: query - description: Number of pages + description: Number of pages. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: limit in: query - description: Count per page + description: Count per page. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: name in: query - description: 'Filter customer groups by exact name match. Can use `name:like` to filter using a fuzzy matching method. This is good for implementing search.' + description: |- + Filter customer groups by exact name match. schema: type: string + - name: 'name:like' + in: query + description: Filter customer groups by name, using a fuzzy matching method. + schema: + type: string - name: is_default in: query description: Whether customers who sign up are added to this group by default. @@ -861,7 +875,7 @@ paths: type: boolean - name: is_group_for_guests in: query - description: If the groups is for guests. There can only be one customer group for guests at a time. + description: Describes whether the group is for guests. There can only be one customer group for guests at a time. schema: type: boolean responses: @@ -879,6 +893,7 @@ paths: summary: Create a Customer Group description: |- Creates a *Customer Group*. + **Required Fields** * name operationId: createACustomerGroup @@ -898,7 +913,7 @@ paths: schema: $ref: '#/components/schemas/customerGroup_Full' '207': - description: 'The customer group was created, but the sitewide discount update failed. You may retry the request.' + description: The customer group was created, but the sitewide discount update failed. You may retry the request. content: application/json: schema: @@ -935,21 +950,21 @@ paths: parameters: - name: page in: query - description: Number of pages + description: Number of pages. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: limit in: query - description: Count per page + description: Count per page. schema: exclusiveMaximum: false exclusiveMinimum: false type: number - name: name in: query - description: Name of the customer groups + description: Name of the customer groups. schema: type: string - name: is_default @@ -998,7 +1013,7 @@ paths: schema: $ref: '#/components/schemas/customerGroup_Full' '207': - description: 'The customer group was updated, but the sitewide discount update failed. You may retry the request.' + description: The customer group was updated, but the sitewide discount update failed. You may retry the request. content: application/json: schema: @@ -1020,6 +1035,7 @@ paths: summary: Delete a Customer Group description: |- Deletes a *Customer Group*. + **Notes** All existing customers are unassigned from the group when it is deleted. operationId: deleteACustomerGroup @@ -1041,7 +1057,7 @@ paths: tags: - Customer Groups summary: Get a Count of Customer Groups - description: 'Returns a count of all *Customer Groups*. ' + description: Returns a count of all *Customer Groups*. operationId: getACountOfCustomerGroups responses: '200': @@ -1112,11 +1128,11 @@ components: properties: name: type: string - description: Name of the form field - example: License Id + description: Name of the form field. + example: License ID value: type: string - description: Value of the form field + description: Value of the form field. example: 123BAF x-internal: false customerFormFields: @@ -1125,11 +1141,11 @@ components: properties: name: type: string - description: Name of the form field - example: License Id + description: Name of the form field. + example: License ID value: type: string - description: Value of the form field + description: Value of the form field. example: 123BAF x-internal: false shippingAddress_Full: @@ -1138,7 +1154,7 @@ components: properties: url: type: string - description: URL of the shipping address for api requests + description: URL of the shipping address for API requests. example: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/129/shippingaddresses' resource: type: string @@ -1221,11 +1237,11 @@ components: properties: id: type: integer - description: Id of the customer group + description: ID of the customer group. example: 1 name: type: string - description: Name of the group + description: Name of the group. example: Wholesale is_default: type: boolean @@ -1235,7 +1251,7 @@ components: $ref: '#/components/schemas/categoryAccessLevel_Full' discount_rules: type: array - description: A collection of discount rules that are automatically applied to customers who are members of the group + description: A collection of discount rules that are automatically applied to customers who are members of the group. items: type: object properties: @@ -1254,16 +1270,24 @@ components: - price amount: type: string - description: A float that specifies the value applied to the price modified - example: '"5.0000" (Float, Float as String, Integer)' + description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer) + example: '"5.0000"' price_list_id: type: integer - description: 'If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned.' + description: If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned. example: 3 + date_created: + type: string + description: Date on which the customer group was created. + example: 2023-07-17 06:30:41 + date_modified: + type: string + description: Date on which the customer group was last modified. + example: 2023-07-25 01:15:19 is_group_for_guests: type: boolean - description: If the groups is for guests. There can only be one customer group for guests at a time. - description: 'When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [Control Panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing) this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior via API.' + description: Describes whether the group is for guests. There can only be one customer group for guests at a time. + description: When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [store control panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing), this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior with the API. x-internal: false country_Full: title: country_Full @@ -1271,7 +1295,7 @@ components: properties: id: type: integer - description: Id of the country. + description: ID of the country. example: 13 country: type: string @@ -1346,7 +1370,7 @@ components: properties: name: type: string - description: Name of the group + description: Name of the group. example: Wholesale is_default: type: boolean @@ -1356,7 +1380,7 @@ components: $ref: '#/components/schemas/categoryAccessLevel_Full' discount_rules: type: array - description: A collection of discount rules that are automatically applied to customers who are members of the group + description: A collection of discount rules that are automatically applied to customers who are members of the group. items: type: object properties: @@ -1375,23 +1399,31 @@ components: - price amount: type: string - description: A float that specifies the value applied to the price modified - example: '"5.0000" (Float, Float as String, Integer)' + description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer) + example: '"5.0000"' price_list_id: type: integer - description: 'If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned.' + description: If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned. example: 3 + date_created: + type: string + description: Date on which the customer group was created. + example: 2023-07-17 06:30:41 + date_modified: + type: string + description: Date on which the customer group was last modified. + example: 2023-07-25 01:15:19 is_group_for_guests: type: boolean - description: If the groups is for guests. There can only be one customer group for guests at a time. - description: 'When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [Control Panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing) this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior via API.' + description: Describes whether the group is for guests. There can only be one customer group for guests at a time. + description: When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [store control panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing), this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior with the API. x-internal: false validatePassword: type: object properties: success: type: boolean - description: Will return `true` or `false` + description: Will return `true` or `false`. x-internal: false customer_Base: title: customer_Base @@ -1400,7 +1432,7 @@ components: properties: _authentication: type: object - description: 'Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation.' + description: Not returned in any responses, but accepts up to two fields allowing you to set the customer’s password. If a password is not supplied, it is generated automatically. For further information about using this object, please see the Customers resource documentation. properties: force_reset: type: boolean @@ -1430,7 +1462,7 @@ components: example: '1234567890' store_credit: type: string - description: 'The amount of credit the customer has. (Float, Float as String, Integer)' + description: The amount of credit the customer has. (Float, Float as String, Integer) example: '0' registration_ip_address: type: string @@ -1446,10 +1478,10 @@ components: tax_exempt_category: type: string - description: 'If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration.' + description: If applicable, the tax-exempt category of the shopper’s customer account. You can apply a tax-exempt category to multiple customers. This code should match the exemption codes provided by the third-party integration. accepts_marketing: type: boolean - description: 'If the customer accepts product review emails or abandon cart emails. Read-Only. ' + description: Describes whether the customer accepts product review emails or abandon cart emails. Read-Only. example: true readOnly: true addresses: @@ -1474,11 +1506,11 @@ components: properties: name: type: string - description: Name of the form field - example: License Id + description: Name of the form field. + example: License ID value: type: string - description: Value of the form field + description: Value of the form field. nullable: true reset_pass_on_login: type: boolean @@ -1619,7 +1651,7 @@ components: is_group_for_guests: name: is_group_for_guests in: query - description: If the groups is for guests. There can only be one customer group for guests at a time. + description: Describes whether the group is for guests. There can only be one customer group for guests at a time. schema: type: boolean securitySchemes: From 68c6b6e80baef5c517145f1f928b5d2c594dfd2d Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Sat, 29 Jul 2023 01:10:59 -0500 Subject: [PATCH 234/360] DEVDOCS-4907: [update] Channels, list of platforms with types (#1395) --- reference/channels.v3.yml | 65 ++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index b018e5da6..f663a0248 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -18,34 +18,43 @@ info: A channel's `type` and `platform` combination must be a valid pair as indicated in the table below. - | Platform | Accepted Type | - |-------------------|---------------------------| - | `square` | `pos` | - | `stripe` | `pos` | - | `vend` | `pos` | - | `clover` | `pos` | - | `talech` | `pos` | - | `facebook by meta`| `marketplace`,`marketing` | - | `instagram by meta`| `marketplace`,`marketing`| - | `amazon` | `marketplace` | - | `ebay` | `marketplace` | - | `pinterest` | `marketplace` | - | `wayfair` | `marketplace` | - | `overstock` | `marketplace` | - | `etsy` | `marketplace` | - | `wish` | `marketplace` | - | `walmart` | `marketplace` | - | `bigcommerce` | `storefront` | - | `gatsby` | `storefront` | - | `wordpress` | `storefront` | - | `drupal` | `storefront` | - | `acquia` | `storefront` | - | `bloomreach` | `storefront` | - | `deity` | `storefront` | - | `next` | `storefront` | - | `vue` | `storefront` | - | `google_shopping` | `marketing` | - | `custom` | `storefront`, `pos`, `marketing`, `marketplace` | + | Platform | Accepted Type | + |:--------------------|:--------------| + | `clover` | `pos` | + | `square` | `pos` | + | `stripe` | `pos` | + | `talech` | `pos` | + | `vend` | `pos` | + | `amazon` | `marketplace` | + | `belk` | `marketplace` | + | `catch` | `marketplace` | + | `ebay` | `marketplace` | + | `etsy` | `marketplace` | + | `facebook` | `marketplace`, `marketing` | + | `hudsons_bay` | `marketplace` | + | `google` | `marketplace`, `marketing` | + | `google_shopping` (deprecated) | `marketing` | + | `instagram` | `marketplace`, `marketing` | + | `macys` | `marketplace` | + | `mirakl` | `marketplace` | + | `overstock` | `marketplace` | + | `pinterest` | `marketplace` | + | `target_plus` | `marketplace` | + | `tiktok` | `marketplace` | + | `wayfair` | `marketplace` | + | `wish` | `marketplace` | + | `walmart` | `marketplace` | + | `acquia` | `storefront` | + | `bigcommerce` | `storefront` | + | `bloomreach` | `storefront` | + | `deity` | `storefront` | + | `drupal` | `storefront` | + | `gatsby` | `storefront` | + | `next` | `storefront` | + | `vue` | `storefront` | + | `wordpress` | `storefront` | + | `custom` | `storefront`, `pos`, `marketing`, `marketplace` | + ### Status From 525f1dea754164a54a9ee15f3b077002ddec21c7 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 31 Jul 2023 13:28:20 -0500 Subject: [PATCH 235/360] DEVDOCS-4496 [update]: Catalog API, update brand name & id field (#1396) Co-authored-by: Traci Porter --- reference/catalog/products_catalog.v3.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 189bd4044..69229d770 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -484,7 +484,7 @@ paths: open_graph_use_meta_description: true open_graph_use_product_name: true open_graph_use_image: true - brand_name or brand_id: Common Good + brand_name: Common Good gtin: string mpn: string reviews_rating_sum: 3 @@ -603,7 +603,7 @@ paths: open_graph_use_meta_description: true open_graph_use_product_name: true open_graph_use_image: true - brand_name or brand_id: Common Good + brand_name: Common Good gtin: string mpn: string reviews_rating_sum: 3 @@ -958,7 +958,7 @@ paths: open_graph_use_meta_description: true open_graph_use_product_name: true open_graph_use_image: true - brand_name or brand_id: Common Good + brand_name: Common Good gtin: string mpn: string reviews_rating_sum: 3.2 @@ -1568,7 +1568,7 @@ paths: open_graph_use_meta_description: true open_graph_use_product_name: true open_graph_use_image: true - brand_name or brand_id: Common Good + brand_name: Common Good gtin: string mpn: string reviews_rating_sum: 3.2 @@ -7868,7 +7868,7 @@ components: open_graph_use_meta_description: true open_graph_use_product_name: true open_graph_use_image: true - brand_name or brand_id: Common Good + brand_name: Common Good gtin: string mpn: string reviews_rating_sum: 3.2 @@ -8144,7 +8144,7 @@ components: open_graph_use_meta_description: true open_graph_use_product_name: true open_graph_use_image: true - brand_name or brand_id: Common Good + brand_name: Common Good gtin: string mpn: string reviews_rating_sum: 3.2 @@ -8294,7 +8294,11 @@ components: minimum: 0 type: integer description: | - A product can be added to an existing brand during a product /PUT or /POST. + You can add a product to an existing brand during a product /PUT or /POST. Use either the `brand_id` or the `brand_name` field. The response body can include `brand_id`. + brand_name: + type: string + description: You can create the brand during a product PUT or POST request. If the brand already exists, the product /PUT or /POST request adds the product to the brand. If not, the product /PUT or /POST request creates the brand and then adds the product to the brand. Brand name is not case-sensitive; "Common Good" and "Common good" are the same. Use either the `brand_id` or the `brand_name` field. The response body does not include `brand_name`. + example: Common Good inventory_level: maximum: 2147483647 minimum: 0 @@ -8519,10 +8523,6 @@ components: type: boolean description: | Flag to determine if product image or open graph image is used. - brand_name or brand_id: - type: string - description: The brand can be created during a product PUT or POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using `brand_name` it performs a fuzzy match and adds the brand. eg. "Common Good" and "Common good" are the same. Brand name does not return as part of a product response. Only the `brand_id`. - example: Common Good gtin: type: string description: Global Trade Item Number From 5f36f2a744b8c714d556e1a268cfebf689d4525b Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 1 Aug 2023 11:17:33 -0500 Subject: [PATCH 236/360] DEVDOCS-4796 [update]: Catalog API, add query parameter (#1398) --- reference/catalog/products_catalog.v3.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 69229d770..e26ca18b0 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -1276,6 +1276,16 @@ paths: Filter items by is_featured. schema: type: integer + - name: 'id:in' + in: query + description: + Filter by product ID(s). + style: form + explode: false + schema: + type: array + items: + type: integer - name: inventory_level in: query description: | From 40bc2d3f32a44ca4ccd230a328e668c28a547799 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 1 Aug 2023 14:03:10 -0500 Subject: [PATCH 237/360] DEVDOCS-5166: [update] Pricing, Get Prices Batch, include tax_discount_amount array to bath response (#1397) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/pricing.sf.yml | 405 +++++++++++++++++++++------------------ 1 file changed, 220 insertions(+), 185 deletions(-) diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index 0ad732cb7..9023e6f77 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -45,39 +45,45 @@ paths: properties: channel_id: type: integer - description: The channel context that pricing should be evaluated within. The default BC storefront is channel 1 + description: The channel ID that pricing evaluates within. The default BigCommerce storefront is channel 1. example: 1 currency_code: type: string - description: The currency of prices to be returned for this request + description: The currency code of prices this request returns. + example: USD customer_group_id: type: integer - description: 'The customer group relevant for any customer group pricing, tax values, etc.' + description: The customer group ID that's relevant for any customer group pricing, tax values, etc. items: type: array - description: The items to fetch prices for + description: The items for which to fetch prices. + items: type: object properties: product_id: type: integer - description: The (required) product ID of the item + description: The (required) product ID of the item. variant_id: type: number - description: The (optional) variant ID of the item + description: The (optional) variant ID of the item. options: type: array - description: The (optional) option configuration of the product. May be "partially" configured for estimates. + description: The option configuration of the product (optional); might be partially configured for estimates. items: type: object properties: option_id: type: integer - description: The ID of the variant option or modifier option being configured for this product + description: The ID of the variant option or modifier option that is being configured for this product. value_id: type: integer - description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' + description: |- + The ID of the value matching the option that's being configured. + + **Note:*** This must be the ID, not the value. + description: Details/configuration for the product to request a price for. required: true responses: @@ -96,19 +102,20 @@ paths: properties: product_id: type: integer - description: The product ID this price was generated for + description: The (required) product ID of the item. variant_id: type: integer - description: The (optional) variant ID this price was generated for + description: The (optional) variant ID of the item. options: type: array - description: The optional product option configuration this price was generated for + description: The optional product option configuration for which this price was generated. + items: type: object properties: option_id: type: integer - description: The ID of the variant option or modifier option configured for this price + description: The ID of the variant option or modifier option configured for this price. value_id: type: integer description: The selected value ID for the configured option. @@ -117,81 +124,81 @@ paths: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group + description: The estimated tax inclusive price for this product based on the provided customer group. description: The (optional) RRP/retail price configured for this product. Used for price comparison and storefront display purposes. sale_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group + description: The estimated tax inclusive price for this product based on the provided customer group. description: The merchant-entered sale price for a product overwrites the default price. The sale_price is optional. minimum_advertised_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group + description: The estimated tax inclusive price for this product based on the provided customer group. description: The minimum advertised price (MAP) allowed to be shown on a storefront. A value supplied by the merchant and used for display purposes. price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group + description: The estimated tax inclusive price for this product based on the provided customer group. description: The merchant-entered price for a product could be including or excluding tax. Price must be defined when creating a product and serves as the default price. calculated_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: 'The shopper price for a product including modifier, option, and option set rules. Calculated_price may include or exclude estimates for tax.' + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The shopper price for a product including modifier, option, and option set rules. The `calculated_price` may include or exclude estimates for tax. price_range: type: object properties: @@ -200,33 +207,33 @@ paths: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. description: The minimum and maximum price that will typically apply to this product. Only used for complex products (products with variants). retail_price_range: type: object @@ -236,33 +243,33 @@ paths: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. description: The productʼs variants that will typically apply to this product. bulk_pricing: type: array @@ -340,10 +347,10 @@ components: properties: minimum: type: integer - description: The minumum quantity required to trigger this bulk pricing discount + description: The minimum quantity required to trigger this bulk pricing discount. maximum: type: integer - description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount + description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount. discount_amount: type: number discount_type: @@ -363,10 +370,10 @@ components: properties: product_id: type: integer - description: The product ID this price was generated for + description: The (required) product ID of the item. variant_id: type: integer - description: The (optional) variant ID this price was generated for + description: The (optional) variant ID of the item. options: type: array description: The optional product option configuration this price was generated for @@ -384,81 +391,81 @@ components: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The (optional) RRP/retail price configured for this product + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The (optional) RRP/retail price configured for this product. sale_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. minimum_advertised_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. calculated_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. price_range: type: object properties: @@ -467,34 +474,34 @@ components: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. + description: For estimated prices, the minimum/maximum price that will typically apply to this product. retail_price_range: type: object properties: @@ -503,34 +510,34 @@ components: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group + description: The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + description: For estimated prices, the minimum/maximum price that will typically apply to this product. bulk_pricing: type: array items: @@ -538,10 +545,10 @@ components: properties: minimum: type: integer - description: The minumum quantity required to trigger this bulk pricing discount + description: The minimum quantity required to trigger this bulk pricing discount. maximum: type: integer - description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount + description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount. discount_amount: type: number discount_type: @@ -550,6 +557,24 @@ components: - price - percent - fixed + tax_discount_amount: + type: array + description: Formats the `bulk_pricing.discount_amount` into the tax price amounts. + items: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group. + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group. + entered_inclusive: + type: boolean + description: Determines whether the 'as_entered' price is inclusive or exclusive of tax based on the store's tax jurisdiction. meta: type: object properties: {} @@ -564,70 +589,71 @@ components: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. + description: For estimated prices, the minimum/maximum price that will typically apply to this product. x-internal: false TaxPrice: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. x-internal: false ItemPricing: type: object properties: product_id: type: integer - description: The product ID this price was generated for + description: The (required) product ID of the item. variant_id: type: integer - description: The (optional) variant ID this price was generated for + description: The (optional) variant ID of the item. options: type: array - description: The optional product option configuration this price was generated for + description: The optional product option configuration for which this price was generated. + items: type: object properties: option_id: type: integer - description: The ID of the variant option or modifier option configured for this price + description: The ID of the variant option or modifier option configured for this price. value_id: type: integer description: The selected value ID for the configured option. @@ -636,81 +662,81 @@ components: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The (optional) RRP/retail price configured for this product + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The (optional) RRP/retail price configured for this product. sale_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines wether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. minimum_advertised_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. calculated_price: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. price_range: type: object properties: @@ -719,34 +745,34 @@ components: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax. jurisdiction tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. + description: For estimated prices, the minimum/maximum price that will typically apply to this product. retail_price_range: type: object properties: @@ -755,34 +781,34 @@ components: properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number - description: The price provided by the merchant as entered in their catalog/price list (may be inc or ex) + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: 'Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction' + description: Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number - description: The estimated tax exclusive price for this product based on the provided customer group + description: The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number - description: The estimated tax inclusive price for this product based on the provided customer group - description: The price for a product including estimates for tax - description: 'For estimated prices, the minimum/maximum price that will typically apply to this product' + description: The estimated tax inclusive price for this product based on the provided customer group. + description: The price for a product including estimates for tax. + description: For estimated prices, the minimum/maximum price that will typically apply to this product. bulk_pricing: type: array items: @@ -793,10 +819,10 @@ components: properties: product_id: type: integer - description: The (required) product ID of the item + description: The (required) product ID of the item. variant_id: type: number - description: The (optional) variant ID of the item + description: The (optional) variant ID of the item. options: type: array description: The (optional) option configuration of the product. May be "partially" configured for estimates. @@ -805,10 +831,14 @@ components: properties: option_id: type: integer - description: The ID of the variant option or modifier option being configured for this product + description: The ID of the variant option or modifier option being configured for this product. value_id: type: integer - description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' + description: |- + The ID of the value matching the option being configured. + + **Note:** must be ID, not the value. + description: Details/configuration for the product to request a price for. x-internal: false PricingRequest: @@ -816,27 +846,28 @@ components: properties: channel_id: type: integer - description: The channel context that pricing should be evaluated within. The default BC storefront is channel 1 + description: The channel ID that pricing evaluates within. The default BigCommerce storefront is channel 1. example: 1 currency_code: type: string - description: The currency of prices to be returned for this request + description: The currency of prices to be returned for this request. example: USD customer_group_id: type: integer - description: 'The customer group relevant for any customer group pricing, tax values, etc.' + description: The customer group relevant for any customer group pricing, tax values, etc. items: type: array - description: The items to fetch prices for + description: The items for which to fetch prices. + items: type: object properties: product_id: type: integer - description: The (required) product ID of the item + description: The (required) product ID of the item. variant_id: type: number - description: The (optional) variant ID of the item + description: The (optional) variant ID of the item. options: type: array description: The (optional) option configuration of the product. May be "partially" configured for estimates. @@ -845,10 +876,14 @@ components: properties: option_id: type: integer - description: The ID of the variant option or modifier option being configured for this product + description: The ID of the variant option or modifier option being configured for this product. value_id: type: integer - description: 'The ID of the value matching the option being configured. Note: must be ID, not the value.' + description: |- + The ID of the value matching the option being configured. + + **Note:** This must be the ID, not the value. + description: Details/configuration for the product to request a price for. x-internal: false securitySchemes: From 728a74a4b20c88aefb3932f1d5b78d03df87f350 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 1 Aug 2023 15:46:31 -0500 Subject: [PATCH 238/360] DEVDOCS - 5166-a: [update] Pricing, Bulk Pricing Tier, update example (#1399) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/pricing.sf.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index 9023e6f77..d779dda5b 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -339,6 +339,11 @@ paths: maximum: 1 discount_amount: 1 discount_type: percent + tax_discount_amount: + - as_entered: 10 + tax_inclusive: 10 + tax_exclusive: 10 + entered_inclusive: false meta: {} components: schemas: @@ -359,6 +364,24 @@ components: - price - percent - fixed + tax_discount_amount: + type: array + description: Formats the `bulk_pricing.discount_amount` into the tax price amounts. + items: + type: object + properties: + as_entered: + type: number + description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. + tax_inclusive: + type: number + description: The estimated tax inclusive price for this product based on the provided customer group. + tax_exclusive: + type: number + description: The estimated tax exclusive price for this product based on the provided customer group. + entered_inclusive: + type: boolean + description: Determines whether the 'as_entered' price is inclusive or exclusive of tax based on the store's tax jurisdiction. x-internal: false PricingResponse: type: object @@ -551,12 +574,14 @@ components: description: The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount. discount_amount: type: number + description: The price reduction set by the merchant for this bulk pricing discount. discount_type: type: string enum: - price - percent - fixed + description: The format of the price reduction set by the merchant for this bulk pricing discount. tax_discount_amount: type: array description: Formats the `bulk_pricing.discount_amount` into the tax price amounts. From 9a476069b00d86e445505243b3f2b5da53a36339 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 3 Aug 2023 09:50:04 -0500 Subject: [PATCH 239/360] No ticket - Customers date modified, remove from body request (#1401) --- reference/customers.v2.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index d12b8eaf5..0082b3d07 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -1405,14 +1405,6 @@ components: type: integer description: If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned. example: 3 - date_created: - type: string - description: Date on which the customer group was created. - example: 2023-07-17 06:30:41 - date_modified: - type: string - description: Date on which the customer group was last modified. - example: 2023-07-25 01:15:19 is_group_for_guests: type: boolean description: Describes whether the group is for guests. There can only be one customer group for guests at a time. From ea4c52598c1bc291504f18389d766de04188f914 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 3 Aug 2023 11:29:31 -0500 Subject: [PATCH 240/360] DEVDOCS-5234: [revise] Customers V2, Remove 'id' from Update a Customer group parameters (#1400) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/customers.v2.yml | 64 +++++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index 0082b3d07..54746cf94 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -375,7 +375,7 @@ paths: Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. store_credit: type: string - description: The amount of credit the customer has. (Float, Float as String, Integer) + description: The amount of credit the customer has. Format may be Float, Float as String, or Integer. example: '0' registration_ip_address: type: string @@ -1003,7 +1003,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/customerGroup_Full' + $ref: '#/components/schemas/customerGroup_Update' required: false responses: '200': @@ -1270,7 +1270,7 @@ components: - price amount: type: string - description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer) + description: A float that specifies the value applied to the price modified. Format may be Float, Float as String, or Integer. example: '"5.0000"' price_list_id: type: integer @@ -1289,6 +1289,60 @@ components: description: Describes whether the group is for guests. There can only be one customer group for guests at a time. description: When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [store control panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing), this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior with the API. x-internal: false + customerGroup_Update: + title: customerGroup_Update + type: object + properties: + name: + type: string + description: Name of the group. + example: Wholesale + is_default: + type: boolean + description: Determines whether new customers are assigned to this group by default. + example: false + category_access: + $ref: '#/components/schemas/categoryAccessLevel_Full' + discount_rules: + type: array + description: A collection of discount rules that are automatically applied to customers who are members of the group. + items: + type: object + properties: + type: + type: string + enum: + - price_list + - all + - category + - product + method: + type: string + enum: + - percent + - fixed + - price + amount: + type: string + description: A float that specifies the value applied to the price modified. Format may be Float, Float as String, or Integer. + example: '"5.0000"' + price_list_id: + type: integer + description: If a customer group is assigned to a price list, `method` and `amount` are not shown. `type` and `price_list_id` are returned. + example: 3 + date_created: + type: string + description: Date on which the customer group was created. + example: 2023-07-17 06:30:41 + date_modified: + type: string + description: Date on which the customer group was last modified. + example: 2023-07-25 01:15:19 + is_group_for_guests: + type: boolean + description: Describes whether the group is for guests. There can only be one customer group for guests at a time. + description: When updating a customer group category discount using the API, it defaults to "products in this category and its subcategories". In the [store control panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing), this can be changed to either "products in this category only" or "products in this category and its subcategories." There are currently no settings to change this behavior with the API. + x-internal: false country_Full: title: country_Full type: object @@ -1399,7 +1453,7 @@ components: - price amount: type: string - description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer) + description: A float that specifies the value applied to the price modified. Format may be Float, Float as String, or Integer. example: '"5.0000"' price_list_id: type: integer @@ -1454,7 +1508,7 @@ components: example: '1234567890' store_credit: type: string - description: The amount of credit the customer has. (Float, Float as String, Integer) + description: The amount of credit the customer has. Format may be Float, Float as String, or Integer. example: '0' registration_ip_address: type: string From 5cb3ef11c473d108467e21317662850824e3a288 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 3 Aug 2023 16:37:51 -0500 Subject: [PATCH 241/360] DEVDOCS-5059 [revise] OrderSF, add `brand` to `lineItems` (#1402) --- reference/orders.sf.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/reference/orders.sf.yml b/reference/orders.sf.yml index 2f9f7c455..c7a4f2ef4 100644 --- a/reference/orders.sf.yml +++ b/reference/orders.sf.yml @@ -261,6 +261,9 @@ components: type: number description: Quantity of this item. format: double + brand: + type: string + description: The product's brand. isTaxable: type: boolean description: Whether the item is taxable. @@ -297,7 +300,7 @@ components: format: double type: type: string - description: the product type - physical or digital + description: the product type - physical or digital. addedByPromotion: type: boolean description: Whether this item has been added automatically by a promotion. @@ -360,6 +363,9 @@ components: type: number description: Quantity of this item. format: double + brand: + type: string + description: The item's brand. isTaxable: type: boolean description: Whether the item is taxable. @@ -672,6 +678,9 @@ components: properties: {} discountAmount: type: integer + brand: + type: string + description: The product's brand. listPrice: type: number salePrice: From 25b06f017967b59aa48f83afea64faa586704f7a Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 3 Aug 2023 16:53:01 -0500 Subject: [PATCH 242/360] DEVDOCS-5043: [revise] Customers V3, Remove address array from Update Customers' request body example (#1404) --- reference/customers.v3.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 002557f95..b762c675a 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -347,22 +347,11 @@ paths: last_name: string company: string phone: string + registration_ip_address: string notes: string tax_exempt_category: string customer_group_id: 0 id: 1 - addresses: - - address1: string - address2: string - address_type: string - city: string - company: string - country_code: string - first_name: string - last_name: string - phone: string - postal_code: string - state_or_province: string authentication: force_password_reset: true new_password: string123 From 9d8df8d8a4c70d162e699e39f26287775cf996d1 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:02:17 -0500 Subject: [PATCH 243/360] DEVDOCS-5097: [update] Catalog, Products, include list of sub resources for `include` field. (#1405) --- reference/catalog/products_catalog.v3.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index e26ca18b0..ddbb23222 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -290,7 +290,18 @@ paths: type: integer - name: include in: query - description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + description: |- + Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page. + + **Note:** The following sub-resources include: + * variants + * images + * custom_fields + * bulk_pricing_rules + * primary_images + * modifiers + * options + * videos schema: type: string enum: From 6849d9b43417c28f02d44437a4f588a9bd1d3243 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:28:44 -0500 Subject: [PATCH 244/360] DEVDOCS-4701 [update]: Storefront Tokens V3 API, update UTC timestamp (#1403) --- reference/storefront_tokens.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/storefront_tokens.v3.yml b/reference/storefront_tokens.v3.yml index 4d3f81789..4376fe532 100644 --- a/reference/storefront_tokens.v3.yml +++ b/reference/storefront_tokens.v3.yml @@ -26,7 +26,7 @@ info: |Property|Type|Description| |-|-|-| |`channel_id`|int| Must be a valid channel ID on the store (required) | - |`expires_at`|int| Unix timestamp (required) | + |`expires_at`|int| Unix timestamp in seconds (required). Does not support milliseconds, microseconds, or nanoseconds. | |`allowed_cors_origins`|array[str]| Allowed origins for cross origin requests (required) | [**Response:**](/docs/storefront-auth/tokens#create-a-token) @@ -250,7 +250,7 @@ components: example: 1 expires_at: type: integer - description: Unix timestamp (UTC time) defining when the token should expire. + description: Unix timestamp (UTC time) defining when the token should expire. Supports seconds, but does not support milliseconds, microseconds, or nanoseconds. example: 1885635176 minimum: 0 required: From bcb1d95aa293519639360b960e728fe7a110673d Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 4 Aug 2023 16:23:07 -0500 Subject: [PATCH 245/360] DEVDOCS-5257: [revise] Orders V2, Update example for Create product with variants (#1406) --- reference/orders.v2.oas2.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 4cf832714..8bc601bfd 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -295,8 +295,8 @@ paths: country_iso2: US email: janedoe@example.com products: - - product_id: 118, - quantity: 1, + - product_id: 118 + quantity: 1 variant_id: 93 Custom Product: value: @@ -3339,7 +3339,7 @@ components: quantity: description: Quantity of the product ordered. example: 1 - type: number + type: integer base_cost_price: description: The product’s cost price. This can be set using the Catalog API. (Float, Float-As-String, Integer) Read Only example: '0.0000' @@ -3716,7 +3716,7 @@ components: type: integer example: 87 quantity: - type: number + type: integer example: 2 x-internal: false orderConsignments_Resource: @@ -4093,7 +4093,7 @@ components: type: integer example: 5 quantity: - type: number + type: integer example: 2 orderShipment_Put: type: object @@ -4635,7 +4635,7 @@ components: example: Towel Type 1 description: The product name that is shown to merchant in control panel. quantity: - type: number + type: integer price_ex_tax: type: number price_inc_tax: @@ -4691,7 +4691,7 @@ components: description: The numeric ID of the product. example: 117 quantity: - type: number + type: integer description: The quantity of product being removed. example: 1 product_options: @@ -4792,7 +4792,7 @@ components: description: The product option value that is shown to a customer in storefront.`xxx` and `xxx_customer` always hold the same value, updating either `xxx` or `xxx_customer` will change value for both of those fields. minLength: 1 quantity: - type: number + type: integer price_inc_tax: type: number price_ex_tax: @@ -4849,7 +4849,7 @@ components: example: Towel Type 1 description: The product name that is shown to merchant in control panel. quantity: - type: number + type: integer price_inc_tax: type: number price_ex_tax: From 10bf96be16e0668df1383bf5c519ee04bf0bc25f Mon Sep 17 00:00:00 2001 From: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Date: Wed, 9 Aug 2023 11:24:11 -0500 Subject: [PATCH 246/360] DEVDOCS-5390 update maximum number of Channel Metafields from 50 to 250 (#1412) --- reference/channels.v3.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index f663a0248..4478e6a47 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -1305,7 +1305,7 @@ components: content: application/json: schema: - description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is 250. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' x-internal: false type: object properties: @@ -2934,7 +2934,7 @@ components: metafield_Post: title: metafield_Post type: object - description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is 250. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' x-internal: false properties: namespace: @@ -2996,7 +2996,7 @@ components: metafield_Put: title: metafield_Put type: object - description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand is fifty. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + description: 'Metafield for products, categories, variants, and brands. The max number of metafields allowed on each product, category, variant, or brand 250. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' x-internal: false properties: namespace: From 834fc9a77389586dabffeb1921f99a6b23427118 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 11 Aug 2023 11:18:35 -0500 Subject: [PATCH 247/360] DEVDOCS-4861: [Update] Added 409 error code (#1413) --- reference/catalog/category-trees_catalog.v3.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 7fdcf16de..291956673 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -224,6 +224,12 @@ paths: application/json: schema: $ref: '#/components/schemas/ErrorRequest' + '409': + description: 'A category with the same name exists within the given category tree or parent category.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorRequest' '422': description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' content: From 795034b330769a4f25936c00926901d595ef1afd Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 11 Aug 2023 11:48:18 -0500 Subject: [PATCH 248/360] Revert "DEVDOCS-4861: [Update] Added 409 error code" (#1414) --- reference/catalog/category-trees_catalog.v3.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 291956673..7fdcf16de 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -224,12 +224,6 @@ paths: application/json: schema: $ref: '#/components/schemas/ErrorRequest' - '409': - description: 'A category with the same name exists within the given category tree or parent category.' - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorRequest' '422': description: 'The Category was not valid. This is the result of missing required fields, or of invalid data. See the response for more details.' content: From 3693715ab17fc017008b335dfdee95b7a78d9068 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 11 Aug 2023 12:19:21 -0500 Subject: [PATCH 249/360] DEVDOCS-5254: [update] Add limits and validations (#1410) --- reference/catalog/products_catalog.v3.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index ddbb23222..5b846b037 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -8228,7 +8228,7 @@ components: minLength: 0 type: string description: | - A unique user-defined product code/stock keeping unit (SKU). + A unique user-defined alphanumeric product code/stock keeping unit (SKU). example: SM-13 description: type: string @@ -8291,9 +8291,9 @@ components: type: number description: Minimum Advertised Price tax_class_id: - maximum: 1000000000 + maximum: 255 minimum: 0 - type: integer + type: number description: | The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) product_tax_code: @@ -8309,7 +8309,9 @@ components: x-required: - post items: - type: integer + type: number + maximum: 1000 + minimum: 0 brand_id: maximum: 1000000000 minimum: 0 @@ -8427,11 +8429,11 @@ components: items: type: integer sort_order: - maximum: 2147483647 - minimum: -2147483648 type: integer description: | Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results. + maximum: 2147483647 + minimum: -2147483648 condition: type: string description: | @@ -8464,6 +8466,8 @@ components: Custom title for the product page. If not defined, the product name will be used as the meta title. meta_keywords: type: array + maxLength: 65535 + minLength: 0 description: | Custom meta keywords for the product page. If not defined, the store's default keywords will be used. items: @@ -8567,6 +8571,9 @@ components: example: 80 custom_fields: type: array + minimum: 0 + maximum: 255 + description: 200 maximum custom fields per product. 255 maximum characters per custom field. items: $ref: '#/components/schemas/productCustomField_Put' bulk_pricing_rules: From fccf096bec70d722105a9d80c1f6fc839e5d6eca Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 11 Aug 2023 13:10:53 -0500 Subject: [PATCH 250/360] DEVDOCS-4913: [update] Webhooks, change store/customer/updated (#1408) Co-authored-by: Traci Porter --- models/webhooks/_all.yml | 3 ++- models/webhooks/store_customer_updated.yml | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/models/webhooks/_all.yml b/models/webhooks/_all.yml index 3b831b392..47b246ed7 100644 --- a/models/webhooks/_all.yml +++ b/models/webhooks/_all.yml @@ -180,7 +180,8 @@ properties: allOf: - $ref: ./store_customer_payment_instrument_default_updated.yml store/customer/updated: - description: Fires when a customer is updated. Does not currently track changes to the customer address. + description: Fires when a customer is updated. It does not currently track changes to the customer address.

Tracks changes to customer attributes only if you make the changes through the control panel. This change triggers the same event `type` and payload as updating a customer; the payload does not include customer attributes. + type: object allOf: - $ref: ./store_customer_updated.yml diff --git a/models/webhooks/store_customer_updated.yml b/models/webhooks/store_customer_updated.yml index 082ba88b9..8335dd95f 100644 --- a/models/webhooks/store_customer_updated.yml +++ b/models/webhooks/store_customer_updated.yml @@ -1,7 +1,12 @@ type: object properties: store/customer/updated: - description: Fires when a customer is updated. Does not currently track changes to the customer address. + description: |- + Fires when a customer is updated. It does not currently track changes to the customer address. + + + Tracks changes to customer attributes only if you make the changes through the control panel. This change triggers the same event `type` and payload as updating a customer; the payload does not include customer attributes. + type: object properties: scope: From a4385676f0727c38c8c3bd1794c914118902fa4a Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 11 Aug 2023 14:28:40 -0500 Subject: [PATCH 251/360] [DEVDOCS-5304]: [revise] CustomersV2, add filter parameters to Customer Groups (#1415) --- reference/customers.v2.yml | 150 +++++++++++++++++++++---------------- 1 file changed, 86 insertions(+), 64 deletions(-) diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index 54746cf94..d5b5d7a17 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -375,7 +375,7 @@ paths: Date on which the customer updated their details in the storefront or was updated in the control panel. This is a READ-ONLY field; do not set or modify its value in a POST or PUT request. store_credit: type: string - description: The amount of credit the customer has. Format may be Float, Float as String, or Integer. + description: The amount of credit the customer has. (Float, Float as String, Integer) example: '0' registration_ip_address: type: string @@ -859,8 +859,7 @@ paths: type: number - name: name in: query - description: |- - Filter customer groups by exact name match. + description: Filter customer groups by exact name match. schema: type: string - name: 'name:like' @@ -870,12 +869,47 @@ paths: type: string - name: is_default in: query - description: Whether customers who sign up are added to this group by default. + description: Filter by customers who sign up are added to this group by default. schema: type: boolean + - name: date_created + in: query + description: Filter customer groups by date_created. `date_created=2018-09-05T13:43:54` + schema: + type: string + format: date-time + - name: 'date_created:max' + in: query + description: Filter customer groups by maximum date_created. `date_created:max=2018-09-10` + schema: + type: string + - name: 'date_created:min' + in: query + description: Filter customer groups by date_created. `date_created:min=2018-09-05` + schema: + type: string + format: date-time + - name: date_modified + in: query + description: Filter customer groups by date_modified. `date_modified=2018-09-05T13:45:03` + schema: + type: string + format: date-time + - name: '`date_modified:min`' + in: query + description: Filter customer groups by minimum date_modified. `date_modified:min=2019-09-04T:00:00:00` or `date_modified:min=2019-09-04` + schema: + type: string + format: date-time + - name: '`date_modified:max`' + in: query + description: Filter customer groups by maximum date_modified. `date_modified:max=2018-09-05T13:45:03` or `date_modified:max=2019-09-04` + schema: + type: string + format: date-time - name: is_group_for_guests in: query - description: Describes whether the group is for guests. There can only be one customer group for guests at a time. + description: Filter whether the group is for guests. There can only be one customer group for guests at a time. schema: type: boolean responses: @@ -967,6 +1001,40 @@ paths: description: Name of the customer groups. schema: type: string + - name: date_created + in: query + description: 'Filter items by date_created. `date_created=2018-09-05T13:43:54`' + schema: + type: string + format: date-time + - name: 'date_created:max' + in: query + description: 'Filter items by maximum date_created. `date_created:max=2018-09-10`' + schema: + type: string + - name: 'date_created:min' + in: query + description: 'Filter items by date_created. `date_created:min=2018-09-05`' + schema: + type: string + format: date-time + - name: date_modified + in: query + description: 'Filter items by date_modified. `date_modified=2018-09-05T13:45:03`' + schema: + type: string + format: date-time + - name: 'date_modified:min' + in: query + description: 'Filter items by minimum date_modified. `date_modified:min=2019-09-04T:00:00:00` or `date_modified:min=2019-09-04`' + schema: + type: string + - name: 'date_modified:max' + in: query + description: 'Filter items by maximum date_modified. `date_modified:max=2018-09-05T13:45:03` or `date_modified:max=2019-09-04`' + schema: + type: string + format: date-time - name: is_default in: query description: Whether customers who sign up are added to this group by default. @@ -1003,7 +1071,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/customerGroup_Update' + $ref: '#/components/schemas/customerGroup_Full' required: false responses: '200': @@ -1238,7 +1306,7 @@ components: id: type: integer description: ID of the customer group. - example: 1 + example: 1 name: type: string description: Name of the group. @@ -1270,7 +1338,7 @@ components: - price amount: type: string - description: A float that specifies the value applied to the price modified. Format may be Float, Float as String, or Integer. + description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer) example: '"5.0000"' price_list_id: type: integer @@ -1289,60 +1357,6 @@ components: description: Describes whether the group is for guests. There can only be one customer group for guests at a time. description: When creating a customer group category discount using the API it defaults to "products in this category and its subcategories". In the [store control panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing), this can be changed to either "products in this category only" or "products in this category and its subcategories". There are currently no settings to change this behavior with the API. x-internal: false - customerGroup_Update: - title: customerGroup_Update - type: object - properties: - name: - type: string - description: Name of the group. - example: Wholesale - is_default: - type: boolean - description: Determines whether new customers are assigned to this group by default. - example: false - category_access: - $ref: '#/components/schemas/categoryAccessLevel_Full' - discount_rules: - type: array - description: A collection of discount rules that are automatically applied to customers who are members of the group. - items: - type: object - properties: - type: - type: string - enum: - - price_list - - all - - category - - product - method: - type: string - enum: - - percent - - fixed - - price - amount: - type: string - description: A float that specifies the value applied to the price modified. Format may be Float, Float as String, or Integer. - example: '"5.0000"' - price_list_id: - type: integer - description: If a customer group is assigned to a price list, `method` and `amount` are not shown. `type` and `price_list_id` are returned. - example: 3 - date_created: - type: string - description: Date on which the customer group was created. - example: 2023-07-17 06:30:41 - date_modified: - type: string - description: Date on which the customer group was last modified. - example: 2023-07-25 01:15:19 - is_group_for_guests: - type: boolean - description: Describes whether the group is for guests. There can only be one customer group for guests at a time. - description: When updating a customer group category discount using the API, it defaults to "products in this category and its subcategories". In the [store control panel](https://support.bigcommerce.com/s/article/Customer-Groups#pricing), this can be changed to either "products in this category only" or "products in this category and its subcategories." There are currently no settings to change this behavior with the API. - x-internal: false country_Full: title: country_Full type: object @@ -1453,12 +1467,20 @@ components: - price amount: type: string - description: A float that specifies the value applied to the price modified. Format may be Float, Float as String, or Integer. + description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer) example: '"5.0000"' price_list_id: type: integer description: If a customer group is assigned to a price list,`method` and `amount` are not shown. `type` and `price_list_id` are returned. example: 3 + date_created: + type: string + description: Date on which the customer group was created. + example: 2023-07-17 06:30:41 + date_modified: + type: string + description: Date on which the customer group was last modified. + example: 2023-07-25 01:15:19 is_group_for_guests: type: boolean description: Describes whether the group is for guests. There can only be one customer group for guests at a time. @@ -1508,7 +1530,7 @@ components: example: '1234567890' store_credit: type: string - description: The amount of credit the customer has. Format may be Float, Float as String, or Integer. + description: The amount of credit the customer has. (Float, Float as String, Integer) example: '0' registration_ip_address: type: string From 1dc8911f67736d30235aac415bca343780820c68 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 11 Aug 2023 16:38:03 -0500 Subject: [PATCH 252/360] change description for tax code (#1416) --- reference/catalog/products_catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 5b846b037..9c35f6939 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -8301,7 +8301,7 @@ components: minLength: 0 type: string description: | - Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce's Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara's documentation. + Tax Codes, such as AvaTax System Tax Codes, identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to a tax provider integration, such as BigCommerce's Avalara Premium, can calculate sales taxes more accurately. Stores without a tax provider will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see the tax provider's documentation. categories: type: array description: | From 0a094cf4fa30556a86f2fbf47990c3729cf98a73 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 15 Aug 2023 11:58:58 -0500 Subject: [PATCH 253/360] DEVDOCS-5241: [update] Add tokenized card (#1409) Co-authored-by: Rabin Shrestha Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/payments/process_payments.yml | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/reference/payments/process_payments.yml b/reference/payments/process_payments.yml index 9573c6e83..fc0a11b8b 100644 --- a/reference/payments/process_payments.yml +++ b/reference/payments/process_payments.yml @@ -80,6 +80,7 @@ paths: - $ref: '#/components/schemas/StoredPayPalAccount' - $ref: '#/components/schemas/GiftCertificate' - $ref: '#/components/schemas/StoreCredit' + - $ref: '#/components/schemas/TokenizedCard' payment_method_id: description: Identifier for payment method that will be used for this payment and `id` from the Get Accepted Payment Methods API type: string @@ -133,6 +134,17 @@ paths: instrument: type: store_credit payment_method_id: bigcommerce.store_credit + Tokenized Card: + value: + payment: + instrument: + type: tokenized_card + token: K7KW-M9GX-6PQ3 + iin: 4111111 + last_four_digits: 1111 + expiration_month: 12 + expiration_year: 2030 + payment_method_id: bolt.card required: true x-examples: application/json: @@ -487,6 +499,44 @@ components: x-examples: example-1: type: store_credit + TokenizedCard: + title: Tokenized Card + type: object + x-internal: false + x-examples: + example-1: + type: tokenized_card + token: K7KW-M9GX-6PQ3 + iin: 4111111 + last_four_digits: 1111 + expiration_month: 12 + expiration_year: 2030 + properties: + type: + type: string + description: Type to classify this payment instrument (required). + enum: + - tokenized_card + token: + description: Identifier representing the tokenized card (required). + type: string + minLength: 64 + maxLength: 64 + iin: + type: string + description: Issuer identification number. + last_four_digits: + type: string + description: Last four numbers of this card. + expiration_month: + type: string + description: Expiry month of this card. + expiration_year: + type: string + description: Expiry year of this card. + required: + - type + - token securitySchemes: BearerPAT: description: |- From 206d55daf84007d84dca09ff36580a1cd13938b2 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 18 Aug 2023 14:59:33 -0500 Subject: [PATCH 254/360] [DEVDOCS-5362]: [revise] Ordersv2, Include Shipping and Tracking support (#1418) Co-authored-by: Andrew Chan , Andrea Dao --- reference/orders.v2.oas2.yml | 343 ++++++++++++++++++----------------- 1 file changed, 181 insertions(+), 162 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 8bc601bfd..8f7dc8717 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -76,7 +76,7 @@ paths: summary: Get an Order tags: - Orders - parameters: + parameters: - $ref: '#/components/parameters/order_includes' responses: '200': @@ -284,7 +284,7 @@ paths: value: status_id: 0 customer_id: 1 - billing_address: + billing_address: first_name: Jane last_name: Doe street_1: 123 Main Street @@ -294,10 +294,10 @@ paths: country: United States country_iso2: US email: janedoe@example.com - products: + products: - product_id: 118 quantity: 1 - variant_id: 93 + variant_id: 93 Custom Product: value: status_id: 0 @@ -619,10 +619,16 @@ paths: * items **Usage notes** + + There are three methods for generating a tracking link for a shipment: + + 1. Use `shipping_provider` and `tracking_number`: This generates an automatic tracking link that you can click from the BigCommerce control panel and customer-facing emails. However, the `tracking_link` property in the API response will remain empty. + + 2. Use `tracking_carrier` and `tracking_number`: This also creates an automatic tracking link that you can click in both the BigCommerce control panel and customer-facing emails. Like the previous method, the `tracking_link` property in the API response will be empty. + + 3. Supply a custom `tracking_link`: By providing a value for the `tracking_link` property, you can use your own tracking link within the BigCommerce control panel and in customer-facing emails. The API response will return your supplied `tracking_link` as part of the response. - Presuming that a valid carrier code is used, a tracking link is generated if either `shipping_provider` or `tracking_carrier` is supplied alongside a tracking number. Providing only the tracking number will result in non-clickable text in the customer facing email. - - Acceptable values for `shipping_provider` include an empty string (`""`), auspost, canadapost, endicia, usps, fedex, royalmail, ups, upsready, upsonline, or shipperhq. + Acceptable values for `shipping_provider` include an empty string (`""`), `auspost`, `carrier_{your_carrier_id}` (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)), `canadapost`, `endicia`, `usps`, `fedex`, `royalmail`, `ups`, `upsready`, `upsonline`, or `shipperhq`. Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). summary: Create Order Shipment @@ -910,7 +916,7 @@ paths: description: |- * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. schema: - type: string + type: string enum: - consignments.line_items get: @@ -1241,12 +1247,12 @@ components: description: |- * `consignments` - include the response returned from the request to the `/orders/{order_id}/consignments` endpoint. - * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. This implies `include=consignments`. + * `consignments.line_items` - include the response returned from the request to the `/orders/{order_id}/products` endpoint in consignments. This implies `include=consignments`. schema: - type: string + type: string enum: - consignments - - consignments.line_items + - consignments.line_items responses: orderStatusCollection_Resp: description: Get All Order Status Collection Response. @@ -1987,7 +1993,7 @@ components: content: application/json: schema: - $ref: '#/components/schemas/orderProducts' + $ref: '#/components/schemas/orderProducts' examples: Product: value: @@ -2042,75 +2048,75 @@ components: product_options: [] Product with file upload: value: - - id: 35 - order_id: 125 - product_id: 127 - variant_id: 99 - order_address_id: 18 - name: Journal - name_customer: Journal - name_merchant: Journal - sku: Jour-BLK - upc: '' - type: physical - base_price: '45.0000' - price_ex_tax: '41.5700' - price_inc_tax: '45.0000' - price_tax: '3.4300' - base_total: '45.0000' - total_ex_tax: '41.5700' - total_inc_tax: '45.0000' - total_tax: '3.4300' - weight: '0.0000' - width: '0.0000' - height: '0.0000' - depth: '0.0000' - quantity: 1 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' - cost_price_tax: '0.0000' - is_refunded: false - quantity_refunded: 0 - refund_amount: '0.0000' - return_id: 0 - wrapping_name: '' - base_wrapping_cost: '0.0000' - wrapping_cost_ex_tax: '0.0000' - wrapping_cost_inc_tax: '0.0000' - wrapping_cost_tax: '0.0000' - wrapping_message: '' - quantity_shipped: 0 - event_name: null - event_date: '' - fixed_shipping_cost: '0.0000' - ebay_item_id: '' - ebay_transaction_id: '' - option_set_id: null - parent_order_product_id: null - is_bundled_product: false - bin_picking_number: '' - external_id: null - fulfillment_source: '' - brand: BigCommerce - applied_discounts: [] - product_options: - - id: 18 - option id: 38 - order_product_id: 35 - product_option_id: 121 - display_name: Custom Logo Engraving - display_name_customer: Custom Logo Engraving - display_name_merchant: Custom Logo Engraving - display_value: BigCommerceLogo.jpeg - display_value_customer: BigCommerceLogo.jpeg - display_value_merchant: BigCommerceLogo.jpeg - value: {\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"} - type: File upload field - name: Custom Logo Engraving - display_style: "" - configurable_fields: [] - gift_certificate_id: null + - id: 35 + order_id: 125 + product_id: 127 + variant_id: 99 + order_address_id: 18 + name: Journal + name_customer: Journal + name_merchant: Journal + sku: Jour-BLK + upc: '' + type: physical + base_price: '45.0000' + price_ex_tax: '41.5700' + price_inc_tax: '45.0000' + price_tax: '3.4300' + base_total: '45.0000' + total_ex_tax: '41.5700' + total_inc_tax: '45.0000' + total_tax: '3.4300' + weight: '0.0000' + width: '0.0000' + height: '0.0000' + depth: '0.0000' + quantity: 1 + base_cost_price: '0.0000' + cost_price_inc_tax: '0.0000' + cost_price_ex_tax: '0.0000' + cost_price_tax: '0.0000' + is_refunded: false + quantity_refunded: 0 + refund_amount: '0.0000' + return_id: 0 + wrapping_name: '' + base_wrapping_cost: '0.0000' + wrapping_cost_ex_tax: '0.0000' + wrapping_cost_inc_tax: '0.0000' + wrapping_cost_tax: '0.0000' + wrapping_message: '' + quantity_shipped: 0 + event_name: null + event_date: '' + fixed_shipping_cost: '0.0000' + ebay_item_id: '' + ebay_transaction_id: '' + option_set_id: null + parent_order_product_id: null + is_bundled_product: false + bin_picking_number: '' + external_id: null + fulfillment_source: '' + brand: BigCommerce + applied_discounts: [] + product_options: + - id: 18 + option id: 38 + order_product_id: 35 + product_option_id: 121 + display_name: Custom Logo Engraving + display_name_customer: Custom Logo Engraving + display_name_merchant: Custom Logo Engraving + display_value: BigCommerceLogo.jpeg + display_value_customer: BigCommerceLogo.jpeg + display_value_merchant: BigCommerceLogo.jpeg + value: {\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"} + type: File upload field + name: Custom Logo Engraving + display_style: "" + configurable_fields: [] + gift_certificate_id: null Custom Product: value: id: 238 @@ -2224,63 +2230,63 @@ components: applied_discounts: [] Product with custom message: value: - - id: 143 - option_id: 96 - order_product_id: 240 - product_option_id: 242 - display_name: Color - display_name_customer: Color - display_name_merchant: Color - display_value: Red - display_value_customer: Red - display_value_merchant: Red - value: '211' - type: Swatch - name: Color1549572910-201 - display_style: '' - - id: 144 - option_id: 114 - order_product_id: 240 - product_option_id: 263 - display_name: PickList PriceList - display_name_customer: PickList PriceList - display_name_merchant: PickList PriceList - display_value: Able Brewing System - display_value_customer: Able Brewing System - display_value_merchant: Able Brewing System - value: '237' - type: Product Pick List - name: PickList-PriceList1549572910-201 - display_style: Pick list with photos - - id: 145 - option_id: 97 - order_product_id: 240 - product_option_id: 243 - display_name: T-Shirt Size - display_name_customer: T-Shirt Size - display_name_merchant: T-Shirt Size - display_value: Small T-Shirt - display_value_customer: Small T-Shirt - display_value_merchant: Small T-Shirt - value: '214' - type: Multiple choice - name: T-Shirt-Size1545071633-201 - display_style: Rectangle - - id: 146 - option_id: 105 - order_product_id: 240 - product_option_id: 254 - display_name: Custom Message - display_name_customer: Custom Message - display_name_merchant: Custom Message - display_value: BigCommerce - display_value_customer: BigCommerce - display_value_merchant: BigCommerce - value: BigCommerce - type: Text field - name: Custom-Message1549572912-201 - display_style: '' - configurable_fields: + - id: 143 + option_id: 96 + order_product_id: 240 + product_option_id: 242 + display_name: Color + display_name_customer: Color + display_name_merchant: Color + display_value: Red + display_value_customer: Red + display_value_merchant: Red + value: '211' + type: Swatch + name: Color1549572910-201 + display_style: '' + - id: 144 + option_id: 114 + order_product_id: 240 + product_option_id: 263 + display_name: PickList PriceList + display_name_customer: PickList PriceList + display_name_merchant: PickList PriceList + display_value: Able Brewing System + display_value_customer: Able Brewing System + display_value_merchant: Able Brewing System + value: '237' + type: Product Pick List + name: PickList-PriceList1549572910-201 + display_style: Pick list with photos + - id: 145 + option_id: 97 + order_product_id: 240 + product_option_id: 243 + display_name: T-Shirt Size + display_name_customer: T-Shirt Size + display_name_merchant: T-Shirt Size + display_value: Small T-Shirt + display_value_customer: Small T-Shirt + display_value_merchant: Small T-Shirt + value: '214' + type: Multiple choice + name: T-Shirt-Size1545071633-201 + display_style: Rectangle + - id: 146 + option_id: 105 + order_product_id: 240 + product_option_id: 254 + display_name: Custom Message + display_name_customer: Custom Message + display_name_merchant: Custom Message + display_value: BigCommerce + display_value_customer: BigCommerce + display_value_merchant: BigCommerce + value: BigCommerce + type: Text field + name: Custom-Message1549572912-201 + display_style: '' + configurable_fields: product_options: value: - id: 143 @@ -3312,7 +3318,7 @@ components: example: '0.0000' type: string base_total: - description: |- + description: |- Total base price. (Float, Float-As-String, Integer) **Note**: The `base_total` is affected by the tax options set up in the control panel and is altered on tax-free orders. See more details on how `base_total` is affected by visiting the [Responsive Tax Display Settings](https://support.bigcommerce.com/s/article/Manual-Tax-Setup) overview. If the `base_total` is `$0`, it's due to the store's tax settings. To learn more about tax settings in the control panel, check out this [Tax Settings](https://support.bigcommerce.com/s/article/Tax-Overview?language=en_US#tax-settings) support article. @@ -3330,7 +3336,7 @@ components: description: |- Total tax applied to products. For example, if quantity if 2, base price is 5 and tax rate is 10%. price_tax will be $.50 and total_tax will be $1.00. - + If there is a manual discount applied total_tax is calculated as the following: `(price_ex_tax - discount)*tax_rate=total_tax`. (Float, Float-As-String, Integer) @@ -3582,7 +3588,7 @@ components: example: 1 type: integer order_id: - description: |- + description: |- The unique numeric identifier of the order to which the tax was applied. NOTE: Not included if the store was using the automatic tax feature. example: 129 type: integer @@ -3596,7 +3602,7 @@ components: example: 1 type: integer tax_class_id: - description: |- + description: |- The unique numeric identifier of the tax class object. NOTE: Will be 0 if automatic tax was enabled, or if the default tax class was used. example: 0 type: integer @@ -3677,6 +3683,7 @@ components: enum: - auspost - canadapost + - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)) - endicia - usps - fedex @@ -3684,7 +3691,7 @@ components: - upsready - upsonline - shipperhq - - ' ' + - '' tracking_carrier: type: string title: Tracking Carrier @@ -4053,6 +4060,11 @@ components: description: Tracking number of the shipment. example: w4se4b6ASFEW4T maxLength: 50 + tracking_link: + type: string + description: Tracking link that is associated with your shipment. + example: https://www.mycustomtrackinglink.com/tracking + maxLength: 500 shipping_method: description: | Additional information to describe the method of shipment (ex. Standard, Ship by Weight, Custom Shipment). Can be used for live quotes from certain shipping providers. @@ -4065,6 +4077,7 @@ components: enum: - auspost - canadapost + - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)) - endicia - usps - fedex @@ -4083,7 +4096,7 @@ components: description: Comments the shipper wishes to add. maxLength: 65535 items: - description: |- + description: |- The items in the shipment. This object has the following members, all integer: order_product_id (required), quantity (required), product_id (read-only). A sample items value might be: [ {"order_product_id":16,"product_id": 0,"quantity":2} ] type: array items: @@ -4119,6 +4132,7 @@ components: enum: - auspost - canadapost + - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)) - endicia - usps - fedex @@ -4132,6 +4146,11 @@ components: description: |- Tracking carrier for the shipment. Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). + tracking_link: + type: string + description: Tracking link that is associated with your shipment. + example: https://www.mycustomtrackinglink.com/tracking + maxLength: 500 comments: type: string description: Comments the shipper wishes to add. @@ -4263,7 +4282,7 @@ components: type: string description: |- IPv4 Address of the customer, if known. - + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address` value will reset the `ip_address_v6` value and vice versa. example: 12.345.678.910 maxLength: 30 @@ -4271,7 +4290,7 @@ components: type: string description: |- IPv6 Address of the customer, if known. - + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address_v6` value will reset the `ip_address` value and vice versa. example: '2001:db8:3333:4444:5555:6666:7777:8888' maxLength: 39 @@ -4492,7 +4511,7 @@ components: example: '0.0000' type: string shipping_cost_tax_class_id: - description: |- + description: |- Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) example: 2 type: integer @@ -4503,7 +4522,7 @@ components: handling_cost_tax_class_id: description: |- A read-only value. Do not attempt to set or modify this value in a POST or PUT request. - + (NOTE: Value ignored if automatic tax is enabled on the store.) example: 2 type: integer @@ -4513,9 +4532,9 @@ components: type: string wrapping_cost_tax_class_id: description: |- - A read-only value. Do not attempt to set or modify this value in a POST or PUT request. + A read-only value. Do not attempt to set or modify this value in a POST or PUT request. - NOTE: Value ignored if automatic tax is enabled on the store. + NOTE: Value ignored if automatic tax is enabled on the store. example: 3 type: integer payment_status: @@ -4608,10 +4627,10 @@ components: title: Custom product description: |- **Usage notes:** - + To `add` a custom product to an existing order, don't include `id` in the payload. You must provide a non-empty value for at least one of these fields: `name`, `name_customer`, or `name_merchant`. To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. You cannot change omitted fields. - + Note the following constraints and default field values: - Empty strings `''` and `null` are invalid for `xxx`, `xxx_customer`, and `xxx_merchant`. - `name` and `name_customer` always hold the same value; updating either `name` or `name_customer` will change the value for both of those fields. @@ -4660,7 +4679,7 @@ components: To `add` a product to an existing order, don't include `id` in the payload. When adding a product with variants, `product_options` are required. To `update` an order product line, `id` is required. The payload should only contain the fields that need to be updated. The fields that you omit will not be changed. - + Note the following constraints and default field values: - `xxx` and `xxx_customer` always hold the same value. Updating either `xxx` or `xxx_customer` will change the value of both fields. - If both fields `xxx` and `xxx_customer` are present, they must have same value. @@ -4699,15 +4718,15 @@ components: description: List of product variant options and modifiers. `product_options` are required when removing a product with variants and not specifying the `variant_id`, or when products have mandatory modifiers. items: type: object - properties: + properties: cost_price_inc_tax: type: string - description: |- + description: |- The product’s cost price including tax. (Float, Float-As-String, Integer) The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. Read Only. readOnly: true - example: '0.0000' - price_ex_tax: + example: '0.0000' + price_ex_tax: type: string description: |- The products cost price excluding tax. (Float, Float-As-String, Integer) @@ -4885,7 +4904,7 @@ components: channel_id: description: Shows where the order originated. The channel_id will default to 1. example: 1 - type: integer + type: integer consignments: $ref: '#/components/schemas/orderConsignment_Put' customer_id: @@ -4949,7 +4968,7 @@ components: type: string description: |- IPv4 Address of the customer, if known. - + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address` value will reset the `ip_address_v6` value and vice versa. example: 12.345.678.910 maxLength: 30 @@ -4957,7 +4976,7 @@ components: type: string description: |- IPv6 Address of the customer, if known. - + Note: You can set either `ip_address` or `ip_address_v6`. Setting the `ip_address_v6` value will reset the `ip_address` value and vice versa. example: '2001:db8:3333:4444:5555:6666:7777:8888' maxLength: 39 @@ -4976,7 +4995,7 @@ components: order_is_digital: description: Whether this is an order for digital products. example: false - type: boolean + type: boolean payment_method: type: string description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `Cash`,`Test Payment Gateway`, etc.' @@ -4994,7 +5013,7 @@ components: - $ref: '#/components/schemas/orderCustomProduct_Put' - $ref: '#/components/schemas/orderRemoveProduct_Put' refunded_amount: - description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) + description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) example: '0.0000' type: string shipping_cost_ex_tax: From abce19a5747be0827eb3105ebd3536a73a80505e Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 21 Aug 2023 15:59:55 -0500 Subject: [PATCH 255/360] DEVDOCS-5348: [update] Currencies, fix links and style (#1421) --- reference/channels.v3.yml | 8 ++++---- reference/currencies.v2.yml | 38 ++++++++++++++++++------------------- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index 4478e6a47..801be2bae 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -252,7 +252,7 @@ paths: - $ref: '#/components/parameters/ContentType' summary: Create Multiple Channels Currency Assignments operationId: createMultipleChannelsCurrencyAssignments - description: Sets enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Sets enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce store control panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -274,7 +274,7 @@ paths: parameters: - $ref: '#/components/parameters/ContentType' operationId: updateMultipleChannelsCurrencyAssignments - description: Updates enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Updates enabled currencies and default currency for multiple channels. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce store control panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -311,7 +311,7 @@ paths: parameters: - $ref: '#/components/parameters/ContentType' operationId: createSingleChannelCurrencyAssignments - description: Sets enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Sets enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce store control panel before the currencies can be assigned to a channel. requestBody: content: application/json: @@ -333,7 +333,7 @@ paths: parameters: - $ref: '#/components/parameters/ContentType' operationId: updateSingleChannelCurrencyAssignments - description: Updates enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce Control Panel before the currencies can be assigned to a channel. + description: Updates enabled currencies and default currency for a specific channel. Note that currencies must be added first in the **Settings > Setup > Currencies** settings from an active MSF-enabled BigCommerce store control panel before the currencies can be assigned to a channel. requestBody: content: application/json: diff --git a/reference/currencies.v2.yml b/reference/currencies.v2.yml index 740ec4b3b..9f291d2fd 100644 --- a/reference/currencies.v2.yml +++ b/reference/currencies.v2.yml @@ -10,13 +10,13 @@ info: | -- | -- | | Default Currency | Storeʼs default currency is the one from which any auto-conversion of pricing (product, tax, shipping, promotions) will happen.| | Display Currency | Currency that is displayed on the storefront. This might or might not mean that shopper can actually transact in that currency. Display currency is also often called "presentment currency" in the payments industry. | - | Transactional Currency | Transactional currency is what currency and amount BC passes to the payment provider and the currency/amount that the shopper will be charged to their bank account. If thereʼs a discrepancy between the storefront display currency and the transactional currency, a shopper has to pay a conversion fee and the conversion rate that will be used will be outside of BCʼs purview. | - | Settlement Currency | This is the currency in which the merchant gets paid out to their bank account. If thereʼs a discrepancy between the currency that shopper transacts in and the currency in which merchant settles, merchant has to pay a conversion fee and the conversion rate used will be outside of BCʼs purview. Merchant is able to set their settlement currency through their payment provider. | + | Transactional Currency | Transactional currency is what currency and amount BigCommerce passes to the payment provider and the currency/amount that the shopper will be charged to their bank account. If thereʼs a discrepancy between the storefront display currency and the transactional currency, a shopper has to pay a conversion fee and the conversion rate that will be used will be outside of BigCommerceʼs purview. | + | Settlement Currency | This is the currency in which the merchant gets paid out to their bank account. If thereʼs a discrepancy between the currency that shopper transacts in and the currency in which merchant settles, merchant has to pay a conversion fee and the conversion rate used will be outside of BigCommerceʼs purview. Merchant is able to set their settlement currency through their payment provider. | |BigCommerce Conversion Rate | Any conversion rate set on BigCommerce used to convert product’s default currency pricing into a new non-default currency. Conversion rate could be static or dynamic. | | Static Conversion Rate | One of the two auto-converted pricing options. If a merchant manually enters a static conversion rate, then the conversion rate will remain the same until/unless merchant updates their currency settings to use a different conversion rate. The advantage of using this method is to avoid constantly fluctuating price in non-default currencies. | | Dynamic Conversion Rate | One of the two auto-converted pricing options. If a merchant selects a dynamic conversion rate, theyʼve tied themselves to a currency conversion service, which will update the conversion rate at a certain frequency. This helps shopper-facing pricing remain most aligned to the storeʼs default currency and keeps non-default currency conversion rate at market rate. Merchant can either use BigCommerce Currency Service provided in the Currency setup page, or they can use API to automatically update the exchange rate from their trusted source. | - | Bank Conversion Rate | Conversion rate used by merchant’s or shopper’s payment or credit card provider when auto-converting from store’s transactional currency. This rate might not align to the BC conversion rate and BC has no visibility into it. | - | Multi Currency Pricing | Rather than opting for auto-converting product pricing from default currency using BC conversion rate, merchant has a choice to set price per product per currency. This will be implemented through price lists. | + | Bank Conversion Rate | Conversion rate used by merchant’s or shopper’s payment or credit card provider when auto-converting from store’s transactional currency. This rate might not align with the BigCommerce conversion rate and BigCommerce has no visibility into it. | + | Multi Currency Pricing | Rather than opting for auto-converting product pricing from default currency using BigCommerce conversion rate, merchant has a choice to set price per product per currency. This will be implemented through price lists. | ## FAQ @@ -26,11 +26,11 @@ info: ## Resources - - [How Currencies Work](/api-docs/catalog/currencies/how-currencies-work) - - [Price List API](/docs/rest-management/price-lists) - - [Using Price Lists](https://support.bigcommerce.com/s/article/Price-Lists) (BigCommerce Knowledge Base) - - [Managing Currencies](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta) (BigCommerce Knowledge Base) - - [Tax](https://support.bigcommerce.com/s/article/Manual-Tax-Setup#intro1) (BigCommerce Knowledge Base) + - [How Currencies Work](/api-docs/multi-currency/guide/how-currencies-work) + - [Price List API Reference](/docs/rest-management/price-lists) + - [Using Price Lists (Help Center)](https://support.bigcommerce.com/s/article/Price-Lists) + - [Managing Currencies (Help Center)](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta) + - [Tax (Help Center)](https://support.bigcommerce.com/s/article/Manual-Tax-Setup#intro1) version: '' termsOfService: 'https://www.bigcommerce.com/terms' contact: @@ -52,7 +52,6 @@ tags: paths: /currencies: parameters: - - $ref: '#/components/parameters/Accept' get: tags: @@ -94,7 +93,7 @@ paths: * date_modified - The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. To change the storeʼs default currency in the BigCommerce control panel, please see [Managing Currencies](https://support.bigcommerce.com/articles/Public/Managing-Currencies/?q=currency&l=en_US&fs=Search&pn=1#default). + The `is_default` property can only be set to true. The value of `is_default` cannot be unset, only overridden. To change the storeʼs default currency in the BigCommerce control panel, please see [Managing Currencies (Help Center)](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta). parameters: - $ref: '#/components/parameters/ContentType' requestBody: @@ -125,7 +124,6 @@ paths: type: object /currencies/{id}: parameters: - - $ref: '#/components/parameters/Accept' - name: id in: path @@ -202,14 +200,14 @@ components: currency_Base: title: currency_Base required: - - currency_code - - currency_exchange_rate - - decimal_places - - decimal_token - - name - - thousands_token - - token - - token_location + - currency_code + - currency_exchange_rate + - decimal_places + - decimal_token + - name + - thousands_token + - token + - token_location type: object properties: is_default: From 64e32cdf49b94fb06e6eff04741d45afe31e9a51 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 22 Aug 2023 09:45:26 -0500 Subject: [PATCH 256/360] DEVDOCS-5258: [update] update image size limit (#1420) --- reference/catalog/products_catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 9c35f6939..95eb7e72e 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -7008,7 +7008,7 @@ components: image_file: type: string description: | - The local path to the original image file uploaded to BigCommerce. Limit of 1MB per file. + The local path to the original image file uploaded to BigCommerce. Limit of 8MB per file. is_thumbnail: type: boolean description: | From 65e1dd0224847654165c2757cc71523c3f21807e Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 28 Aug 2023 12:00:34 -0500 Subject: [PATCH 257/360] DEVDOCS-5393: [update] Orders V3, fix route duplication issues (#1423) --- reference/orders.v3.yml | 151 ++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 82 deletions(-) diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index a2436c8bc..86b9eca81 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -380,7 +380,75 @@ paths: '/orders/payment_actions/refunds': parameters: - $ref: '#/components/parameters/Accept' - '/stores/{store_hash}/v3/orders/payment_actions/refund_quotes': + get: + summary: Get All Refunds + description: |- + Returns a list of refunds ordered by refund ID in ascending order. + + Requires at least one of the following scopes: + * `store_v2_transactions_read_only` + * `store_v2_transactions` + * `store_v2_orders_read_only` + * `store_v2_orders` + operationId: getrefunds + tags: + - Payment Actions + parameters: + - name: 'order_id:in' + in: query + description: Filter by `order_id`. Accepts multiple as comma-separated values. + style: form + explode: false + schema: + type: array + items: + type: integer + - name: 'id:in' + in: query + description: Filter by refund `id`. Accepts multiple as comma-separated values. + style: form + explode: false + schema: + type: array + items: + type: integer + - in: query + name: 'created:min' + description: |- + Filter results so they are later than or equal to provided date. + + + Must be in url-encoded RFC 3339 format. + e.g. `2020-01-15T01:02:34-01:00` is RFC 3339 format. + Url-encoded this will be `2020-01-15T01%3A02%3A34%2B01%3A00` + schema: + type: string + format: date-time + - in: query + name: 'created:max' + description: |- + Filter results so they are earlier than or equal to provided date. + + Must be in url-encoded RFC 3339 format. + e.g. `2020-01-15T01:02:34-01:00` is RFC 3339 format. + Url-encoded this will be `2020-01-15T01%3A02%3A34%2B01%3A00` + schema: + type: string + format: date-time + - in: query + name: page + description: Specifies the page number in a limited (paginated) list of items. + schema: + type: integer + - in: query + name: limit + description: Controls the number of items per page in a limited (paginated) list of items. + schema: + type: integer + responses: + '200': + $ref: '#/components/responses/RefundCollection_Resp' + '/orders/payment_actions/refund_quotes': post: summary: Create Refund Quotes - BATCH description: |- @@ -493,87 +561,6 @@ paths: tags: - Payment Actions x-private: true - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - '/stores/{store_hash}/v3/orders/payment_actions/refunds': - get: - summary: Get All Refunds - description: |- - Returns a list of refunds ordered by refund ID in ascending order. - - Requires at least one of the following scopes: - * `store_v2_transactions_read_only` - * `store_v2_transactions` - * `store_v2_orders_read_only` - * `store_v2_orders` - operationId: getrefunds - parameters: - - name: store_hash - in: path - required: true - schema: - type: string - - name: 'order_id:in' - in: query - description: Filter by `order_id`. Accepts multiple as comma-separated values. - style: form - explode: false - schema: - type: array - items: - type: integer - - name: 'id:in' - in: query - description: Filter by refund `id`. Accepts multiple as comma-separated values. - style: form - explode: false - schema: - type: array - items: - type: integer - - in: query - name: 'created:min' - description: |- - Filter results so they are later than or equal to provided date. - - - Must be in url-encoded RFC 3339 format. - e.g. `2020-01-15T01:02:34-01:00` is RFC 3339 format. - Url-encoded this will be `2020-01-15T01%3A02%3A34%2B01%3A00` - schema: - type: string - format: date-time - - in: query - name: 'created:max' - description: |- - Filter results so they are earlier than or equal to provided date. - - - Must be in url-encoded RFC 3339 format. - e.g. `2020-01-15T01:02:34-01:00` is RFC 3339 format. - Url-encoded this will be `2020-01-15T01%3A02%3A34%2B01%3A00` - schema: - type: string - format: date-time - - in: query - name: page - description: Specifies the page number in a limited (paginated) list of items. - schema: - type: integer - - in: query - name: limit - description: Controls the number of items per page in a limited (paginated) list of items. - schema: - type: integer - responses: - '200': - $ref: '#/components/responses/RefundCollection_Resp' - tags: - - Payment Actions '/orders/{order_id}/metafields': parameters: - $ref: '#/components/parameters/Accept' From 3809ae4fe4d111a4c0e689ed6ba168b567d3b0ab Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Mon, 28 Aug 2023 18:05:12 +0100 Subject: [PATCH 258/360] (external): [update] Marketing V2, remove invalid str property in restricted_to (#1419) --- reference/marketing.v2.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index 0891c25c8..106871a60 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -1012,8 +1012,6 @@ components: properties: countries: type: string - ? - : type: string shipping_methods: type: array description: This is a list of shipping-method names. A shipping method From cf4deca21c35661632deab622c5fedc854d0a3e1 Mon Sep 17 00:00:00 2001 From: stanzikratelbc <108146487+stanzikratelbc@users.noreply.github.com> Date: Wed, 30 Aug 2023 11:05:10 -0500 Subject: [PATCH 259/360] DEVDOCS-4569: [update] Pages V3, change response body datatype (#1426) --- reference/pages.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/pages.v3.yml b/reference/pages.v3.yml index cbb9094ab..bcf6a2943 100644 --- a/reference/pages.v3.yml +++ b/reference/pages.v3.yml @@ -774,7 +774,7 @@ components: allOf: - properties: data: - type: array + type: object items: $ref: '#/components/schemas/Page' meta: From af3bd63ec0079c91cfb496b580431c906d2d5b55 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 30 Aug 2023 16:35:39 -0500 Subject: [PATCH 260/360] DEVDOCS-5072: [update] external_id and external_order_id (#1427) Co-authored-by: Sarah Riehl --- reference/orders.v2.oas2.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 8f7dc8717..f78e600d7 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -3114,10 +3114,11 @@ components: coupons: $ref: '#/components/schemas/coupons_Resource' external_id: - description: ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order. This field can be updated in a POST request, but using a PUT request to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set. + description: (Read-only) ID of the order in another system. For example, the Amazon order ID if this is an Amazon order. example: null type: string nullable: true + readOnly: true external_merchant_id: description: ID of the merchant. example: null @@ -3467,9 +3468,10 @@ components: items: $ref: '#/components/schemas/orderProductOptions' external_id: - description: ID of the order in another system. For example, the Amazon Order ID if this is an Amazon order. This field can be updated in a /POST, but using a /PUT to update the order will return a 400 error. The field ''external_id'' cannot be written to. Please remove it from your request before trying again. It cannot be overwritten once set. + description: (Read-only) ID of the order in another system. For example, the Amazon order ID if this is an Amazon order. type: string nullable: true + readOnly: true upc: type: string maxLength: 255 @@ -4242,11 +4244,11 @@ components: example: '0' type: string external_id: - description: The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. + description: (Read-only) The order ID in another system, such as the Amazon order ID if this is an Amazon order. example: null - oneOf: - - type: string + type: string nullable: true + readOnly: true external_merchant_id: description: The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null @@ -4372,7 +4374,7 @@ components: external_order_id: type: string example: external-order-id - description: The external id of the order. + description: The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you can update this field using a POST or PUT request. total_ex_tax: description: Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' @@ -4928,11 +4930,11 @@ components: example: '0' type: string external_id: - description: The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you cannot write to or update the `external_id`. You can update this field using a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. + description: (Read-only) The order ID in another system, such as the Amazon Order ID if this is an Amazon order. example: null - oneOf: - - type: string + type: string nullable: true + readOnly: true external_merchant_id: description: The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null @@ -5066,7 +5068,7 @@ components: external_order_id: type: string example: external-order-id - description: The external id of the order. + description: The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you can update this field using a POST or PUT request. total_ex_tax: description: Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer) example: '225.0000' From 9c331d2e67ff5be2164126734abd0aa760d4a606 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 5 Sep 2023 16:07:27 -0500 Subject: [PATCH 261/360] DEVDOCS-5362: [revise] Ordersv2, Update tracking_link details (#1455) Co-authored-by: Andrew Chan Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/orders.v2.oas2.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index f78e600d7..00b1bebeb 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -622,11 +622,11 @@ paths: There are three methods for generating a tracking link for a shipment: - 1. Use `shipping_provider` and `tracking_number`: This generates an automatic tracking link that you can click from the BigCommerce control panel and customer-facing emails. However, the `tracking_link` property in the API response will remain empty. + 1. Use `shipping_provider` and `tracking_number`: This generates an automatic tracking link that you can click from the BigCommerce control panel and customer-facing emails. The `generated_tracking_link` property in the API response represents this tracking link. The `tracking_link` property in the API response will remain empty. - 2. Use `tracking_carrier` and `tracking_number`: This also creates an automatic tracking link that you can click in both the BigCommerce control panel and customer-facing emails. Like the previous method, the `tracking_link` property in the API response will be empty. + 2. Use `tracking_carrier` and `tracking_number`: This also creates an automatic tracking link that you can click in both the BigCommerce control panel and customer-facing emails. Like the previous method, the `generated_tracking_link` property in the API response represents this tracking link. The `tracking_link` property in the API response will remain empty. - 3. Supply a custom `tracking_link`: By providing a value for the `tracking_link` property, you can use your own tracking link within the BigCommerce control panel and in customer-facing emails. The API response will return your supplied `tracking_link` as part of the response. + 3. Supply a custom `tracking_link`: By providing a value for the `tracking_link` property, you can use your own tracking link within the BigCommerce control panel and in customer-facing emails. The API response will return your supplied tracking link as part of the `tracking_link` property in the response. In situations when there isn't a `generated_tracking_link`, the property in the API response will remain empty. Acceptable values for `shipping_provider` include an empty string (`""`), `auspost`, `carrier_{your_carrier_id}` (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)), `canadapost`, `endicia`, `usps`, `fedex`, `royalmail`, `ups`, `upsready`, `upsonline`, or `shipperhq`. @@ -2399,6 +2399,7 @@ components: - order_product_id: 188 product_id: 0 quantity: 1 + generated_tracking_link: http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=EJ958083578US - id: 7 order_id: 225 customer_id: 11 @@ -2441,6 +2442,7 @@ components: - order_product_id: 189 product_id: 0 quantity: 1 + generated_tracking_link: http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=EJ958083578US orderShipment_Resp: description: '' content: @@ -2461,6 +2463,7 @@ components: comments: Ready to go... shipping_provider: usps tracking_carrier: '' + tracking_link: '' billing_address: first_name: Jane last_name: Doe @@ -2494,6 +2497,7 @@ components: - order_product_id: 195 product_id: 0 quantity: 1 + generated_tracking_link: http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=EJ958083578US orderCount_Resp: description: '' content: @@ -3702,7 +3706,7 @@ components: Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). tracking_link: type: string - description: Returns a tracking link from the shipping service. + description: The custom tracking link supplied on POST or PUT shipments. For the auto-generated tracking link see the `generated_tracking_link` property. comments: type: string description: Comments the shipper wishes to add. @@ -3727,6 +3731,9 @@ components: quantity: type: integer example: 2 + generated_tracking_link: + type: string + description: The tracking link that is generated using the combination of either the `tracking_number` and `shipping_provider` or `tracking_number` and `tracking_carrier`. This will be empty if the custom `tracking_link` value is provided. x-internal: false orderConsignments_Resource: title: orderConsignments_Resource @@ -4064,7 +4071,7 @@ components: maxLength: 50 tracking_link: type: string - description: Tracking link that is associated with your shipment. + description: The custom tracking link supplied on POST or PUT shipments. For the auto-generated tracking link see the `generated_tracking_link` property. example: https://www.mycustomtrackinglink.com/tracking maxLength: 500 shipping_method: @@ -4150,7 +4157,7 @@ components: Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). tracking_link: type: string - description: Tracking link that is associated with your shipment. + description: The custom tracking link supplied on POST or PUT shipments. For the auto-generated tracking link see the `generated_tracking_link` property. example: https://www.mycustomtrackinglink.com/tracking maxLength: 500 comments: From f6d885ed3b64b38ae73027b53b5cd7e9b543d497 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Wed, 6 Sep 2023 09:25:54 -0500 Subject: [PATCH 262/360] DEVDOCS-5420: [new] Expose discounted_total_inc_tax on the orders v2 api (#1457) Co-authored-by: Donald Nguyen <63274600+donald-nguyen-bc@users.noreply.github.com> Co-authored-by: Bin Li --- reference/orders.v2.oas2.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 00b1bebeb..8748acb88 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -1940,6 +1940,7 @@ components: display_style: Pick list configurable_fields: [] gift_certificate_id: null + discounted_total_inc_tax: '63.6400' - id: 66 order_id: 149 product_id: 86 @@ -1988,6 +1989,7 @@ components: product_options: [] configurable_fields: [] gift_certificate_id: null + discounted_total_inc_tax: '0.0000' orderProductLineItem_Resp: description: '' content: @@ -2046,6 +2048,7 @@ components: brand: BigCommerce applied_discounts: [] product_options: [] + discounted_total_inc_tax: '37.2300' Product with file upload: value: - id: 35 @@ -3496,6 +3499,15 @@ components: example: 52 description: ID of the associated gift certificate. nullable: true + discounted_total_inc_tax: + type: string + example: '0.0000' + description: |- + Represent the correct total amount of the line item after deducting all the discounts and including the tax. This number can be used for accounting purpose. + + This makes it easier to have the "shopper paid" value for a line item and api user doesn't have to do any calculation to deduct discount on the client side. + + This field includes all types of discounts (automatic, coupon, manual) and therefore if you use this value, you don't need to deduct any more discounts at line item level or order level. orderCount: title: orderCount example: From 5c27dd44bed3d9d0313768fabd3b0a9a190e7664 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 6 Sep 2023 09:50:32 -0500 Subject: [PATCH 263/360] DEVDOCS-5146: [update] update cost_price fields (#1432) Co-authored-by: Tina Gomez Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/orders.v2.oas2.yml | 191 +++++++++++++++++------------------ 1 file changed, 95 insertions(+), 96 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 8748acb88..17296928f 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -1850,9 +1850,9 @@ components: total_tax: '9.2400' weight: '1.0000' quantity: 1 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' + base_cost_price: '50.0000' + cost_price_inc_tax: '50.0000' + cost_price_ex_tax: '50.0000' cost_price_tax: '0.0000' is_refunded: false quantity_refunded: 0 @@ -1958,9 +1958,9 @@ components: total_tax: '0.0000' weight: '0.0000' quantity: 1 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' + base_cost_price: '50.0000' + cost_price_inc_tax: '50.0000' + cost_price_ex_tax: '50.0000' cost_price_tax: '0.0000' is_refunded: false quantity_refunded: 0 @@ -2019,9 +2019,9 @@ components: total_tax: '5.2800' weight: '2.0000' quantity: 1 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' + base_cost_price: '50.0000' + cost_price_inc_tax: '50.0000' + cost_price_ex_tax: '50.0000' cost_price_tax: '0.0000' is_refunded: false quantity_refunded: 0 @@ -2051,75 +2051,75 @@ components: discounted_total_inc_tax: '37.2300' Product with file upload: value: - - id: 35 - order_id: 125 - product_id: 127 - variant_id: 99 - order_address_id: 18 - name: Journal - name_customer: Journal - name_merchant: Journal - sku: Jour-BLK - upc: '' - type: physical - base_price: '45.0000' - price_ex_tax: '41.5700' - price_inc_tax: '45.0000' - price_tax: '3.4300' - base_total: '45.0000' - total_ex_tax: '41.5700' - total_inc_tax: '45.0000' - total_tax: '3.4300' - weight: '0.0000' - width: '0.0000' - height: '0.0000' - depth: '0.0000' - quantity: 1 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' - cost_price_tax: '0.0000' - is_refunded: false - quantity_refunded: 0 - refund_amount: '0.0000' - return_id: 0 - wrapping_name: '' - base_wrapping_cost: '0.0000' - wrapping_cost_ex_tax: '0.0000' - wrapping_cost_inc_tax: '0.0000' - wrapping_cost_tax: '0.0000' - wrapping_message: '' - quantity_shipped: 0 - event_name: null - event_date: '' - fixed_shipping_cost: '0.0000' - ebay_item_id: '' - ebay_transaction_id: '' - option_set_id: null - parent_order_product_id: null - is_bundled_product: false - bin_picking_number: '' - external_id: null - fulfillment_source: '' - brand: BigCommerce - applied_discounts: [] - product_options: - - id: 18 - option id: 38 - order_product_id: 35 - product_option_id: 121 - display_name: Custom Logo Engraving - display_name_customer: Custom Logo Engraving - display_name_merchant: Custom Logo Engraving - display_value: BigCommerceLogo.jpeg - display_value_customer: BigCommerceLogo.jpeg - display_value_merchant: BigCommerceLogo.jpeg - value: {\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"} - type: File upload field - name: Custom Logo Engraving - display_style: "" - configurable_fields: [] - gift_certificate_id: null + - id: 35 + order_id: 125 + product_id: 127 + variant_id: 99 + order_address_id: 18 + name: Journal + name_customer: Journal + name_merchant: Journal + sku: Jour-BLK + upc: '' + type: physical + base_price: '45.0000' + price_ex_tax: '41.5700' + price_inc_tax: '45.0000' + price_tax: '3.4300' + base_total: '45.0000' + total_ex_tax: '41.5700' + total_inc_tax: '45.0000' + total_tax: '3.4300' + weight: '0.0000' + width: '0.0000' + height: '0.0000' + depth: '0.0000' + quantity: 1 + base_cost_price: '50.0000' + cost_price_inc_tax: '50.0000' + cost_price_ex_tax: '50.0000' + cost_price_tax: '0.0000' + is_refunded: false + quantity_refunded: 0 + refund_amount: '0.0000' + return_id: 0 + wrapping_name: '' + base_wrapping_cost: '0.0000' + wrapping_cost_ex_tax: '0.0000' + wrapping_cost_inc_tax: '0.0000' + wrapping_cost_tax: '0.0000' + wrapping_message: '' + quantity_shipped: 0 + event_name: null + event_date: '' + fixed_shipping_cost: '0.0000' + ebay_item_id: '' + ebay_transaction_id: '' + option_set_id: null + parent_order_product_id: null + is_bundled_product: false + bin_picking_number: '' + external_id: null + fulfillment_source: '' + brand: BigCommerce + applied_discounts: [] + product_options: + - id: 18 + option id: 38 + order_product_id: 35 + product_option_id: 121 + display_name: Custom Logo Engraving + display_name_customer: Custom Logo Engraving + display_name_merchant: Custom Logo Engraving + display_value: BigCommerceLogo.jpeg + display_value_customer: BigCommerceLogo.jpeg + display_value_merchant: BigCommerceLogo.jpeg + value: {\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"} + type: File upload field + name: Custom Logo Engraving + display_style: "" + configurable_fields: [] + gift_certificate_id: null Custom Product: value: id: 238 @@ -2146,9 +2146,9 @@ components: height: '0.0000' depth: '0.0000' quantity: 1 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' + base_cost_price: '50.0000' + cost_price_inc_tax: '50.0000' + cost_price_ex_tax: '50.0000' cost_price_tax: '0.0000' is_refunded: false quantity_refunded: 0 @@ -2203,9 +2203,9 @@ components: height: '3.0000' depth: '3.0000' quantity: 4 - base_cost_price: '0.0000' - cost_price_inc_tax: '0.0000' - cost_price_ex_tax: '0.0000' + base_cost_price: '50.0000' + cost_price_inc_tax: '50.0000' + cost_price_ex_tax: '50.0000' cost_price_tax: '0.0000' is_refunded: false quantity_refunded: 0 @@ -3355,20 +3355,20 @@ components: example: 1 type: integer base_cost_price: - description: The product’s cost price. This can be set using the Catalog API. (Float, Float-As-String, Integer) Read Only - example: '0.0000' + description: The product’s cost price. This can be set using the Catalog API. (Float, Float-As-String, Integer) + example: '50.0000' type: string cost_price_inc_tax: description: |- The product’s cost price including tax. (Float, Float-As-String, Integer) - The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. Read Only - example: '0.0000' + The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. + example: '50.0000' type: string cost_price_ex_tax: description: |- - The products cost price excluding tax. (Float, Float-As-String, Integer) - The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. Read Only - example: '0.0000' + The product cost price excluding tax. (Float, Float-As-String, Integer) + The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. + example: '50.0000' type: string weight: description: Weight of the product. (Float, Float-As-String, Integer) @@ -4744,15 +4744,14 @@ components: type: string description: |- The product’s cost price including tax. (Float, Float-As-String, Integer) - The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. Read Only. - readOnly: true - example: '0.0000' - price_ex_tax: + The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. + example: '50.0000' + price_ex_tax: type: string description: |- The products cost price excluding tax. (Float, Float-As-String, Integer) The cost of your products to you; this is never shown to customers, but can be used for accounting purposes. Read Only. - readOnly: true + readOnly: true example: '0.0000' orderCatalogProduct_Post: title: orderCatalogProduct_Post From 04fbb8081387e5bd852b645c450f8a455cad7b31 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 6 Sep 2023 10:05:01 -0500 Subject: [PATCH 264/360] DEVDOCS-5226: [Update] Add limits to scripts.v3.yml (#1431) --- reference/scripts.v3.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/reference/scripts.v3.yml b/reference/scripts.v3.yml index 2e2a960f9..a63bb89ef 100644 --- a/reference/scripts.v3.yml +++ b/reference/scripts.v3.yml @@ -110,6 +110,9 @@ paths: **Read Only Fields** * uuid + **Limits** + * 50 scripts per channel. + **Notes** * If the `kind` is `src`: * Specify the `src` property. From d408e583dddfc6d3c4f2a9ac919f0b14eaf388dc Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 6 Sep 2023 13:12:43 -0500 Subject: [PATCH 265/360] DEVDOCS-5057: [update] Theme job (#1428) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/themes.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/themes.v3.yml b/reference/themes.v3.yml index 4f976d0ce..8989e65db 100644 --- a/reference/themes.v3.yml +++ b/reference/themes.v3.yml @@ -465,7 +465,7 @@ paths: additionalProperties: true title: Detailed Errors title: Error Response - description: 'Returns a theme *Job*. If job is completed, the result is included in the response.' + description: 'Returns a theme *Job*. When the job is complete, the results array provides a generated link to access the theme. The link is active for 60 seconds.' parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/JobIdParam' From 6994cba59665ec88cad695ddfbf15c27f933d945 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 6 Sep 2023 15:19:28 -0500 Subject: [PATCH 266/360] DEVDOCS-5395: [update] change object to array (#1430) --- reference/catalog/categories_catalog.v3.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index 9821fff1e..8d1338fc4 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -1783,8 +1783,14 @@ paths: content: application/json: schema: - type: object - properties: {} + type: array + items: + type: object + properties: + product_id: + type: number + sort_order: + type: integer '404': description: The requested category was not found. content: @@ -2366,7 +2372,7 @@ components: example: 2 responses: General207Status: - description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' + description: 'Multi-status. Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occurred, such as when a `POST` or `PUT` request is successful, but saving the URL or inventory data has failed.' content: application/json: schema: From 1d7216cdbefa60760621a79bb00650533ed3f17e Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 8 Sep 2023 12:45:05 -0500 Subject: [PATCH 267/360] DEVDOCS-5260: [revise] CustomersV3, Create a Customer rate limits (#1461) Co-authored-by: Traci Porter --- reference/customers.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index b762c675a..334bf2513 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -215,7 +215,7 @@ paths: * attribute_value -- This is input as a string, regardless of the [Type](/docs/rest-management/customers/customer-attributes#create-a-customer-attribute). **Limits** - * Limit of 10 concurrent requests + * Create 20 customers over the span of an hour. Attempting to make more than 20 API calls will result in a `429` return status until the hour has lapsed. **Notes** From 7d5f55415345805be41f434f5e6e081fe7894040 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sat, 9 Sep 2023 23:57:34 +0100 Subject: [PATCH 268/360] [external] bugfix: remove duplicate video id param on product video endpoint (#1454) Co-authored-by: Sarah Riehl --- reference/catalog/products_catalog.v3.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 95eb7e72e..82ce154f2 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -2878,13 +2878,6 @@ paths: description: Returns a single *Product Video*. Optional parameters can be passed in. operationId: getProductVideoById parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -2952,12 +2945,6 @@ paths: operationId: updateProductVideo parameters: - $ref: '#/components/parameters/ContentType' - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer requestBody: content: application/json: @@ -3098,13 +3085,6 @@ paths: summary: Delete a Product Video description: Deletes a *Product Video*. operationId: deleteProductVideo - parameters: - - name: id - in: path - description: The BigCommerce ID of the `Video` - required: true - schema: - type: integer responses: '204': description: '' From ac9cff140d4557fdd5541952d7ebaa49cf6e042b Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sat, 9 Sep 2023 23:59:05 +0100 Subject: [PATCH 269/360] [external] bugfix: remove duplicate uuid param on theme configuration endpoint. (#1453) Co-authored-by: Sarah Riehl --- reference/themes.v3.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/reference/themes.v3.yml b/reference/themes.v3.yml index 8989e65db..61b0475c0 100644 --- a/reference/themes.v3.yml +++ b/reference/themes.v3.yml @@ -507,11 +507,6 @@ paths: description: Filter configurations by a variation_uuid. parameters: - $ref: '#/components/parameters/Accept' - - schema: - type: string - name: uuid - in: path - required: true - in: query name: 'site_id:in' description: Filter configurations by a list of site_ids From 8ef7d085783aabdda993f7e760181a498a4f1619 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:00:44 +0100 Subject: [PATCH 270/360] [external] bugfix: remove duplicate category id param on category sort order endpoint (#1452) Co-authored-by: Sarah Riehl --- reference/catalog/categories_catalog.v3.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index 8d1338fc4..a81035628 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -1770,13 +1770,6 @@ paths: - Priority 2: Manually specified sort order on Product (Global) Level (UI/API). - Priority 3: Default sorting by Product ID (newly added products go first) (UI/API). operationId: getsortorders - parameters: - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer responses: '200': description: '' @@ -1805,12 +1798,6 @@ paths: operationId: updatesortorder parameters: - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: application/json: From d10044ab0e2b3d72262cd389af15060310b4c137 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:02:21 +0100 Subject: [PATCH 271/360] [external] bugfix: review duplicate review id param on product reviews endpoint (#1451) Co-authored-by: Sarah Riehl --- reference/catalog/products_catalog.v3.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 82ce154f2..82cdeb55d 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -5822,14 +5822,6 @@ paths: description: Returns a single *Product Review*. Optional parameters maybe passed in. operationId: getProductReviewById parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -5962,13 +5954,6 @@ paths: operationId: updateProductReview parameters: - $ref: '#/components/parameters/ContentType' - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer requestBody: description: | A BigCommerce `ProductReview` object. @@ -6135,14 +6120,6 @@ paths: summary: Delete a Product Review description: Deletes a *Product Review*. operationId: deleteProductReview - parameters: - - name: review_id - in: path - description: | - The ID of the `review` that is being operated on. - required: true - schema: - type: integer responses: '204': description: '' From aad1062a93cceb5a0d0fda17ab7fda1a579de8fe Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:04:05 +0100 Subject: [PATCH 272/360] [external] bugfix: remove duplicate variant_id param from product variants endpoint (#1450) Co-authored-by: Sarah Riehl --- .../catalog/product-variants_catalog.v3.yml | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 049336b86..fa2e21fdc 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -379,14 +379,6 @@ paths: description: Returns a single product *Variant*. Optional parameters can be passed in. operationId: getVariantById parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -473,13 +465,6 @@ paths: operationId: updateVariant parameters: - $ref: '#/components/parameters/ContentType' - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer requestBody: content: application/json: @@ -572,14 +557,6 @@ paths: summary: Delete a Product Variant description: Deletes a product *Variant*. operationId: deleteVariantById - parameters: - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer responses: '204': description: '' From f8ab2953aa76548a8bf6eedc14f7379ff4a7adcc Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:06:35 +0100 Subject: [PATCH 273/360] [external] bugfix: remove product variant options option_id param (#1449) Co-authored-by: Sarah Riehl --- .../product-variant-options_catalog.v3.yml | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/product-variant-options_catalog.v3.yml b/reference/catalog/product-variant-options_catalog.v3.yml index 883191867..0c366ac94 100644 --- a/reference/catalog/product-variant-options_catalog.v3.yml +++ b/reference/catalog/product-variant-options_catalog.v3.yml @@ -796,14 +796,6 @@ paths: description: Returns a single *Variant Option*. Optional parameters can be passed in. operationId: getOptionById parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -860,13 +852,6 @@ paths: operationId: updateOption parameters: - $ref: '#/components/parameters/ContentType' - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer requestBody: content: application/json: @@ -1475,14 +1460,6 @@ paths: summary: Delete a Product Variant Option description: Deletes a *Variant Option*. operationId: deleteOptionById - parameters: - - name: option_id - in: path - description: | - The ID of the `Option`. - required: true - schema: - type: integer responses: '204': description: '' From c83cea5d77b2d6a3f5e6726add09bb93dfac9658 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:08:38 +0100 Subject: [PATCH 274/360] [external] bugfix: remove duplicate product modifier id param (#1448) Co-authored-by: Sarah Riehl --- .../catalog/product-modifiers_catalog.v3.yml | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/product-modifiers_catalog.v3.yml b/reference/catalog/product-modifiers_catalog.v3.yml index 374c60cf9..f86def38e 100644 --- a/reference/catalog/product-modifiers_catalog.v3.yml +++ b/reference/catalog/product-modifiers_catalog.v3.yml @@ -846,14 +846,6 @@ paths: description: Returns a single *Product Modifier*. Optional parameters can be passed in. operationId: getModifierById parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -906,13 +898,6 @@ paths: operationId: updateModifier parameters: - $ref: '#/components/parameters/ContentType' - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer requestBody: content: application/json: @@ -1486,14 +1471,6 @@ paths: summary: Delete a Modifier description: Deletes a *Product Modifier*. operationId: deleteModifierById - parameters: - - name: modifier_id - in: path - description: | - The ID of the `Modifier`. - required: true - schema: - type: integer responses: '204': description: '' From 795c0c48c5c46da77e79786208a6547efd0aa7f9 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:12:10 +0100 Subject: [PATCH 275/360] [external] bugfix: remove duplicate variant metafield and variant id params. (#1447) Co-authored-by: Sarah Riehl --- .../catalog/product-variants_catalog.v3.yml | 44 ------------------- 1 file changed, 44 deletions(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index fa2e21fdc..ae22eae88 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -772,21 +772,6 @@ paths: description: Returns a single product variant *Metafield*. Optional parameters can be passed in. operationId: getVariantMetafieldByProductIdAndVariantId parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -852,20 +837,6 @@ paths: operationId: updateVariantMetafield parameters: - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer requestBody: content: application/json: @@ -926,21 +897,6 @@ paths: summary: Delete a Variant Metafield description: Deletes a product variant *Metafield*. operationId: deleteVariantMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: variant_id - in: path - description: | - ID of the variant on a product, or on an associated Price List Record. - required: true - schema: - type: integer responses: '204': description: '' From d0405372d0045d54c8b5f74f896568be5a9214cb Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:12:54 +0100 Subject: [PATCH 276/360] [external] bugfix: remove duplicate metafield_id param definition on product metafield endpoint (#1446) --- reference/catalog/products_catalog.v3.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 82cdeb55d..a12f93303 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -5347,14 +5347,6 @@ paths: description: Returns a single *Product Metafield*. Optional parameters can be passed in. operationId: getProductMetafieldByProductId parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -5420,13 +5412,6 @@ paths: operationId: updateProductMetafield parameters: - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer requestBody: content: application/json: @@ -5487,14 +5472,6 @@ paths: summary: Delete a Product Metafield description: Deletes a *Product Metafield*. operationId: deleteProductMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer responses: '204': description: '' From 16cd9b6d0d303d10bbc7c09c431896e680a665fd Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:13:22 +0100 Subject: [PATCH 277/360] [external] bugfix: remove duplicate brand_id param on brand metafield endpoints. (#1445) --- reference/catalog/brands_catalog.v3.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index dc647edb7..145ca41c5 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -998,14 +998,6 @@ paths: description: 'Returns a list of *Brand Metafields*. Optional filter parameters can be passed in. ' operationId: getBrandMetafieldsByBrandId parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - name: id in: query description: | @@ -1178,13 +1170,6 @@ paths: operationId: createBrandMetafield parameters: - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: application/json: From c15006a0e3ee35cf722500b4e054b62aa3f55c0a Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:13:52 +0100 Subject: [PATCH 278/360] [external] bugfix: remove duplicate category_id on category image endpoint (#1444) --- reference/catalog/categories_catalog.v3.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index a81035628..304fcdada 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -1643,13 +1643,6 @@ paths: operationId: createCategoryImage parameters: - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: multipart/form-data: @@ -1738,14 +1731,6 @@ paths: summary: Delete a Category Image description: Deletes a *Cateogory Image*. operationId: deleteCategoryImage - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer responses: '204': description: '' From a0fce67397b54e31192adf58c2bf05bbe33d785d Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:14:27 +0100 Subject: [PATCH 279/360] [external] bugfix: remove duplicate brand_id param on brand image endpoint (#1443) --- reference/catalog/brands_catalog.v3.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index 145ca41c5..94de280f9 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -1494,13 +1494,6 @@ paths: operationId: createBrandImage parameters: - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: multipart/form-data: @@ -1587,14 +1580,6 @@ paths: summary: Delete a Brand Image description: Deletes a *Brand Image*. operationId: deleteBrandImage - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer responses: '204': description: '' From bede52f50cc8b8c0dfca1b43402451156b04bbb5 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:14:54 +0100 Subject: [PATCH 280/360] [external] bugfix: remove duplicate custom field id param. (#1442) --- reference/catalog/products_catalog.v3.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index a12f93303..7d928d6a3 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -4338,14 +4338,6 @@ paths: description: Returns a single *Custom Field*. Optional parameters can be passed in. operationId: getCustomFieldById parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -4410,13 +4402,6 @@ paths: operationId: updateCustomField parameters: - $ref: '#/components/parameters/ContentType' - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer requestBody: content: application/json: @@ -4557,14 +4542,6 @@ paths: summary: Delete a Custom Field description: Deletes a product *Custom Field*. operationId: deleteCustomFieldById - parameters: - - name: custom_field_id - in: path - description: | - The ID of the `CustomField`. - required: true - schema: - type: integer responses: '204': description: '`204 No Content`. Action has been enacted and no further information is to be supplied. `null` is returned.' From 31f3afc0658be26df3825023fbd0b23ab70af995 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:15:25 +0100 Subject: [PATCH 281/360] [external] bugfix: remove duplicate customer id param on consent endpoint. (#1441) --- reference/customers.v3.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 334bf2513..a4283542f 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -1472,8 +1472,6 @@ paths: - Customer Consent operationId: CustomersConsentByCustomerId_GET deprecated: false - parameters: - - $ref: '#/components/parameters/customerId' responses: '200': $ref: '#/components/responses/consent_Resp' @@ -1510,7 +1508,6 @@ paths: schema: type: string default: application/json - - $ref: '#/components/parameters/customerId' requestBody: content: application/json: @@ -1543,11 +1540,7 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - - schema: - type: string - name: customerId - in: path - required: true + - $ref: '#/components/parameters/customerId' '/customers/{customerId}/stored-instruments': get: summary: Get Stored Instruments From 3bcdd6c16784cf28849e9d954fcfff93f703cb5a Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:15:49 +0100 Subject: [PATCH 282/360] [external] bugfix: remove duplicate complex rule id path params (#1440) --- reference/catalog/products_catalog.v3.yml | 24 ----------------------- 1 file changed, 24 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 7d928d6a3..881572347 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -3543,14 +3543,6 @@ paths: description: Returns a single *Complex Rule*. Optional parameters can be passed in. operationId: getComplexRuleById parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -3744,14 +3736,6 @@ paths: operationId: updateComplexRule parameters: - $ref: '#/components/parameters/ContentType' - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer - requestBody: content: application/json: @@ -4075,14 +4059,6 @@ paths: summary: Delete a Complex Rule description: Deletes a product *Complex Rule*. operationId: deleteComplexRuleById - parameters: - - name: complex_rule_id - in: path - description: | - The ID of the `ComplexRule`. - required: true - schema: - type: integer responses: '204': description: '' From 16d8b16a92d80e0307d89792f1c3c4c6bf1491b6 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:16:41 +0100 Subject: [PATCH 283/360] [external] bugfix: remove duplicate category id and metafield id params. (#1439) --- reference/catalog/categories_catalog.v3.yml | 82 --------------------- 1 file changed, 82 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index 304fcdada..273235a62 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -718,14 +718,6 @@ paths: description: Returns a single *Category*. Optional parameters can be passed in. operationId: getCategoryById parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -785,13 +777,6 @@ paths: operationId: updateCategory parameters: - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: application/json: @@ -1144,14 +1129,6 @@ paths: summary: Delete a Category description: Deletes a *Category*. operationId: deleteCategoryById - parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer responses: '204': description: '' @@ -1167,14 +1144,6 @@ paths: description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in. operationId: getCategoryMetafieldsByCategoryId parameters: - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - name: id in: query description: | @@ -1347,13 +1316,6 @@ paths: operationId: createCategoryMetafield parameters: - $ref: '#/components/parameters/ContentType' - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: application/json: @@ -1450,21 +1412,6 @@ paths: description: Returns a single *Category Metafield*. Optional parameters can be passed in. operationId: getCategoryMetafieldByCategoryId parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -1529,20 +1476,6 @@ paths: operationId: updateCategoryMetafield parameters: - $ref: '#/components/parameters/ContentType' - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: application/json: @@ -1603,21 +1536,6 @@ paths: summary: Delete a Category Metafield description: Deletes a *Category Metafield*. operationId: deleteCategoryMetafieldById - parameters: - - name: metafield_id - in: path - description: | - The ID of the `Metafield`. - required: true - schema: - type: integer - - name: category_id - in: path - description: | - The ID of the `Category` to which the resource belongs. - required: true - schema: - type: integer responses: '204': description: '' From 8f5e2d446781c04866da32b8a30c66a588488643 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:17:26 +0100 Subject: [PATCH 284/360] [external] bugfix: remove duplicate bulk pricing rule id param definition (#1437) --- reference/catalog/products_catalog.v3.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 881572347..88599f5cb 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -4793,14 +4793,6 @@ paths: description: Returns a single *Bulk Pricing Rule*. Optional parameters can be passed in. operationId: getBulkPricingRuleById parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -4876,13 +4868,6 @@ paths: operationId: updateBulkPricingRule parameters: - $ref: '#/components/parameters/ContentType' - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer requestBody: content: application/json: @@ -5045,14 +5030,6 @@ paths: summary: Delete a Bulk Pricing Rule description: Deletes a *Bulk Pricing Rule*. operationId: deleteBulkPricingRuleById - parameters: - - name: bulk_pricing_rule_id - in: path - description: | - The ID of the `BulkPricingRule`. - required: true - schema: - type: integer responses: '204': description: '' From 1b7d48c04110074846b41395ff9eebc0604ea81b Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:18:09 +0100 Subject: [PATCH 285/360] [external] bugfix: remove duplicate brand id params (#1436) --- reference/catalog/brands_catalog.v3.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index 94de280f9..54d8369d5 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -620,14 +620,6 @@ paths: description: Returns a single *Brand*. Optional filter parameters can be passed in. operationId: getBrandById parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -707,13 +699,6 @@ paths: operationId: updateBrand parameters: - $ref: '#/components/parameters/ContentType' - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer requestBody: content: application/json: @@ -975,14 +960,6 @@ paths: summary: Delete a Brand description: Deletes a *Brand*. operationId: deleteBrandById - parameters: - - name: brand_id - in: path - description: | - The ID of the `Brand` to which the resource belongs. - required: true - schema: - type: integer responses: '204': description: '' From e46d6026b637bb1517c64dfac6c890fd69c03132 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:18:54 +0100 Subject: [PATCH 286/360] [external] bugfix: remove duplicate web analytics id param. (#1435) --- reference/settings.v3.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index f9d534b66..4942958d6 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -65,6 +65,7 @@ paths: - $ref: '#/components/parameters/Accept' - name: id in: path + description: Web Analytics Provider ID. required: true schema: type: integer @@ -72,12 +73,6 @@ paths: summary: Get a Web Analytics Provider description: Returns a single web analytics provider data for a default channel. parameters: - - name: id - in: path - description: Web Analytics Provider ID. - required: true - schema: - type: integer - $ref: '#/components/parameters/ChannelIdParam' responses: '200': @@ -105,12 +100,6 @@ paths: description: Updates a single web analytics provider data for a default channel. parameters: - $ref: '#/components/parameters/ContentType' - - name: id - in: path - description: Web Analytics Provider ID. - required: true - schema: - type: integer - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: From 067d52f2e6f77709a12d5b57c2ac3ecec1824c44 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Sun, 10 Sep 2023 00:19:48 +0100 Subject: [PATCH 287/360] [external] bugfix: remove duplicate image id path parameters (#1434) --- reference/catalog/products_catalog.v3.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 88599f5cb..d92ae7b56 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -2334,14 +2334,6 @@ paths: description: Returns a single *Product Image*. Optional parameters can be passed in. operationId: getProductImageById parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer - - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -2415,13 +2407,6 @@ paths: operationId: updateProductImage parameters: - $ref: '#/components/parameters/ContentType' - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer requestBody: content: application/json: @@ -2601,14 +2586,6 @@ paths: summary: Delete a Product Image description: Deletes a *Product Image*. operationId: deleteProductImage - parameters: - - name: image_id - in: path - description: | - The ID of the `Image` that is being operated on. - required: true - schema: - type: integer responses: '204': description: '' From a9b1bbfe4962df3592fa74c18b4bd9dcbab8a8f1 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 11 Sep 2023 15:17:54 -0500 Subject: [PATCH 288/360] DEVDOCS-5446: [revise] Currencies V2, Get All Currencies (#1464) Co-authored-by: Shawn Wang <94653751+bc-shawnwang@users.noreply.github.com> --- reference/currencies.v2.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/reference/currencies.v2.yml b/reference/currencies.v2.yml index 9f291d2fd..2d1fffcde 100644 --- a/reference/currencies.v2.yml +++ b/reference/currencies.v2.yml @@ -59,6 +59,23 @@ paths: summary: Get All Currencies description: Returns a list of all store *Currency*. operationId: getAllCurrencies + parameters: + - name: page + description: | + Specifies the page number in a limited (paginated) list of currencies. + required: false + in: query + schema: + type: integer + default: 1 + - name: limit + description: | + Controls the number of items per page in a limited (paginated) list of currencies. + required: false + in: query + schema: + type: integer + default: 50 responses: '200': description: "" From 2e9f35ffcc33bc373e3756c7b97a7ca48b9c4e19 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 12 Sep 2023 11:01:08 -0500 Subject: [PATCH 289/360] DEVDOCS-5408 [new]: Catalog API, add sort=name query parameter (#1465) --- reference/catalog/categories_catalog.v3.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index 273235a62..cf1b78b3e 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -215,6 +215,18 @@ paths: description: 'Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.' schema: type: string + - name: sort + in: query + description: |- + Controls the sort order of the response, for example, `sort=name`. + + Allowed values: + - `name`: sort categories in alphabetical order by category name. + - `id`: sort in ascending order by category ID. + - `parent_id`: sort in ascending order by the ID of the parent category. + - `sort_order`: sort in ascending order by sort order value. + schema: + type: string responses: '200': description: '' From a98a876bd6f58d5eed174e6bb80ef53a40a87360 Mon Sep 17 00:00:00 2001 From: Mark Murphy Date: Wed, 13 Sep 2023 16:22:21 -0500 Subject: [PATCH 290/360] Typo fix - update wether to whether (#1467) --- reference/form_fields.sf.yml | 4 ++-- reference/pricing.sf.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/form_fields.sf.yml b/reference/form_fields.sf.yml index 674a97cbb..e01e77a24 100644 --- a/reference/form_fields.sf.yml +++ b/reference/form_fields.sf.yml @@ -79,13 +79,13 @@ components: description: Field name custom: type: boolean - description: Wether is a custom field or system built-in field. + description: Whether this is a custom field or system built-in field. label: type: string description: User-friendly label required: type: boolean - description: Wether this field is required or not + description: Whether this field is required or not default: type: string description: The field unique ID diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index d779dda5b..d9ded49a7 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -706,7 +706,7 @@ components: description: The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean - description: Determines wether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. + description: Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: The estimated tax exclusive price for this product based on the provided customer group. From 5e20a36f3e3b374c59bfd9f8b56eca65d60b5165 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 15 Sep 2023 12:22:50 -0500 Subject: [PATCH 291/360] DEVDOCS-4808 [update]: Shipping Provider API, edit discounted_cost description (#1466) --- reference/shipping_provider.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index c28da00d0..ef8b188c3 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -853,7 +853,7 @@ components: type: string maxLength: 50 discounted_cost: - description: Value object for a money amount. + description: Value object for a money amount. Optional field; merchants may request features. type: object properties: currency: @@ -869,6 +869,7 @@ components: dispatch_date: type: string format: date + description: Date at which carrier dispatches to the shipping destination. Optional field; merchants may request features. transit_time: type: object properties: @@ -972,7 +973,7 @@ components: type: string maxLength: 50 discounted_cost: - description: Value object for a money amount. + description: Value object for a money amount. Optional field; merchants may request features. type: object properties: currency: @@ -988,6 +989,7 @@ components: dispatch_date: type: string format: date + description: Date at which carrier dispatches to the shipping destination. Optional field; merchants may request features. transit_time: type: object properties: @@ -1252,7 +1254,7 @@ components: type: string maxLength: 50 discounted_cost: - description: Value object for a money amount. + description: Value object for a money amount. Optional field; merchants may request features. type: object properties: currency: @@ -1268,6 +1270,7 @@ components: dispatch_date: type: string format: date + description: Date at which carrier dispatches to the shipping destination. Optional field; merchants may request features. transit_time: type: object properties: From 07ee08a104e5b5c45a570337e0033b274fc96c97 Mon Sep 17 00:00:00 2001 From: Mack XU <84553389+bc-mackxu@users.noreply.github.com> Date: Tue, 19 Sep 2023 05:53:12 +1000 Subject: [PATCH 292/360] docs(checkout): CHECKOUT-7716 Include the gift_wrapping structure and a sample in the v3/cart response (#1470) --- reference/carts.v3.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index e02187f63..9b92b187a 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -2924,6 +2924,20 @@ components: type: number description: The product option value identifier in number format. example: 128 + gift_wrapping: + description: The gift wrapping details for this item. + type: object + properties: + name: + type: string + example: Gift Wrap 1 + message: + type: string + example: Happy Birthday! + amount: + type: number + format: float + example: 1.99 required: - variant_id - product_id From ad4c7e3ff8418ac624f257ceb0d8a77b34bc3932 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 18 Sep 2023 19:11:51 -0500 Subject: [PATCH 293/360] DEVDOCS-3681 [update]: Catalog API, add image maximum limits (#1411) --- reference/catalog/products_catalog.v3.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index d92ae7b56..704972213 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -875,6 +875,7 @@ paths: **Limits** - 250 characters product name length. + - A product can have up to 1000 images. Each image file or image uploaded by URL can be up to 8 MB. **Usage Notes** * This endpoint accepts a `video` array. To create a product video that accepts a `video` object, see [Create a Product Video](/docs/rest-catalog/products/videos#create-a-product-video) for information. @@ -1484,6 +1485,9 @@ paths: description: | Updates a *Product*. + **Limits** + - A product can have up to 1000 images. Each image file or image uploaded by URL can be up to 8 MB. + **Read-Only Fields** - id - date_created @@ -1986,9 +1990,10 @@ paths: **Usage Notes** - `image_url` - `255` character limit - - For file uploads, use the `multipart/form-data` media type - - Only one image at a time can be created + - For file uploads, use the `multipart/form-data` media type. + - You can create only one image at a time. A product can have up to 1000 images. - Supported image file types are BMP, GIF, JPEG, PNG, WBMP, XBM, and WEBP. + - Each image file or image uploaded by URL can be up to 8 MB. operationId: createProductImage parameters: - $ref: '#/components/parameters/ContentType' @@ -2060,7 +2065,7 @@ paths: image_file: type: string description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + Must be sent as a multipart/form-data field in the request body. Limit of 8 MB per file. multipart/form-data: schema: title: Product Image Post @@ -2131,7 +2136,7 @@ paths: image_file: type: string description: | - Must be sent as a multipart/form-data field in the request body. Limit of 1MB per file. + Must be sent as a multipart/form-data field in the request body. Limit of 8 MB per file. required: true responses: '200': @@ -2403,6 +2408,7 @@ paths: **Usage Notes** - `image_url` - `255` character limit + - Each image file or image uploaded by URL can be up to 8 MB. - For file uploads, send a POST request using the `multipart/form-data` media type operationId: updateProductImage parameters: @@ -6849,7 +6855,7 @@ components: image_file: type: string description: | - The local path to the original image file uploaded to BigCommerce. Limit of 8MB per file. + The local path to the original image file uploaded to BigCommerce. Limit of 8 MB per file. is_thumbnail: type: boolean description: | From a778645195859413c1a74a69d869a4d7b4b67292 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Tue, 19 Sep 2023 04:29:39 +0100 Subject: [PATCH 294/360] [external] bugfix: fix escaping in orders (#1433) --- reference/orders.v2.oas2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 17296928f..60851e5f8 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -2114,7 +2114,7 @@ components: display_value: BigCommerceLogo.jpeg display_value_customer: BigCommerceLogo.jpeg display_value_merchant: BigCommerceLogo.jpeg - value: {\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"} + value: "{\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"}" type: File upload field name: Custom Logo Engraving display_style: "" From 01d775a023d59546329054a6ee5fdfa39a02113b Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 21 Sep 2023 10:09:23 -0500 Subject: [PATCH 295/360] DEVDOS-5396 [update]: Store Logs API, add query parameters (#1472) --- reference/store_logs.v3.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reference/store_logs.v3.yml b/reference/store_logs.v3.yml index 334f19b1b..f27bf4f25 100644 --- a/reference/store_logs.v3.yml +++ b/reference/store_logs.v3.yml @@ -110,6 +110,16 @@ paths: in: query name: 'id:in' description: 'Query parameter that lets you filter by a list of log IDs, as a CSV. For example ?id:in=3,4,6' + - schema: + type: string + in: query + name: 'date_created:min' + description: 'Query parameter that lets you filter by the minimum date created in [Unix time](https://www.unixtimestamp.com/), for example, `?date_created:min=1657688400`. Returns logs created after this date.' + - schema: + type: string + in: query + name: 'date_created:max' + description: 'Query parameter that lets you filter by the maximum date created in [Unix time](https://www.unixtimestamp.com/), for example, `?date_created:min=1658379600`. Returns logs created before this date.' parameters: [] components: schemas: From e909f1ce05132e0153aad2c776add5de0dcf3c8a Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 21 Sep 2023 11:13:39 -0500 Subject: [PATCH 296/360] DEVDOCS-5431 [update]: Shipping V2 API, remove `include_order_total_taxes` field (#1471) --- reference/shipping.v2.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index 8fc5aff7f..cc1109d59 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -1119,7 +1119,6 @@ paths: |:---------|:-----|:------------| | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | - | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | Example request body: @@ -1133,7 +1132,6 @@ paths: "settings": { "default_cost": 12, "default_cost_type": "fixed_amount", - "include_order_total_taxes": 0, "range": [ { "lower_limit": 0, @@ -1333,7 +1331,6 @@ paths: | - | - | - | | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | - | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | #### JSON Example @@ -1347,7 +1344,6 @@ paths: "settings": { "default_cost": 12, "default_cost_type": "fixed_amount", - "include_order_total_taxes": 0, "range": [ { "lower_limit": 0, @@ -1571,7 +1567,6 @@ paths: |:---------|:-----|:------------| | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | - | include_order_total_taxes | boolean | Whether or not to include taxes on the orderʼs total value in the shipping cost calculation. | | range | number | Array of [range](#range) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | Example response: @@ -1585,7 +1580,6 @@ paths: "settings": { "default_cost": 12, "default_cost_type": "fixed_amount", - "include_order_total_taxes": 0, "range": [ { "lower_limit": 0, From b225f7a47e92bb673ac264667c5c56ff2a316be7 Mon Sep 17 00:00:00 2001 From: Jordan Arldt Date: Tue, 26 Sep 2023 19:43:08 -0500 Subject: [PATCH 297/360] STRF-11160: [new] Redirects V3, add Import-Export (#1429) Co-authored-by: Sarah Riehl --- reference/redirects.v3.yml | 329 +++++++++++++++++++++++++++++++++++-- 1 file changed, 314 insertions(+), 15 deletions(-) diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index 7d68dca53..0ab5bda4b 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -20,6 +20,7 @@ security: - X-Auth-Token: [] tags: - name: Redirects + - name: Redirect Import-Export paths: '/storefront/redirects': parameters: @@ -28,7 +29,7 @@ paths: tags: - Redirects summary: Get Redirects - description: Returns a collection of the store's 301 redirects across all sites. + description: Returns a collection of the storeʼs 301 redirects across all sites. operationId: GetRedirects parameters: - name: site_id @@ -155,6 +156,227 @@ paths: '204': description: No Content content: {} + '/storefront/redirects/imex/jobs': + parameters: + - $ref: '#/components/parameters/Accept' + get: + tags: + - Redirect Import-Export + summary: Get Redirect Import-Export Jobs + description: Returns a collection of the storeʼs 301 redirects across all sites. + operationId: getRedirectImportExportJobs + parameters: + - name: id + in: query + description: Filters results by Redirect Import-Export job ID. + style: form + explode: false + schema: + type: string + - name: type + in: query + description: Filters results by the type of the Redirect Import-Export job. + style: form + explode: false + schema: + $ref: '#/components/schemas/ImportExportJobType' + - name: status + in: query + description: Filters results by the status of the Redirect Import-Export job. + style: form + explode: false + schema: + $ref: '#/components/schemas/ImportExportJobStatus' + - name: limit + in: query + description: Determines the number of items returned per page. The default is 10 items per page. + schema: + type: integer + default: 10 + - name: page + in: query + description: Specifies the page number to return when the number of items returned exceeds the page limit. Used to paginate large collections. + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/301RedirectImportExportJobRead' + meta: + $ref: '#/components/schemas/MetaPaginationObject' + '/storefront/redirects/imex/export': + parameters: + - $ref: '#/components/parameters/Accept' + post: + tags: + - Redirect Import-Export + summary: Create Redirects Export Job + description: Creates a new 301 Redirects export job. + operationId: createRedirectExportJob + parameters: + - $ref: '#/components/parameters/ContentType' + requestBody: + content: + application/json: + schema: + type: object + properties: + site_id: + type: integer + nullable: true + default: null + description: The site ID for which you wish to export redirects. If no site ID is provided, the request exports all redirects for all sites. + redirect_ids: + type: array + items: + type: integer + default: [] + description: A list of the redirect IDs you wish to export. If no redirect IDs are provided, the request exports all redirects for the given site selection. + description: Data necessary to create a new 301 Redirects export job. + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + example: ab1c2de3-f4gh-5678-i90j-klm12n345o67 + '429': + description: Your store already has an active Redirects import or export job running. + '409': + description: No Redirects in your store meet the criteria in your request. + '/storefront/redirects/imex/import': + parameters: + - $ref: '#/components/parameters/Accept' + post: + tags: + - Redirect Import-Export + summary: Create Redirects Import Job + description: Creates a new 301 Redirects import job. + operationId: createRedirectImportJob + parameters: + - $ref: '#/components/parameters/ContentTypeFormData' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + import_file: + description: |- + A CSV file containing a list of Redirects to be imported. + + The headers must be defined as follows: + + `Domain,Old Path,New URL/Path,Target Type,Target ID` + + Not every line will have a value for every column. + type: string + format: binary + example: |- + Domain,Old Path,New URL/Path,Target Type,Target ID + store.example.com,/old-path,/new-manual-path,, + store.example.com,/old-product,,Product,12 + store.example.com,/old-brand,,Brand,34 + store.example.com,/old-category,,Category,56 + store.example.com,/old-page,,Page,78 + store.example.com,/old-post,,Post,90 + required: + - import_file + description: Data necessary to create a new 301 Redirects import job. + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + properties: + id: + type: string + example: ab1c2de3-f4gh-5678-i90j-klm12n345o67 + '400': + description: The provided form data was invalid or the file is not a CSV. + '413': + description: The provided file is too large. The maximum file size is 20MB. + '429': + description: Your store already has an active Redirects import or export job running. + '/storefront/redirects/imex/export/{uuid}/events': + parameters: + - $ref: '#/components/parameters/AcceptEventStream' + - $ref: '#/components/parameters/ImportExportIdParam' + get: + tags: + - Redirect Import-Export + summary: Open Redirect Export Event Stream + description: Opens an event stream to receive live updates from an export job. + operationId: getRedirectExportEvents + responses: + '200': + description: Stream of export events. The `data` attribute is stringified JSON. + content: + text/event-stream: + schema: + type: string + example: 'event: message\ndata: {"job_id":"cfccdd6e-956e-4484-8cc2-a610db26bad9","status":"complete","completed_items":100,"total_items":100}\n\n' + '404': + description: The provided export job ID does not exist. + '/storefront/redirects/imex/import/{uuid}/events': + parameters: + - $ref: '#/components/parameters/AcceptEventStream' + - $ref: '#/components/parameters/ImportExportIdParam' + get: + tags: + - Redirect Import-Export + summary: Open Redirect Import Event Stream + description: Opens an event stream to receive live updates from an import job. + operationId: getRedirectImportEvents + responses: + '200': + description: Stream of import events. The `data` attribute is stringified JSON. + content: + text/event-stream: + schema: + type: string + example: 'event: message\ndata: {{"job_id":"a4abaf59-9c25-4f37-a09d-66e6054229a1","status":"complete","completed_items":100,"failed_items":100,"total_items":93,"errors":[]}\n\n' + '404': + description: The provided import job ID does not exist. + '/storefront/redirects/imex/export/{uuid}/download': + parameters: + - $ref: '#/components/parameters/ContentTypeCsv' + - $ref: '#/components/parameters/ImportExportIdParam' + get: + tags: + - Redirect Import-Export + summary: Download Redirect Export + description: Downloads the CSV file containing the results of an export job. + operationId: getRedirectExportDownload + responses: + '200': + description: The exported Redirects in CSV format + content: + text/csv: + schema: + type: string + format: binary + example: | + Domain,Old Path,New URL/Path,Target Type,Target ID + store.example.com,/old-path,/redirect-target,, + '404': + description: The requested export download does not exist. components: parameters: Accept: @@ -165,6 +387,14 @@ components: schema: type: string default: 'application/json' + AcceptEventStream: + 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: 'text/event-stream' ContentType: name: Content-Type in: header @@ -173,6 +403,30 @@ components: schema: type: string default: 'application/json' + ContentTypeFormData: + 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: 'multipart/form-data' + ContentTypeCsv: + 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: 'text/csv' + ImportExportIdParam: + name: uuid + description: The import-export job identifier. + in: path + required: true + schema: + type: string + format: uuid schemas: Error: type: object @@ -181,31 +435,26 @@ components: type: integer message: type: string - x-internal: false ErrorResponse400: type: object properties: schema: $ref: '#/components/schemas/Error' - x-internal: false ErrorResponse404: type: object properties: schema: $ref: '#/components/schemas/Error' - x-internal: false ErrorResponse409: type: object properties: schema: $ref: '#/components/schemas/Error' - x-internal: false ErrorResponse422: type: object properties: schema: $ref: '#/components/schemas/Error' - x-internal: false 301RedirectUpsert: required: - from_path @@ -219,12 +468,10 @@ components: type: integer to: $ref: '#/components/schemas/RedirectTo' - description: 'Data necessary to create or update a redirect. If there’s a conflict on the from_path and site_id, the redirect will be overwritten with new data.' - x-internal: false + description: Data necessary to create or update a redirect. If there’s a conflict on the from_path and site_id, the redirect will be overwritten with new data. 301RedirectRead: type: object - description: 'Full detail of a Redirect, optionally including the full destination URL.' - x-internal: false + description: Full detail of a Redirect, optionally including the full destination URL. properties: id: type: integer @@ -240,6 +487,63 @@ components: description: Full destination URL for the redirect. Must be explicitly included via URL parameter. format: uri example: 'https://store-domain.com/new-url' + ImportExportJobType: + type: string + enum: + - import + - export + ImportExportJobStatus: + type: string + enum: + - new + - working + - complete + - aborted + - failed + ImportErrors: + type: array + items: + type: object + description: Detail of an error that occurred during an import job. + properties: + row: + type: integer + description: The row in the import CSV where the error occurred. + message: + type: string + 301RedirectImportExportJobRead: + type: object + description: Full detail of a Redirect Import-Export job. + properties: + id: + type: string + format: uuid + description: The Import-Export job ID. + type: + $ref: '#/components/schemas/ImportExportJobType' + status: + $ref: '#/components/schemas/ImportExportJobStatus' + completed_items: + type: integer + description: The number of items that were successfully imported or exported. + failed_items: + type: integer + description: The number of items that were not successfully imported or exported. + total_items: + type: integer + description: The number of items in the import or export job. + errors: + $ref: '#/components/schemas/ImportErrors' + created_at: + type: string + format: date-time + description: 'The date-time that the import-export job was created, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.' + example: '2022-01-04T04:15:50.000Z' + completed_at: + type: string + format: date-time + description: 'The date-time that the import-export job was completed, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.' + example: '2022-01-04T04:15:50.000Z' MetaPaginationObject: type: object properties: @@ -275,7 +579,6 @@ components: current: type: string example: '?limit=5&page=1' - x-internal: false RedirectTo: title: RedirectTo type: object @@ -295,13 +598,11 @@ components: maxLength: 2048 type: string example: /new-url/ - x-internal: false DetailedErrors: type: object properties: {} additionalProperties: true title: Detailed Errors - x-internal: false BaseError: type: object properties: @@ -319,7 +620,6 @@ components: type: string description: | Error payload for the BigCommerce API. - x-internal: false ErrorResponse: allOf: - $ref: '#/components/schemas/BaseError' @@ -327,7 +627,6 @@ components: properties: errors: $ref: '#/components/schemas/DetailedErrors' - x-internal: false securitySchemes: X-Auth-Token: name: X-Auth-Token From 05792bcd97b0c77e017b20b72b5af5de0a25aa80 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Wed, 27 Sep 2023 00:45:41 -0500 Subject: [PATCH 298/360] DEVDOCS-3978: [update] Redirects Import-Export, retitle tag (#1475) --- reference/redirects.v3.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index 0ab5bda4b..601432832 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -20,7 +20,7 @@ security: - X-Auth-Token: [] tags: - name: Redirects - - name: Redirect Import-Export + - name: Import-Export paths: '/storefront/redirects': parameters: @@ -161,7 +161,7 @@ paths: - $ref: '#/components/parameters/Accept' get: tags: - - Redirect Import-Export + - Import-Export summary: Get Redirect Import-Export Jobs description: Returns a collection of the storeʼs 301 redirects across all sites. operationId: getRedirectImportExportJobs @@ -217,7 +217,7 @@ paths: - $ref: '#/components/parameters/Accept' post: tags: - - Redirect Import-Export + - Import-Export summary: Create Redirects Export Job description: Creates a new 301 Redirects export job. operationId: createRedirectExportJob @@ -262,7 +262,7 @@ paths: - $ref: '#/components/parameters/Accept' post: tags: - - Redirect Import-Export + - Import-Export summary: Create Redirects Import Job description: Creates a new 301 Redirects import job. operationId: createRedirectImportJob @@ -320,7 +320,7 @@ paths: - $ref: '#/components/parameters/ImportExportIdParam' get: tags: - - Redirect Import-Export + - Import-Export summary: Open Redirect Export Event Stream description: Opens an event stream to receive live updates from an export job. operationId: getRedirectExportEvents @@ -340,7 +340,7 @@ paths: - $ref: '#/components/parameters/ImportExportIdParam' get: tags: - - Redirect Import-Export + - Import-Export summary: Open Redirect Import Event Stream description: Opens an event stream to receive live updates from an import job. operationId: getRedirectImportEvents @@ -360,7 +360,7 @@ paths: - $ref: '#/components/parameters/ImportExportIdParam' get: tags: - - Redirect Import-Export + - Import-Export summary: Download Redirect Export description: Downloads the CSV file containing the results of an export job. operationId: getRedirectExportDownload @@ -635,8 +635,8 @@ components: | UI Name | Permission | Parameter | |:--------|:-----------|:----------| - | Content | modify | `store_v2_content` | - | Content | read-only | `store_v2_content_read_only` | + | Content | modify | `store_v2_content` | + | Content | read-only | `store_v2_content_read_only` | ### Authentication header From 386a1b20b2362dd6dc26573ca73b079a54283773 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 27 Sep 2023 13:26:50 -0500 Subject: [PATCH 299/360] DEVDOCS-5461 [update]: Geography API, add operation Ids (#1476) --- reference/geography.v2.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index cb1555689..4ae54b6dd 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -8,6 +8,7 @@ info: paths: '/countries': get: + operationId: get-all-countries description: 'Get a list of all countries available. A country or territory, identifiable by an ISO 3166 country code.' summary: Get All Countries parameters: @@ -60,6 +61,7 @@ paths: - Countries '/countries/{id}': get: + operationId: get-a-country description: 'Returns a single *Country*. Gets a country. A country or territory, identifiable by an ISO 3166 country code.' summary: Get a Country parameters: @@ -99,6 +101,7 @@ paths: '/countries/{country_id}/states': get: + operationId: get-all-country-states description: |- Returns a list of *States* belonging to a *Country*. A state or province, identifiable by an ISO 3166 subdivision code. @@ -166,6 +169,7 @@ paths: '/countries/{country_id}/states/{id}': get: + operationId: get-a-state description: |- Returns a *State*. A state or province, identifiable by an ISO 3166 subdivision code. @@ -232,10 +236,11 @@ paths: summary: Get a Count of All Countries tags: - Countries - operationId: countriesCount + operationId: get-count-countries description: Returns a count of all countries. '/countries/states/count': get: + operationId: get-count-states responses: '200': $ref: '#/components/responses/countResponse' @@ -245,6 +250,7 @@ paths: description: Returns a count of all states. '/countries/states': get: + operationId: get-all-states responses: '200': $ref: '#/components/responses/countriesStatesCollectionResponse' @@ -265,6 +271,7 @@ paths: description: The ordered grouping of results to return. '/countries/{country_id}/states/count': get: + operationId: get-count-country-states responses: '200': $ref: '#/components/responses/countResponse' From 77f6e90ab6b9417c149de52a53bd314dd3579509 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 28 Sep 2023 09:20:25 -0500 Subject: [PATCH 300/360] DEVDOCS-5475 [revise]: REST Catalog API, fix product images schemas (#1478) --- reference/catalog/products_catalog.v3.yml | 39 ++++++++--------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 704972213..9fcb84746 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -1911,10 +1911,7 @@ paths: data: type: array items: - title: Product Image - type: object - allOf: - - $ref: '#/components/schemas/productImage_Full' + $ref: '#/components/schemas/productImage_Full' meta: $ref: '#/components/schemas/metaCollection_Full' description: | @@ -2011,11 +2008,6 @@ paths: type: integer description: | The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. url_zoom: readOnly: true type: string @@ -2065,7 +2057,9 @@ paths: image_file: type: string description: | - Must be sent as a multipart/form-data field in the request body. Limit of 8 MB per file. + The local path to the original image file uploaded to BigCommerce. A `multipart/form-data` media type. + + Must be sent as a `multipart/form-data` field in the request body. Limit of 8 MB per file. multipart/form-data: schema: title: Product Image Post @@ -2082,11 +2076,6 @@ paths: type: integer description: | The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - A `multipart/form-data` media type. url_zoom: readOnly: true type: string @@ -2136,6 +2125,8 @@ paths: image_file: type: string description: | + The local path to the original image file uploaded to BigCommerce. A `multipart/form-data` media type. + Must be sent as a multipart/form-data field in the request body. Limit of 8 MB per file. required: true responses: @@ -2162,12 +2153,6 @@ paths: type: integer description: | The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: |- - The local path to the original image file uploaded to BigCommerce. - - A `multipart/form-data` media type. url_zoom: readOnly: true type: string @@ -2223,6 +2208,8 @@ paths: description: |- The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. A `multipart/form-data` media type. + + Must be sent as a multipart/form-data field in the request body. Limit of 8 MB per file. url_zoom: readOnly: true type: string @@ -2443,10 +2430,6 @@ paths: type: integer description: | The unique numeric identifier for the product with which the image is associated. - image_file: - type: string - description: | - The local path to the original image file uploaded to BigCommerce. url_zoom: readOnly: true type: string @@ -2501,6 +2484,8 @@ paths: type: string description: | The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + + Must be sent as a `multipart/form-data` field in the request body. Limit of 8 MB per file. url_zoom: readOnly: true type: string @@ -6855,7 +6840,9 @@ components: image_file: type: string description: | - The local path to the original image file uploaded to BigCommerce. Limit of 8 MB per file. + The local path to the original image file uploaded to BigCommerce. Use image_url when creating a product. + + Must be sent as a `multipart/form-data` field in the request body. Limit of 8 MB per file. is_thumbnail: type: boolean description: | From 8d662c2ac40119ef455b005d7a26a03bab87420b Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 29 Sep 2023 09:01:53 -0500 Subject: [PATCH 301/360] DEVDOCS-5285: [update] tree_id is not required for updating categories (#1477) --- reference/catalog/category-trees_catalog.v3.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 7fdcf16de..50126723b 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -633,8 +633,6 @@ components: properties: tree_id: type: integer - required: - - tree_id CategoryData: allOf: - type: object From d0cc98b0b432e7a704bc48ac32e9ba6471cae20e Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 29 Sep 2023 15:55:09 -0500 Subject: [PATCH 302/360] DEVDOCS-5467: [update] removed create customers limits (#1481) --- reference/customers.v3.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index a4283542f..6162c5490 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -213,9 +213,6 @@ paths: * Attributes must be [created](/docs/rest-management/customers/customer-attributes#create-a-customer-attribute) **BEFORE** creating a customer. * attribute_id * attribute_value -- This is input as a string, regardless of the [Type](/docs/rest-management/customers/customer-attributes#create-a-customer-attribute). - - **Limits** - * Create 20 customers over the span of an hour. Attempting to make more than 20 API calls will result in a `429` return status until the hour has lapsed. **Notes** From a1fa264b2e1974b376b5e02dd249f00b0125ccb0 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 2 Oct 2023 13:41:48 -0500 Subject: [PATCH 303/360] [DEVDOCS-5478]: [Revise] Pricelists, Update rate limits GET/PUT/DELETE /{currency_code} (#1482) --- reference/price_lists.v3.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index ad815e6f7..95ee51f8c 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1904,7 +1904,7 @@ paths: description: |- Returns a *Price List Record* using the currency code. You can use optional parameters. **Notes** - * Supports up to 40 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. + * Supports up to 50 simultaneous GET requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. operationId: getPriceListRecord parameters: - name: price_list_id @@ -2458,7 +2458,10 @@ paths: tags: - Price Lists Records summary: Delete a Price Record by Currency Code - description: Deletes a *Price List Record* using the currency code. + description: |- + Deletes a *Price List Record* using the currency code. + **Note:** + * Supports up to 25 simultaneous DELETE requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error, and your additional requests will fail. operationId: deletePriceListRecord parameters: - name: price_list_id From ed26e14288057fe81c0211b0ac3c49846cf2f7f9 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 2 Oct 2023 13:44:01 -0500 Subject: [PATCH 304/360] DEVDOCS-5476: [update] Add-a-rate-limit-to-PUT-price-list-assignments (#1483) --- reference/price_lists.v3.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 95ee51f8c..ed27d9cc5 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -2623,7 +2623,10 @@ paths: put: tags: - Price Lists Assignments - description: Upsert a single `Price List Assignment` for a `Price List`. + description: |- + Upsert a single `Price List Assignment` for a `Price List`. + **Note:** + * Supports up to 25 simultaneous PUT requests. Running more than the allowed number of requests concurrently on the same store will result in a `429` status error and your additional requests will fail. summary: Upsert Price List Assignment operationId: upsertPriceListAssignment parameters: From d893cce1a87e5eb4d89fcd0f1883b78c09628e80 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 5 Oct 2023 13:35:07 -0500 Subject: [PATCH 305/360] DEVDOCS-5385: [update] removed pagination > links object (#1480) --- reference/themes.v3.yml | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/reference/themes.v3.yml b/reference/themes.v3.yml index 61b0475c0..436ff29f2 100644 --- a/reference/themes.v3.yml +++ b/reference/themes.v3.yml @@ -694,7 +694,7 @@ components: items: $ref: '#/components/schemas/themeConfiguration_Full' meta: - $ref: '#/components/schemas/CollectionMeta' + $ref: '#/components/schemas/ThemesCollectionMeta' examples: response: value: @@ -796,6 +796,42 @@ components: Link to the next page returned in the response. title: Collection Meta x-internal: false + ThemesCollectionMeta: + type: object + description: 'Data about the response, including pagination and collection totals.' + properties: + pagination: + type: object + description: 'Data about the response, including pagination and collection totals.' + title: Pagination + properties: + total: + type: integer + description: | + Total number of items in the result set. + example: 36 + count: + type: integer + description: | + Total number of items in the collection response. + example: 36 + 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 + title: Themes Collection Meta + x-internal: false Pagination: type: object description: 'Data about the response, including pagination and collection totals.' From 5bb6090e331456e10a68bb6a84afe39eaf4e12a6 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 5 Oct 2023 15:37:04 -0500 Subject: [PATCH 306/360] DEVDOCS-5359: [update]Added originalPrice (#1485) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/checkouts.sf.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index ab4838cec..2d2744bb0 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -2845,6 +2845,9 @@ components: type: number description: The total value of all coupons applied to this item. format: double + originalPrice: + type: number + description: The item’s original price is the same as the product’s default price. listPrice: type: number description: The item’s list price, as quoted by the manufacturer or distributor. @@ -2954,6 +2957,9 @@ components: type: number description: The total value of all coupons applied to this item. format: double + originalPrice: + type: number + description: The item’s original price is the same as the product’s default price. listPrice: type: number description: The item’s list price, as quoted by the manufacturer or distributor. From 00839becf5bc165a32c209aa31a6b4a3f613a68c Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 6 Oct 2023 09:20:27 -0500 Subject: [PATCH 307/360] DEVDOCS-5390: [revise] OrdersV2, GET order shipping address body response is missing (#1488) Co-authored-by: Sarah Riehl --- reference/orders.v2.oas2.yml | 719 +++++------------------------------ 1 file changed, 85 insertions(+), 634 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 60851e5f8..f4bd07c28 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -156,8 +156,8 @@ paths: - product_id: 123 quantity: 5 product_options: - id: 56 - value: 12 + - id: 56 + value: 12 price_inc_tax: 12.45 price_ex_tax: 10.12 Adding a new product to order: @@ -175,8 +175,8 @@ paths: product_id: 123 quantity: 1 product_options: - id: 56 - value: 12 + - id: 56 + value: 12 price_inc_tax: 12.45 price_ex_tax: 10.12 required: true @@ -290,7 +290,7 @@ paths: street_1: 123 Main Street city: Austin state: Texas - zip: 78751 + zip: '78751' country: United States country_iso2: US email: janedoe@example.com @@ -698,7 +698,7 @@ paths: value: tracking_number: EJ958083578US order_address_id: 1 - shipping_provider: '' + shipping_provider: fedex items: - order_product_id: 15 quantity: 2 @@ -992,22 +992,22 @@ paths: timestamp: 'Fri, 24 Jun 2022 03:52:03 +0000' shipping_provider_id: bcrealtime shipping_provider_quote: - rate: - value: '107.32' - unit: USD - transitTime: '1' - name: Priority Overnight - signatureConfirmationFee: {} - carrierName: '' - carrierCode: {} - code: {} - deliveryMessage: '' - labelSizes: [] - insuredMailFee: {} - dates: [] - rateId: {} - description: '' - additionalInfo: {} + - rate: + value: '107.32' + unit: USD + transitTime: '1' + name: Priority Overnight + signatureConfirmationFee: {} + carrierName: '' + carrierCode: {} + code: {} + deliveryMessage: '' + labelSizes: [] + insuredMailFee: {} + dates: [] + rateId: {} + description: '' + additionalInfo: {} provider_code: fedex carrier_code: '' rate_code: '' @@ -1464,7 +1464,7 @@ components: url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/100/coupons' resource: /orders/100/coupons external_id: null - external_merchant_id: {} + external_merchant_id: null tax_provider_id: BasicTaxProvider store_default_currency_code: '' store_default_to_transactional_exchange_rate: '1.0000000000' @@ -1658,10 +1658,10 @@ components: street_2: '' city: Austin state: Texas - zip: 78108 + zip: '78108' country: United States country_iso2: US - phone: 1234567890 + phone: '1234567890' email: janedoe@example.com form_fields: - name: Delivery Instructions @@ -1697,51 +1697,51 @@ components: date_shipped: '' status_id: 11 status: Awaiting Fulfillment - subtotal_ex_tax: 924.47 - subtotal_inc_tax: 1000.74 - subtotal_tax: 76.27 - base_shipping_cost: 8 - shipping_cost_ex_tax: 7.39 - shipping_cost_inc_tax: 8 - shipping_cost_tax: 0.61 + subtotal_ex_tax: '924.47' + subtotal_inc_tax: '1000.74' + subtotal_tax: '76.27' + base_shipping_cost: '8' + shipping_cost_ex_tax: '7.39' + shipping_cost_inc_tax: '8' + shipping_cost_tax: '0.61' shipping_cost_tax_class_id: 0 - base_handling_cost: 0 - handling_cost_ex_tax: 0 - handling_cost_inc_tax: 0 - handling_cost_tax: 0 + base_handling_cost: '0' + handling_cost_ex_tax: '0' + handling_cost_inc_tax: '0' + handling_cost_tax: '0' handling_cost_tax_class_id: 0 - base_wrapping_cost: 0 - wrapping_cost_ex_tax: 0 - wrapping_cost_inc_tax: 0 - wrapping_cost_tax: 0 + base_wrapping_cost: '0' + wrapping_cost_ex_tax: '0' + wrapping_cost_inc_tax: '0' + wrapping_cost_tax: '0' wrapping_cost_tax_class_id: 0 - total_ex_tax: 931.86 - total_inc_tax: 1008.74 + total_ex_tax: '931.86' + total_inc_tax: '1008.74' total_tax: 76.88 items_total: 11 items_shipped: 0 payment_method: Test Payment Gateway payment_provider_id: '' payment_status: captured - refunded_amount: 0 + refunded_amount: '0' order_is_digital: false - store_credit_amount: 0 - gift_certificate_amount: 0 + store_credit_amount: '0' + gift_certificate_amount: '0' ip_address: 70.112.53.67 geoip_country: United States geoip_country_iso2: US currency_id: 1 currency_code": USD - currency_exchange_rate: 1 + currency_exchange_rate: '1' default_currency_id: 1 default_currency_code: USD staff_notes: BIN-45 customer_message: Custom Journal Added - discount_amount: 0 + discount_amount: '0' coupon_discount": 0 shipping_address_count: 1 is_deleted: false - ebay_order_id: 0 + ebay_order_id: '0' cart_id: 8b84f622-faf1-4c10-887b-f5dff2f9eaf4 billing_address: first_name: Jane @@ -1757,13 +1757,13 @@ components: phone: '1234567890' email: janedoe@email.com form_fields: - name: Delivery Instructions - value: Leave in backyard + - name: Delivery Instructions + value: Leave in backyard is_email_opt_in: false credit_card_type: {} order_source: manual channel_id: 1 - external_source: {} + external_source: '' products: url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/247/products' resource: /orders/247/products @@ -1773,11 +1773,11 @@ components: coupons: url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/247/coupons' resource: /orders/247/coupons - external_id: {} - external_merchant_id: {} + external_id: null + external_merchant_id: null tax_provider_id: BasicTaxProvider store_default_currency_code: USD - store_default_to_transactional_exchange_rate: 1 + store_default_to_transactional_exchange_rate: '1' custom_status: Awaiting Fulfillment customer_locale: en external_order_id: external-order-id @@ -2051,7 +2051,7 @@ components: discounted_total_inc_tax: '37.2300' Product with file upload: value: - - id: 35 + id: 35 order_id: 125 product_id: 127 variant_id: 99 @@ -2091,7 +2091,7 @@ components: wrapping_message: '' quantity_shipped: 0 event_name: null - event_date: '' + event_date: null fixed_shipping_cost: '0.0000' ebay_item_id: '' ebay_transaction_id: '' @@ -2115,7 +2115,7 @@ components: display_value_customer: BigCommerceLogo.jpeg display_value_merchant: BigCommerceLogo.jpeg value: "{\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"}" - type: File upload field + type: File Upload name: Custom Logo Engraving display_style: "" configurable_fields: [] @@ -2162,7 +2162,7 @@ components: wrapping_message: '' quantity_shipped: 0 event_name: null - event_date: '' + event_date: null fixed_shipping_cost: '0.0000' ebay_item_id: '' ebay_transaction_id: '' @@ -2218,137 +2218,19 @@ components: wrapping_cost_tax: '0.0000' wrapping_message: '' quantity_shipped: 0 - event_name: {} - event_date: '' + event_name: null + event_date: null fixed_shipping_cost: '0.0000' ebay_item_id: '' ebay_transaction_id: '' option_set_id: 68 - parent_order_product_id: {} + parent_order_product_id: null is_bundled_product: false bin_picking_number: '' - external_id: {} + external_id: null fulfillment_source: '' brand: BigCommerce applied_discounts: [] - Product with custom message: - value: - - id: 143 - option_id: 96 - order_product_id: 240 - product_option_id: 242 - display_name: Color - display_name_customer: Color - display_name_merchant: Color - display_value: Red - display_value_customer: Red - display_value_merchant: Red - value: '211' - type: Swatch - name: Color1549572910-201 - display_style: '' - - id: 144 - option_id: 114 - order_product_id: 240 - product_option_id: 263 - display_name: PickList PriceList - display_name_customer: PickList PriceList - display_name_merchant: PickList PriceList - display_value: Able Brewing System - display_value_customer: Able Brewing System - display_value_merchant: Able Brewing System - value: '237' - type: Product Pick List - name: PickList-PriceList1549572910-201 - display_style: Pick list with photos - - id: 145 - option_id: 97 - order_product_id: 240 - product_option_id: 243 - display_name: T-Shirt Size - display_name_customer: T-Shirt Size - display_name_merchant: T-Shirt Size - display_value: Small T-Shirt - display_value_customer: Small T-Shirt - display_value_merchant: Small T-Shirt - value: '214' - type: Multiple choice - name: T-Shirt-Size1545071633-201 - display_style: Rectangle - - id: 146 - option_id: 105 - order_product_id: 240 - product_option_id: 254 - display_name: Custom Message - display_name_customer: Custom Message - display_name_merchant: Custom Message - display_value: BigCommerce - display_value_customer: BigCommerce - display_value_merchant: BigCommerce - value: BigCommerce - type: Text field - name: Custom-Message1549572912-201 - display_style: '' - configurable_fields: - product_options: - value: - - id: 143 - option_id: 96 - order_product_id: 240 - product_option_id: 242 - display_name: Color - display_name_customer: Color - display_name_merchant: Color - display_value: Red - display_value_customer: Red - display_value_merchant: Red - value: '211' - type: Swatch - name: Color1549572910-201 - display_style: '' - - id: 144 - option_id: 114 - order_product_id: 240 - product_option_id: 263 - display_name: PickList PriceList - display_name_customer: PickList PriceList - display_name_merchant: PickList PriceList - display_value: Able Brewing System - display_value_customer: Able Brewing System - display_value_merchant: Able Brewing System - value: '237' - type: Product Pick List - name: PickList-PriceList1549572910-201 - display_style: Pick list with photos - - id: 145 - option_id: 97 - order_product_id: 240 - product_option_id: 243 - display_name: T-Shirt Size - display_name_customer: T-Shirt Size - display_name_merchant: T-Shirt Size - display_value: Small T-Shirt - display_value_customer: Small T-Shirt - display_value_merchant: Small T-Shirt - value: '214' - type: Multiple choice - name: T-Shirt-Size1545071633-201 - display_style: Rectangle - - id: 146 - option_id: 105 - order_product_id: 240 - product_option_id: 254 - display_name: Custom Message - display_name_customer: Custom Message - display_name_merchant: Custom Message - display_value: BigCommerce - display_value_customer: BigCommerce - display_value_merchant: BigCommerce - value: BigCommerce - type: Text field - name: Custom-Message1549572912-201 - display_style: '' - configurable_fields: [] orderShipmentCollection_Resp: description: '' content: @@ -2711,438 +2593,6 @@ components: priority: 0 priority_amount: '4.4000' line_amount: '4.4000' - actual-order-response: - description: '' - content: - application/json: - schema: - title: Order - example: - id: 113 - customer_id: 1 - date_created: 'Wed, 17 Jan 2018 20:11:21 +0000' - date_modified: 'Wed, 25 Apr 2018 20:20:25 +0000' - date_shipped: '' - status_id: 7 - status: Awaiting Payment - subtotal_ex_tax: '143.9500' - subtotal_inc_tax: '143.9500' - subtotal_tax: '0.0000' - base_shipping_cost: '0.0000' - shipping_cost_ex_tax: '0.0000' - shipping_cost_inc_tax: '0.0000' - shipping_cost_tax: '0.0000' - shipping_cost_tax_class_id: 2 - base_handling_cost: '0.0000' - handling_cost_ex_tax: '0.0000' - handling_cost_inc_tax: '0.0000' - handling_cost_tax: '0.0000' - handling_cost_tax_class_id: 2 - base_wrapping_cost: '0.0000' - wrapping_cost_ex_tax: '0.0000' - wrapping_cost_inc_tax: '0.0000' - wrapping_cost_tax: '0.0000' - wrapping_cost_tax_class_id: 3 - total_ex_tax: '138.9500' - total_inc_tax: '138.9500' - total_tax: '0.0000' - items_total: 2 - items_shipped: 0 - payment_method: Cash on Delivery - payment_provider_id: null - payment_status: '' - refunded_amount: '0.0000' - order_is_digital: false - store_credit_amount: '0.0000' - gift_certificate_amount: '0.0000' - ip_address: 64.183.182.114 - geoip_country: United States - geoip_country_iso2: US - currency_id: 1 - currency_code: USD - currency_exchange_rate: '1.0000000000' - default_currency_id: 1 - default_currency_code: USD - staff_notes: '' - customer_message: '' - discount_amount: '0.0000' - coupon_discount: '5.0000' - shipping_address_count: 1 - is_deleted: false - ebay_order_id: '0' - cart_id: 1cf3da59-1c90-42a9-82fb-2a954743a390 - billing_address: - first_name: Jane - last_name: Does - company: '' - street_1: 123 MainStreet - street_2: '' - city: Austin - state: Texas - zip: '78751' - country: United States - country_iso2: US - phone: '' - email: jane@example.com - form_fields: [] - is_email_opt_in: false - credit_card_type: null - order_source: www - external_source: null - products: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/113/products' - resource: /orders/113/products - shipping_addresses: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/113/shippingaddresses' - resource: /orders/113/shippingaddresses - coupons: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v2/orders/113/coupons' - resource: /orders/113/coupons - external_id: null - external_merchant_id: null - custom_status: Awaiting Payment - external_order_id: external-order-id - type: object - properties: - id: - description: The ID of the order, a read-only value. Do not pass in PUT or POST request. - example: 118 - type: integer - customer_id: - description: The ID of the customer placing the order; or 0 if it was a guest order. - example: 6 - type: number - date_created: - type: string - description: The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST request) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000` - date_modified: - type: string - description: A read-only value representing the last modification of the order. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 - date_shipped: - type: string - description: A read-only value representing the date of shipment. Do not attempt to modify or set this value in a POST or PUT request. RFC-2822 - status_id: - description: The status ID of the order. - example: 11 - type: integer - cart_id: - description: The cart ID from which this order originated, if applicable. Correlates with the Cart API. This is a read-only field; do not set or modify its value in a POST or PUT request. - example: a8458391-ef68-4fe5-9ec1-442e6a767364 - type: string - status: - description: The status will include one of the (string, optional) - values defined under Order Statuses. This is a read-only value. Do not attempt to modify or set this value in a POST or PUT request. - example: Awaiting Fulfillment - type: string - custom_status: - description: Contains the same (string, optional) - value as the `custom_label` property of the Order Statuses object. - example: Awaiting Fulfillment - type: string - subtotal_ex_tax: - description: Override value for subtotal excluding tax. If specified, the field `subtotal_inc_tax` is also required. (Float, Float-As-String, Integer) - example: '225.0000' - type: string - subtotal_inc_tax: - description: Override value for subtotal including tax. If specified, the field `subtotal_ex_tax` is also required. (Float, Float-As-String, Integer) - example: '225.0000' - type: string - subtotal_tax: - description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - base_shipping_cost: - description: The value of the base shipping cost. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - shipping_cost_ex_tax: - description: The value of shipping cost, excluding tax. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - shipping_cost_inc_tax: - description: The value of shipping cost, including tax. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - shipping_cost_tax: - description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - shipping_cost_tax_class_id: - description: |- - Shipping-cost tax class. A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) - example: 2 - type: integer - base_handling_cost: - description: The value of the base handling cost. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - handling_cost_ex_tax: - description: The value of the handling cost, excluding tax. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - handling_cost_inc_tax: - description: The value of the handling cost, including tax. (Float, Float-As-String, Integer) - oneOf: - - type: number - - type: string - handling_cost_tax: - description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - handling_cost_tax_class_id: - description: |- - A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) - example: 2 - type: integer - base_wrapping_cost: - description: The value of the base wrapping cost. - example: 0 - oneOf: - - type: string - - type: number - wrapping_cost_ex_tax: - description: The value of the wrapping cost, excluding tax. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - wrapping_cost_inc_tax: - description: The value of the wrapping cost, including tax. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - wrapping_cost_tax: - description: A read-only value. Do not attempt to modify or set this value in a POST or PUT request. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - wrapping_cost_tax_class_id: - description: |- - A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (NOTE: Value ignored if automatic tax is enabled on the store.) - example: 3 - type: integer - total_ex_tax: - description: Override value for the total, excluding tax. If specified, the field `total_inc_tax` is also required. (Float, Float-As-String, Integer) - example: '225.0000' - type: string - total_inc_tax: - description: Override value for the total, including tax. If specified, the field `total_ex_tax` is also required. (Float, Float-As-String, Integer) - example: '225.0000' - type: string - total_tax: - description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - items_total: - description: The total number of items in the order. - example: 1 - type: number - items_shipped: - description: The number of items that have been shipped. - example: 0 - type: number - payment_method: - description: The display name of the payment method for this order. - example: Cash on Delivery - type: string - payment_provider_id: - description: The external Transaction ID/Payment ID within this order’s payment provider (if a payment provider was used). - example: null - type: string - nullable: true - payment_status: - description: A read-only value. Do not attempt to set or modify this value in a POST or PUT request. - type: string - refunded_amount: - description: The amount refunded from this transaction; always returns `0`. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - order_is_digital: - description: Whether this is an order for digital products. - example: false - type: boolean - store_credit_amount: - description: Represents the store credit that the shopper has redeemed on this individual order. This is a read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - gift_certificate_amount: - description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - ip_address: - description: IP Address of the customer, if known. - example: 12.345.678.910 - type: string - geoip_country: - description: The full name of the country where the customer made the purchase, based on the IP. - example: United States - type: string - geoip_country_iso2: - description: The country where the customer made the purchase, in ISO2 format, based on the IP. - example: US - type: string - currency_id: - description: The display currency ID. May be different from transactional currency. A read-only value. Do not pass in a POST or PUT request. - example: 1 - type: integer - currency_code: - description: The currency code of the display currency used to present prices on the storefront. May be different from transactional currency. A read-only value. Do not pass in a POST or PUT request. - example: USD - type: string - currency_exchange_rate: - description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) - example: '1.0000000000' - type: string - default_currency_id: - description: The transactional currency ID. A read-only value. Do not pass in a POST or PUT request. - example: 1 - type: integer - default_currency_code: - description: The currency code of the transactional currency the shopper pays in. A read-only value. Do not pass in a POST or PUT request. - type: string - example: USD - staff_notes: - type: string - description: Any additional notes for staff. - example: Send Saturday - maxLength: 65535 - customer_message: - description: Message that the customer entered (number, optional) -o the `Order Comments` box during checkout. - example: Thank you - type: string - discount_amount: - description: Amount of discount for this transaction. (Float, Float-As-String, Integer) - example: '0.0000' - type: string - coupon_discount: - description: A read-only value. Do not pass in a POST or PUT request. (Float, Float-As-String, Integer) - example: '5.0000' - type: string - shipping_address_count: - type: number - description: The number of shipping addresses associated with this transaction. A read-only value. Do not pass in a POST or PUT request. - is_deleted: - description: Boolean value indicates whether the order was deleted (archived). Set to to true to archive an order. - example: false - type: boolean - is_email_opt_in: - description: Boolean value indicates whether the shopper has selected an opt-in check box (on the checkout page) to receive emails. A read-only value. Do not pass in a POST or PUT request. - example: false - type: boolean - credit_card_type: - description: Credit card type - example: 0 - type: integer - nullable: true - ebay_order_id: - description: If the order was placed through eBay, the eBay order number will be included. Otherwise, the value will be `0`. - example: '0' - type: string - billing_address: - title: Billing Address - type: object - description: Required to create an order. - properties: - first_name: - description: '' - example: Jane - type: string - last_name: - description: '' - example: Doe - type: string - company: - description: '' - type: string - street_1: - description: '' - example: 123 Main Street - type: string - street_2: - description: '' - type: string - city: - description: '' - example: Austin - type: string - state: - description: '' - example: TX - type: string - zip: - description: '' - example: '12345' - type: number - country: - description: '' - example: United States - type: string - country_iso2: - description: '' - example: US - type: string - phone: - description: '' - type: string - email: - description: '' - example: janedoe@example.com - type: string - form_fields: - description: '' - type: array - items: - title: Form Fields - type: object - description: Read-Only. If you have required address form fields they will need to be set as optional before creating an order with the API. - properties: - name: - description: Name of the form field. - type: string - example: License Id - readOnly: true - value: - description: Value of the form field. - type: string - example: 123BAF - readOnly: true - readOnly: true - order_source: - description: Orders submitted from the store's website will include a `www` value. Orders submitted with the Checkout API will be set to `checkout_api`. - example: www, iPhone, Android, mobile, manual - type: string - external_source: - description: |- - This value identifies an external system that generated the order and submitted it to BigCommerce using the Orders API. - * When supplying the value, we recommend combining the type of system and vendor, e.g., ERP (Acumatica) or POS (Square). - * If you are migrating historical orders processed on another eCommerce platform to BigCommerce, supply the following code as the value: M-MIG. This code will exclude historical orders from the store’s GMV/order count, which factors into pricing. - * If you do not provide a value, then it will default to null.. - example: null - nullable: true - type: string - products: - $ref: '#/components/schemas/products_Resource' - shipping_addresses: - $ref: '#/components/schemas/shippingAddresses_Resource' - coupons: - $ref: '#/components/schemas/coupons_Resource' - external_id: - description: (Read-only) ID of the order in another system. For example, the Amazon order ID if this is an Amazon order. - example: null - type: string - nullable: true - readOnly: true - external_merchant_id: - description: ID of the merchant. - example: null - type: string - nullable: true - channel_id: - type: integer - example: 1 - description: Shows where the order originated. The channel_id will default to 1. Read-Only. - tax_provider_id: - type: string - description: | - BasicTaxProvider - Tax is set to manual and order is created in the store. - - AvaTaxProvider - Tax is set to automatic and order is created in the store. Used for Avalara. - - "" (empty string) - The order is created with the API, or the tax provider is unknown. 404_Resp: description: Not Found content: @@ -3230,12 +2680,12 @@ components: nullable: true type: string amount: - description: Amount of the discount. This information is returned as in integer. Dollar and percentage discounts will return the same. For example, $3 returns as ''3'' while 5% will return as 5. Check the discount type to see what type of discount is available. - example: 5 - oneOf: + description: Amount of the discount. This information is returned as in integer. Dollar and percentage discounts will return the same. For example, $3 returns as `3` while 5% will return as `5`. Check the discount type to see what type of discount is available. + anyOf: - type: string - type: number - type: integer + example: 5 format: float type: type: integer @@ -3308,7 +2758,7 @@ components: example: '54.0000' type: string price_ex_tax: - description: 'The product’s price excluding tax. (Float, Float-As-String, Integer)' + description: The product’s price excluding tax. (Float, Float-As-String, Integer) example: '54.0000' type: string price_inc_tax: @@ -3403,6 +2853,7 @@ components: description: Name of gift-wrapping option. example: null type: string + nullable: true base_wrapping_cost: description: The value of the base wrapping cost. (Float, Float-As-String, Integer) example: '0.0000' @@ -3874,7 +3325,7 @@ components: example: S type: string value: - description: For file-upload type, it's a unique string describing the properties of the file upload. For other types, it's the value of the property. + description: For file-upload type, itʼs a unique string describing the properties of the file upload. For other types, itʼs the value of the property. example: "{\"originalName\":\"BigCommerceLogo.jpeg\",\"temporaryPath\":\"121_fbfb71dfc5a5d911f62d8e35dedd6e45.jpeg\",\"path\":\"f606efcae7e179970b19c3658142c5d0.jpeg\"}" type: string type: @@ -4041,7 +3492,6 @@ components: timestamp: type: string description: Time the order was created in RFC 2822 format. - format: date-time shipping_provider_id: type: string example: bcstatic @@ -4271,8 +3721,7 @@ components: external_merchant_id: description: The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null - oneOf: - - type: string + type: string nullable: true external_source: description: |- @@ -4602,11 +4051,11 @@ components: example: EUR type: string store_default_currency_code: - description: The currency code of the store's default currency. + description: The currency code of the storeʼs default currency. example: USD type: string store_default_to_transactional_exchange_rate: - description: The exchange rate between the store's default currency and the transactional currency used in the order. + description: The exchange rate between the storeʼs default currency and the transactional currency used in the order. example: '100.0000000000' type: string coupon_discount: @@ -4621,7 +4070,7 @@ components: example: false type: boolean order_source: - description: Orders submitted from the store's website will include a `www` value. Orders submitted with the Checkout API will be set to `checkout_api`. + description: Orders submitted from the storeʼs website will include a `www` value. Orders submitted with the Checkout API will be set to `checkout_api`. example: www, iPhone, Android, mobile, manual type: string consignments: @@ -4939,6 +4388,7 @@ components: default_currency_code: description: A read-only field displays the currency code of the [transactional currency](/api-docs/multi-currency/guide/introduction#display-vs-transactional) the shopper uses. type: string + readOnly: true discount_amount: description: Amount of discount for this transaction. (Float, Float-As-String, Integer) example: '0.0000' @@ -4956,8 +4406,7 @@ components: external_merchant_id: description: The merchant ID represents an upstream order from an external system. It is the source of truth for orders. After setting it, you cannot write to or update the `external_merchant_id`. For example, you can update the Facebook by Meta page ID in a POST request, but a PUT request to update the order will return a 400 error. Please remove it from your request before trying again. example: null - oneOf: - - type: string + type: string nullable: true external_source: description: |- @@ -5021,7 +4470,6 @@ components: description: 'The payment method for this order. Can be one of the following: `Manual`, `Credit Card`, `Cash`,`Test Payment Gateway`, etc.' payment_provider_id: description: The external Transaction ID/Payment ID within this order’s payment provider (if a payment provider was used). - example: '' oneOf: - type: string - type: number @@ -5050,12 +4498,14 @@ components: example: Send Saturday maxLength: 65535 shipping_addresses: - allOf: - - type: object - properties: - id: - type: integer - - $ref: '#/components/schemas/shippingAddress_Put' + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + - $ref: '#/components/schemas/shippingAddress_Put' status_id: description: The status ID of the order. type: integer @@ -5085,6 +4535,7 @@ components: description: The customer’s locale. external_order_id: type: string + nullable: true example: external-order-id description: The order ID in another system, such as the Amazon Order ID if this is an Amazon order. After setting it, you can update this field using a POST or PUT request. total_ex_tax: @@ -5310,12 +4761,12 @@ components: description: 2-letter ISO Alpha-2 code for the country. email: type: string - description: Pickup location's email address. + description: Pickup locationʼs email address. maxLength: 255 example: location1@example.com phone: type: string - description: Pickup location's phone number. + description: Pickup locationʼs phone number. maxLength: 125 example: +1 111-111-1111 x-examples: {} From 1dcb211ff23c605d04f7601c71087246c3763ccb Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Fri, 6 Oct 2023 09:22:54 -0500 Subject: [PATCH 308/360] DEVDOCS-5386: [revise] OrdersV2, Add Brand and Fulfillment response to List order product GET (#1473) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Co-authored-by: Sarah Riehl --- reference/orders.v2.oas2.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index f4bd07c28..1d15b7b6a 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -2915,6 +2915,14 @@ components: bin_picking_number: description: Bin picking number for the physical product. type: string + external_id: + description: (Read-only) ID of the order in another system. For example, the Amazon order ID if this is an Amazon order. + type: string + nullable: true + readOnly: true + brand: + description: The productʼs brand. + type: string applied_discounts: description: Array of objects containing discounts applied to the product. type: array @@ -2925,11 +2933,6 @@ components: type: array items: $ref: '#/components/schemas/orderProductOptions' - external_id: - description: (Read-only) ID of the order in another system. For example, the Amazon order ID if this is an Amazon order. - type: string - nullable: true - readOnly: true upc: type: string maxLength: 255 From 453f7870d1df4ef8fb66585e493583ba04e93dd7 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 6 Oct 2023 09:34:35 -0500 Subject: [PATCH 309/360] DEVDOCS-5385-b:[update] Removed incorrect example (#1489) Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/themes.v3.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/reference/themes.v3.yml b/reference/themes.v3.yml index 436ff29f2..fea62d197 100644 --- a/reference/themes.v3.yml +++ b/reference/themes.v3.yml @@ -712,10 +712,6 @@ components: per_page: 50 current_page: 1 total_pages: 1 - links: - previous: nostrud in - current: '?page=1&limit=50' - next: in securitySchemes: X-Auth-Token: name: X-Auth-Token From 4c502b2c44cb44a5e05746fbd86fd1f0d5dd882a Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 6 Oct 2023 09:40:12 -0500 Subject: [PATCH 310/360] =?UTF-8?q?DEVDOCS-5447:[update]Update=20schema=20?= =?UTF-8?q?and=20example=20for=20Upsert=20Category=20Tr=E2=80=A6=20(#1484)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> --- reference/catalog/category-trees_catalog.v3.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 50126723b..121663e88 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -403,7 +403,7 @@ paths: example: - id: 0 name: string - channel_ids: + channels: - 0 responses: '200': @@ -844,7 +844,7 @@ components: type: string minLength: 1 maxLength: 255 - channel_ids: + channels: type: array items: type: integer From 8b2842039a108a5997aaf12697313eee211f2cd0 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 6 Oct 2023 10:49:31 -0500 Subject: [PATCH 311/360] DEVDOCS-5411: Settings API, change enum values (#1486) --- reference/settings.v3.yml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index 4942958d6..d5d64c119 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -1627,8 +1627,8 @@ components: default: relevance enum: - relevance - - atoz - - ztoa + - alphaasc + - alphadesc title: ContentSortEnumValues x-internal: false DetailedErrors: @@ -2085,11 +2085,12 @@ components: - featured - bestselling - newest - - atoz - - ztoa - - highestprice - - lowestprice - - bestreviewed + - alphaasc + - alphadesc + - pricedesc + - priceasc + - avgcustomerreview + - relevance title: ProductSortEnumValues x-internal: false RobotsTxtSettings: @@ -2239,6 +2240,11 @@ components: type: boolean search_suggest: type: boolean + required: + - content_product_sort + - default_product_sort + - product_filtering_enabled + - search_suggest x-internal: false StorefrontSecuritySettings: type: object @@ -2318,7 +2324,7 @@ components: properties: '': type: string - example: 'Incorrect value [current__only], it should match one of: current_category_only,child_categories_if_category_empty,child_categories; Incorrect value [besling], it should match one of: featured,newest,bestselling,atoz,ztoa,bestreviewed,lowestprice,highestprice' + example: 'Incorrect value [current__only], it should match one of: current_category_only,child_categories_if_category_empty,child_categories; Incorrect value [besling], it should match one of: featured, newest, bestselling, alphaasc, alphadesc, avgcustomerreview, priceasc, pricedesc, relevance' minLength: 1 status: type: number @@ -2334,7 +2340,7 @@ components: x-examples: example-1: errors: - '': 'Incorrect value [], it should match one of: current_category_only,child_categories_if_category_empty,child_categories; Incorrect value [], it should match one of: featured,newest,bestselling,atoz,ztoa,bestreviewed,lowestprice,highestprice' + '': 'Incorrect value [], it should match one of: current_category_only,child_categories_if_category_empty,child_categories; Incorrect value [], it should match one of: featured, newest, bestselling, alphaasc, alphadesc, avgcustomerreview, priceasc, pricedesc, relevance' status: 422 title: JSON data is missing or invalid type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes' From 485213339d5edbea6c8a4665afbec20e0fe0de51 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:06:08 -0500 Subject: [PATCH 312/360] DEVDOCS-5483 [new]: Settings API, add channel_id query parameter to locale settings (#1487) --- reference/settings.v3.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index d5d64c119..b567b16ca 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -783,6 +783,7 @@ paths: '/settings/store/locale': parameters: - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ChannelIdParam' get: summary: Get Locale Settings description: Returns global locale settings. @@ -810,7 +811,10 @@ paths: - Store Locale put: summary: Update Locale Settings - description: Updates global locale settings. + description: |- + Updates global locale settings. + + Set a channel override by using the `channel_id` query parameter. To remove a channel override, set `null` for a field. The field then inherits the global value. parameters: - $ref: '#/components/parameters/ContentType' requestBody: From 755a1b7534cda4e7a639f740b2b4d2a62c1ee2f8 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Mon, 9 Oct 2023 12:19:43 -0500 Subject: [PATCH 313/360] DEVDOCS-5483 [update]: Settings API, edit OAS structure for parameters (#1492) --- reference/settings.v3.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index b567b16ca..a84392f90 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -781,12 +781,12 @@ paths: tags: - Search Filters '/settings/store/locale': - parameters: - - $ref: '#/components/parameters/Accept' - - $ref: '#/components/parameters/ChannelIdParam' get: summary: Get Locale Settings description: Returns global locale settings. + parameters: + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/ChannelIdParam' responses: '200': description: '' @@ -816,7 +816,9 @@ paths: Set a channel override by using the `channel_id` query parameter. To remove a channel override, set `null` for a field. The field then inherits the global value. parameters: + - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ContentType' + - $ref: '#/components/parameters/ChannelIdParam' requestBody: content: application/json: From 6782cd8ac344865bb854bbd8823f2d9a78c542d3 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 9 Oct 2023 16:00:33 -0500 Subject: [PATCH 314/360] DEVDOCS-5531: [revise]Update consignment endpoints (#1490) --- reference/checkouts.v3.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 038299a73..dd397f98c 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -4730,13 +4730,16 @@ paths: - Checkout Consignments summary: Update Checkout Consignment description: |- - Updates an existing consignment. The address, line item IDs, and the shipping option ID can be updated using this endpoint. + Updates an existing consignment. The address, line item IDs, and shipping option ID can be updated using this endpoint. + + Use a separate `PUT` request to update the shipping option IDs if you also want to update the address and line item IDs. - To add a new address and shipping options with line items, complete the following steps. + To add new shipping options, complete the following steps: + * Use the [Add Consignment to Checkout](/docs/rest-management/checkouts/checkout-consignments#add-consignment-to-checkout) endpoint to add a new [consignment] to a checkout. + * Assign a shipping option to the new consignment by sending a `PUT` request to update the consignment's `shipping_option_id` with a returned value from `data.consignments[N].available_shipping_option[N].id` obtained in the [Add Consignment to Checkout](/docs/rest-management/checkouts/checkout-consignments#add-consignment-to-checkout) endpoint. - 1. Add a new [consignment](/docs/rest-management/checkouts/checkout-consignments#add-consignment-to-checkout) to a checkout. + To update an existing address and line item IDs, assign a new address and line item IDs by sending a `PUT` request. - 2. Assign a shipping option to the new consignment by sending a `PUT` request to update the consignment's `shipping_option_id` with a returned value from `data.consignments[N].available_shipping_option[N].id` obtained in Step One. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut parameters: - $ref: '#/components/parameters/Content-Type' @@ -8703,10 +8706,8 @@ components: x-internal: false UpdateConsignmentRequest: title: Update Consignment Request - type: array - items: - type: object - properties: + type: object + properties: address: title: Address Properties required: From 62e6a627ed875684c2bf6cd2cd912a17d6d6c0b2 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 12 Oct 2023 09:50:04 -0500 Subject: [PATCH 315/360] DEVDOCS-5491: [update] add status (#1493) --- reference/webhooks.v3.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index e5a7d3eef..0df12df14 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -227,7 +227,7 @@ paths: description: You can pass in any number of custom headers to validate webhooks being returned. is_active: type: boolean - description: If webhook is active or not + description: If the webhook is active or not. default: true created_at: type: integer @@ -235,6 +235,13 @@ paths: updated_at: type: integer description: Updated time + status: + type: string + description: The webhook status. + enum: + - inactive + - active + - deactivated blocked_domains: description: List of domains (destinations) that are currently on the denylist and are not being sent webhooks. type: array @@ -732,8 +739,8 @@ components: title: store/cart/updated description: |- Fires when one of the following occurs: - * A cartʼs line items are modified by adding a new item to a cart, updating an existing itemʼs quantity, or deleting an item. - * A shopper enters or changes their email address during guest checkout. This includes signing in to a customer account after creating a guest cart, which associates the accountʼs email address with the cart. + * A cart's line items are modified by adding a new item to a cart, updating an existing item's quantity, or deleting an item. + * A shopper enters or changes their email address during guest checkout. This includes signing in to a customer account after creating a guest cart, which associates the account's email address with the cart. The `store/cart/created` webhook firing also triggers this webhook because adding a product to an empty cart is considered an update. @@ -1419,7 +1426,7 @@ components: store_customer_updated: title: store/customer/updated description: |- - This webhook is triggered when a customer is updated. In addition, this webhook is triggered when a shopper initially enters custom form field values within the account sign-up form. Please note that neither changing existing data in customer form fields nor changing a customerʼs address will trigger the webhook. + This webhook is triggered when a customer is updated. In addition, this webhook is triggered when a shopper initially enters custom form field values within the account sign-up form. Please note that neither changing existing data in customer form fields nor changing a customer's address will trigger the webhook. ```json title="Example callback object" lineNumbers From 01bcb76c4358618a60633904a4fc84fd21f16281 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 13 Oct 2023 08:30:48 -0500 Subject: [PATCH 316/360] DEVDOCS-5222" [update] update delete brands endpoint description (#1496) --- reference/catalog/brands_catalog.v3.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index 54d8369d5..6c56cea55 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -591,7 +591,12 @@ paths: tags: - Brands summary: Delete Brands - description: 'By default, it deletes all *Brand* objects. A filter should be added to avoid deleting all *Brand* objects in a store.' + description: |- + To delete brand objects, you must include a filter. + + **Required Fields** + - name + operationId: deleteBrands parameters: - name: name From c7eb043a46f17df1b42d8f9d9db1ed1e2735c6b5 Mon Sep 17 00:00:00 2001 From: Jordan Arldt Date: Fri, 13 Oct 2023 10:08:35 -0500 Subject: [PATCH 317/360] STRF-11308: Add "id" as a sortable field to V3 redirects (#1497) --- reference/redirects.v3.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index 601432832..743614f9f 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -66,6 +66,7 @@ paths: - from_path - type - site_id + - id - name: direction in: query description: 'Sort direction. Acceptable values are `asc`, `desc`.' From 6fae472fe2fad93f3220275883b18f0f90d1cfd9 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 16 Oct 2023 09:47:37 -0500 Subject: [PATCH 318/360] DEVDOCS-5493: [update] add cleanup policy (#1498) --- reference/webhooks.v3.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index 0df12df14..0dc0b9bed 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -227,7 +227,7 @@ paths: description: You can pass in any number of custom headers to validate webhooks being returned. is_active: type: boolean - description: If the webhook is active or not. + description: If the webhook is active or not. A webhook subscription becomes deactivated after 90 days of inactivity. default: true created_at: type: integer @@ -365,7 +365,7 @@ components: name: is_active in: query description: | - Enables user to filter for webhooks that are active or not. + Enables user to filter for webhooks that are active or not. A webhook subscription becomes deactivated after 90 days of inactivity. schema: type: boolean example: true @@ -3030,7 +3030,7 @@ components: is_active: type: boolean example: true - description: Boolean value that indicates whether the webhook is active or not. + description: Boolean value that indicates whether the webhook is active or not. A webhook subscription becomes deactivated after 90 days of inactivity. events_history_enabled: type: boolean example: true From 4500c3c91312533f9c5bb9478d6d1b6667204d30 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 16 Oct 2023 10:14:44 -0500 Subject: [PATCH 319/360] DEVDOCS-5469: [update] update url object (#1499) --- reference/catalog/category-trees_catalog.v3.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 121663e88..6fa10f42b 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -580,7 +580,7 @@ components: - $ref: '#/components/schemas/default_product_sort' - type: object properties: - custom_url: + url: $ref: '#/components/schemas/Url' x-examples: {} CategoryUuidData: @@ -661,7 +661,7 @@ components: type: boolean image_url: type: string - custom_url: + url: $ref: '#/components/schemas/Url' CategoryDataPUT: allOf: @@ -677,7 +677,7 @@ components: Url: type: object properties: - url: + path: type: string is_customized: type: boolean From ae0b8bd4cab95d6f068ad93465c7f2df63a16b94 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 16 Oct 2023 10:59:42 -0500 Subject: [PATCH 320/360] (no ticket): [update] Email Templates, add edited versions (#1500) --- models/email_templates/combined/README.md | 32 ++ .../combined/abandoned_cart_email.yml | 434 +++++++++++++++ .../account_details_changed_email.yml | 128 +++++ .../combined/account_reset_password_email.yml | 112 ++++ .../combined/combined_order_status_email.yml | 260 +++++++++ .../combined/create_account_email.yml | 128 +++++ .../combined/create_guest_account_email.yml | 114 ++++ .../combined/gift_certificate_email.yml | 155 ++++++ models/email_templates/combined/global.yml | 88 +++ .../combined/invoice_email.yml | 523 ++++++++++++++++++ .../combined/order_message_notification.yml | 123 ++++ .../combined/passwordless_login_email.yml | 120 ++++ .../combined/product_review_email.yml | 143 +++++ .../combined/return_confirmation_email.yml | 163 ++++++ .../combined/return_status_change_email.yml | 201 +++++++ 15 files changed, 2724 insertions(+) create mode 100644 models/email_templates/combined/README.md create mode 100644 models/email_templates/combined/abandoned_cart_email.yml create mode 100644 models/email_templates/combined/account_details_changed_email.yml create mode 100644 models/email_templates/combined/account_reset_password_email.yml create mode 100644 models/email_templates/combined/combined_order_status_email.yml create mode 100644 models/email_templates/combined/create_account_email.yml create mode 100644 models/email_templates/combined/create_guest_account_email.yml create mode 100644 models/email_templates/combined/gift_certificate_email.yml create mode 100644 models/email_templates/combined/global.yml create mode 100644 models/email_templates/combined/invoice_email.yml create mode 100644 models/email_templates/combined/order_message_notification.yml create mode 100644 models/email_templates/combined/passwordless_login_email.yml create mode 100644 models/email_templates/combined/product_review_email.yml create mode 100644 models/email_templates/combined/return_confirmation_email.yml create mode 100644 models/email_templates/combined/return_status_change_email.yml diff --git a/models/email_templates/combined/README.md b/models/email_templates/combined/README.md new file mode 100644 index 000000000..3d6690d38 --- /dev/null +++ b/models/email_templates/combined/README.md @@ -0,0 +1,32 @@ +# Email Template Objects + +Object schemas for handlebars email templates. + +## Directory structure + +```shell +. +├── data # json data for generating and updating yaml schema +├── _all.yml # Groups models together for docs +├── account_details_changed_email.yml # Individual email template models +├── ... +``` + +## Updating models + +To generate a new model from json data and overwrite the existing schema file: + +1. Copy and paste template `data-*.json` from [localization-tools](https://github.com/bigcommerce/localization-tools/blob/master/email-check/modules/email-templates/types/abandoned_cart_email/data-0.json) to `models/_json/email_templates`. +2. Use `models/json2schema.py` to convert the json data to a yaml schema. + +Example: + +```bash +cat data.json | python json2schema.py > schema.yml +``` + +Bash for overwriting all email template models: + +```bash +for f in models/email_templates/data/*.json; do cat $f | python models/json2schema.py > ${f%.*}.yml; mv ${f%.*}.yml models/email_templates/; done +``` \ No newline at end of file diff --git a/models/email_templates/combined/abandoned_cart_email.yml b/models/email_templates/combined/abandoned_cart_email.yml new file mode 100644 index 000000000..ad8e3c064 --- /dev/null +++ b/models/email_templates/combined/abandoned_cart_email.yml @@ -0,0 +1,434 @@ +title: Abandoned Cart Email Template +description: Abandoned cart email triggers when a shopper doesnʼt complete an order. +type: object +oneOf: + - properties: + notification: + type: array + items: + type: object + properties: + unsubscribe_link: + type: string + checkout_link: + type: string + coupon: + type: array + items: + type: object + properties: + code: + type: string + type: + type: array + items: + type: object + properties: + value: + type: string + formatted: + type: string + amount: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + cart: + type: array + items: + type: object + properties: + products: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + id: + type: number + url: + type: string + name: + type: string + quantity: + type: integer + sku: + type: string + thumbnail: + type: string + attributes: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + '1': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + price: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + type: + type: array + items: + type: object + properties: + value: + type: integer + formatted: + type: string + '1': + type: array + items: + type: object + properties: + id: + type: number + url: + type: string + name: + type: string + quantity: + type: integer + sku: + type: string + thumbnail: + type: string + attributes: + type: array + items: + type: object + properties: + '0': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + '1': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + price: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + type: + type: array + items: + type: object + properties: + value: + type: integer + formatted: + type: string + store: + type: array + items: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: array + items: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + path: + type: string + address: '123 Fake St, Dallas, TX 75225' + type: string + phone_number: + type: string + language: + type: array + items: + type: object + properties: + code: + type: string + direction: + type: string + customer: + type: array + items: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + id: + type: number + name: + type: string + misc: + type: array + items: + type: object + properties: + year: + type: integer + - deprecated: true + properties: + abandoned_cart: + type: object + title: deprecated + deprecated: true + properties: + body: + type: string + unsubscribe_link: + type: string + store: + type: object + deprecated: true + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + deprecated: true + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: '123 Fake St, Dallas, TX 75225' + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + deprecated: true + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + deprecated: true + properties: + year: + type: integer + translations: + type: object + deprecated: true + properties: + en: + type: object + properties: + unsubscribe: + type: string + - properties: + notification: + - unsubscribe_link: string + checkout_link: string + coupon: + - code: string + type: + - value: string + formatted: string + amount: + - value: 0 + formatted: string + cart: + - products: + - '0': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + - '1': + - id: 0 + url: string + name: string + quantity: 0 + sku: string + thumbnail: string + attributes: + - '0': + - name: string + value: string + '1': + - name: string + value: string + price: + - value: 0 + formatted: string + type: + - value: 0 + formatted: string + store: + - name: string + domain_name: string + logo: + - title: string + name: string + url: string + ssl_path: string + cdn_path: string + image_directory: string + img_path: string + path_normal: string + path: string + address: string + phone_number: string + language: + - code: string + direction: string + customer: + - first_name: string + full_name: string + email: string + group: + - id: 0 + name: string + misc: + - year: 0 +example: + abandoned_cart: + body: You recently visited our online store and we noticed that you didnʼt complete your order.\n
To complete your order right now, just click on the link below:\n Complete your order + unsubscribe_link: 'example.com/unsubscribe' + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: unsubscribe:'Unsubscribe from future emails like this. diff --git a/models/email_templates/combined/account_details_changed_email.yml b/models/email_templates/combined/account_details_changed_email.yml new file mode 100644 index 000000000..2bce30060 --- /dev/null +++ b/models/email_templates/combined/account_details_changed_email.yml @@ -0,0 +1,128 @@ +title: Account Settings Edited Email Template +description: Account settings email triggers when the store admin or a customer edits account settings. +type: object +properties: + details_changed: + type: object + properties: + fields: + type: array + items: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + warning: + type: string + thanks: + type: string + security: + type: string + go_shopping: + type: string +example: + details_changed: + fields: + - Email + - Password + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: '[= My Dev Store 97434969 =]' + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Your {{name}} account details have changed + hello: Hello {{name}}, + message: 'We wanted to let you know that the following details have been changed on your {{name}} account:' + warning: 'If you made the changes yourself, please disregard this email. If not, please contact the store immediately through their website: {{domain}}.' + thanks: Thanks, + security: The BigCommerce Security Team + go_shopping: Go shopping diff --git a/models/email_templates/combined/account_reset_password_email.yml b/models/email_templates/combined/account_reset_password_email.yml new file mode 100644 index 000000000..5e60b6431 --- /dev/null +++ b/models/email_templates/combined/account_reset_password_email.yml @@ -0,0 +1,112 @@ +title: Password Reset Email Template +description: Password reset email triggers when a customer resets their account password on the customer details page. +type: object +properties: + reset_password: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + message: + type: string + go_shopping: + type: string +example: + reset_password: + link: #reset-password-link + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John, + full_name: John Jr, + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Change your password for {{name}} + message: 'To change your customer account password at {{store}} please click this link or copy and paste it into your browser:' + go_shopping: Go shopping diff --git a/models/email_templates/combined/combined_order_status_email.yml b/models/email_templates/combined/combined_order_status_email.yml new file mode 100644 index 000000000..bc64b12a9 --- /dev/null +++ b/models/email_templates/combined/combined_order_status_email.yml @@ -0,0 +1,260 @@ +title: Order Status Update Email Template +description: Order status update email triggers when the status of an order changes. +type: object +properties: + order: + type: object + properties: + id: + type: integer + new_status: + type: string + example: 'Incomplete, Pending, Shipped, Partially Shipped, Refunded, Cancelled, Declined, Awaiting Payment, Awaiting Pickup, Awaiting Shipment, Completed, Awaiting Fulfillment, Manual Verification Required, Disputed, Partially Refunded' + new_formatted_status: + type: string + example: 'Shipment123, PendingOrder345, Cancelled0223222, Awaiting Payment in Store' + total: + type: object + properties: + value: + type: float + formatted: + type: string + refund: + type: object + properties: + value: + type: float + formatted: + type: string + date_placed: + type: object + properties: + value: + type: integer + formatted: + type: string + payment_method: + type: string + link: + type: string + customer_name: + type: string + downloadable_products: + type: array + items: + type: object + properties: + name: + type: string + options: + type: string + quantity: + type: integer + link: + type: string + thumbnail: + type: string + products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + price: + type: string + quantity: + type: integer + thumbnail: + type: string + brand: + type: string + tracking: + type: array + items: + type: object + properties: + id: + type: string + shipping_method: + type: string + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + details_title: + type: string + order_total: + type: string + date_placed: + type: string + payment_method: + type: string + total_refund: + type: string + products_shipped: + type: string + products_to_be_shipped: + type: string + tracking_title: + type: string + downloadable_items_title: + type: string + quantity: + type: string + download: + type: string + tracking_label: + type: string + no_tracking_numbers: + type: string + check_status: + type: string + go_shopping: + type: string +example: + order: + id: 1 + new_status: Awaiting Fulfillment + total: + value: 10 + formatted: $10.00 USD + refund: + value: 0 + formatted: + date_placed: + value: 1614615796 + formatted: 03/01/2121 + payment_method: Store Credit + link: '#status-link' + customer_name: John Cena + downloadable_products: + name: Journal + options: + quantity: 1 + link: '#downloadable-link' + products: + name: Test product + sku: FA44 + quantity: 11 + tracking: + id: 123BC + shipping_method: DHL + link: '#example.com' + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: '= My Dev Store 97434969 =' + name: 'avatar-2020_1612860757__16350.jpeg' + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2023 + translations: + en: + title: Order status changed + hello: Hi + message: 'The status of your order #id has changed to {{status}}.' + details_title: Order details + order_total: 'Order total:' + date_placed: 'Date placed:' + payment_method: 'Payment method:' + total_refund: 'Total refunded:' + products_shipped: Products shipped + products_to_be_shipped: Products to be shipped + tracking_title: Tracking information + downloadable_items_title: Downloadable items + quantity: 'Qty:' + download: Download file + tracking_label: Tracking Link + no_tracking_numbers: No tracking numbers are assigned to your order yet + check_status: Check order status + go_shopping: Go shopping + diff --git a/models/email_templates/combined/create_account_email.yml b/models/email_templates/combined/create_account_email.yml new file mode 100644 index 000000000..92cd78317 --- /dev/null +++ b/models/email_templates/combined/create_account_email.yml @@ -0,0 +1,128 @@ +title: Account Created Email Template +description: Account created email triggers when a customer or store admin creates their account. +type: object +properties: + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + details_title: + type: string + email_label: + type: string + password_label: + type: string + password_placeholder: + type: string + sign_in: + type: string + help: + type: string + go_shopping: + type: string +example: + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: john.f@example.com + misc: + year: 2021 + translations: + en: + title: Thanks for registering at {{store}} + hello: Hello {{name}}. + message: Thank you for creating your account at {{name}}. + details_title: Account details + email_label: 'Email Address:' + password_label: 'Password:' + password_placeholder: [The password you specified] + sign_in: Sign in to account + help: If you have any questions regarding your account, click 'Reply' in your email client and we'll be only too happy to help. + go_shopping: Go shopping + + diff --git a/models/email_templates/combined/create_guest_account_email.yml b/models/email_templates/combined/create_guest_account_email.yml new file mode 100644 index 000000000..486291670 --- /dev/null +++ b/models/email_templates/combined/create_guest_account_email.yml @@ -0,0 +1,114 @@ +title: Create Guest Account Email Template +description: Guest account created email triggers when a customer or store admin creates a guest account. +type: object +properties: + guest_account: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + instruction: + type: string + help: + type: string + go_shopping: + type: string +examples: + guest_account: + link: 'https://example.com/reset-password' + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Welcome to {{name}} + hello: Hello {{name}}, + message: For your convenience, we've created you an account on {{store}} so you can check the status of your order and checkout quicker in the future. + instruction: 'To login you will need to follow the link below to nominate your password:' + help: If you have any questions regarding your account, click 'Reply' in your email client and we'll be only too happy to help. + go_shopping: Go shopping diff --git a/models/email_templates/combined/gift_certificate_email.yml b/models/email_templates/combined/gift_certificate_email.yml new file mode 100644 index 000000000..e77e2361f --- /dev/null +++ b/models/email_templates/combined/gift_certificate_email.yml @@ -0,0 +1,155 @@ +title: Gift Certificate Email Template +description: Gift certificate recipient email triggers when a customer purchases a gift certificate. +type: object +properties: + certificate: + type: object + properties: + code: + type: string + to_name: + type: string + to_email: + type: string + from_name: + type: string + from_email: + type: string + amount: + type: string + redeem_link: + type: string + expiry_date: + type: object + properties: + formatted: + type: string + value: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + expiry_info: + type: string + instruction: + type: string + attached: + type: string + warning: + type: string + go_shopping: + type: string +example: + certificate: + code: FA-21465 + to_name: John + to_email: 'john.f@example.com' + from_name: John Wick + from_email: 'johnwick@example.com' + amount: '12.34' + redeem_link: '#redeem-link' + expiry_date: + formatted: 03/01/2121 + value: 1614615821 + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225 USA' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: You have received a Gift Certificate for {{name}} + hello: Dear {{name}}, + message: '{{from_name}} ({{from_email}}) has sent you a {{amount}} gift certificate for {{name]}.' + expiry_info: You have until {{date}} to use this gift certificate before it expires. + instruction: 'For instructions on how to redeem your gift certificate please click here.' + attached: Your gift certificate is attached to this email. + warning: Please download or print a copy of your gift certificate for safe keeping as gift certificates are non-transferable. + go_shopping: Go shopping diff --git a/models/email_templates/combined/global.yml b/models/email_templates/combined/global.yml new file mode 100644 index 000000000..16140df2d --- /dev/null +++ b/models/email_templates/combined/global.yml @@ -0,0 +1,88 @@ +title: Global Email Template Object +description: Data objects across all email templates. +type: object +properties: + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer +example: + store: + name: string, + domain_name: string + logo: + title: string + name: string + url: string + ssl_path: string + cdn_path: string + image_directory: string + img_path: string + path_normal: string + path: string + address: string + language: + code: string + direction: string + customer: + first_name: string + full_name: string + email: string + misc: + year: int diff --git a/models/email_templates/combined/invoice_email.yml b/models/email_templates/combined/invoice_email.yml new file mode 100644 index 000000000..833c3b7c9 --- /dev/null +++ b/models/email_templates/combined/invoice_email.yml @@ -0,0 +1,523 @@ +title: Order Email Template +description: Order email triggers when a customer or store admin creates an order. +type: object +properties: + order: + type: object + properties: + id: + type: integer + customer_message: + type: string + customer_id: + type: integer + date_placed: + type: object + properties: + formatted: + type: string + value: + type: integer + account_order_status_url: + type: string + shipping: + type: object + properties: + methods: + type: array + items: + type: object + properties: + address: '123 Fake St, Dallas, TX 75225' + type: object + properties: + email: + type: string + phone: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + country: + type: string + city: + type: string + state: + type: string + zip: + type: string + address_lines: + type: array + items: + type: object + properties: + custom_fields: + type: array + items: + type: object + properties: + products: + type: array + items: + type: object + properties: + name: + type: string + quantity: + type: integer + sku: + type: string + address_lines: + type: array + items: + type: object + properties: + address_id: + type: integer + options: + type: object + properties: + Size: + type: string + download_url: + type: string + thumbnail: + type: string + brand: + type: string + event: + type: object + properties: + name: + type: string + date: + type: object + properties: + value: + type: integer + formatted: + type: string + price: + type: object + properties: + value: + type: float + formatted: + type: string + total: + type: object + properties: + value: + type: float + formatted: + type: string + preorder: + type: object + properties: + is_preorder: + type: boolean + message: + type: string + date: + type: object + properties: + value: + type: integer + formatted: + type: string + attribute_lines: + type: array + description: A list of strings that represents product variant options. + items: + type: object + properties: + configurable_fields: + type: array + description: Object array with properties name and value. + items: + type: object + properties: + payment: + type: object + properties: + is_test: + type: boolean + provider_name: + type: string + offline_payment_message: + type: string + gateway_amount: + type: object + description: Price value. Provided only if the payment method is offline. + properties: + formatted: + type: string + value: + type: float + billing: + type: object + properties: + is_managed_by_amazon: + type: boolean + address: '123 Fake St, Dallas, TX 75225' + type: object + properties: + email: + type: string + phone: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + country: + type: string + city: + type: string + state: + type: string + zip: + type: string + address_lines: + type: array + items: + type: object + properties: + custom_fields: + type: array + items: + type: object + properties: + total_rows: + type: array + items: + type: object + properties: + label: + type: string + price: + type: object + properties: + value: + type: float + formatted: + type: string + shipping_discounts: + type: array + items: + type: object + properties: + total_cost: + type: object + properties: + formatted: + type: string + value: + type: float + meta: + type: object + properties: + mandate_url: + type: string + description: Link to the confirmation page in Stripe + mandate_tag: + type: string + description: Short name of the payment document + shipping_addresses_num: + type: integer + show_immediate_download: + type: boolean + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + comment_label: + type: string + order_id_line: + type: string + view_summary: + type: string + sepa: + type: string + description: A link to SEPA mandate and also receive this link embedded on email confirmation. + shipment_to_multiple_addresses: + type: string + shipping_immediate_download: + type: string + shipping_address_label: + type: string + immediate_download: + type: string + email: + type: string + billing_address_managed_by_amazon: + type: string + billing_address_label: + type: string + pending_payment: + type: string + how_to_pay: + type: string + pay_for_order_help: + type: string + order_total: + type: string + cart_items: + type: string + sku: + type: string + quantity: + type: string + item_price: + type: string + item_total: + type: string + payment_method: + type: string + no_payment_taken_in_test_mode: + type: string + download_files: + type: string + preorder: + type: string + download_available_after_payment: + type: string + shipped_to: + type: string + shipping_discount: + type: string + thanks_for_your_order: + type: string + your_order_contains: + type: string + shipping_method: + type: string + shipping_to_address: '123 Fake St, Dallas, TX 75225' + type: string + your_order_will_be_shipped_by: + type: string + total_cost: + type: string + items: + type: string + total: + type: string + price: + type: string + email_address: '123 Fake St, Dallas, TX 75225' + type: string +examples: + order: + id: 1 + customer_message: Order custom message + customer_id: 11 + date_placed: + formatted: 11th Feb 2021 + value: 1613060604 + account_order_status_url: #url + shipping: + methods: + address: '123 Fake St, Dallas, TX 75225' + email: 'test@gmail.com' + phone: +112233445566 + first_name: John + last_name: Wick + company: MyCompany + country: + city: + state: + zip: 1622 + address_lines: + custom_fields: + products: + - name: Test product name + quantity: 2 + sku: SF42 + address_lines: + address_id: 0 + options: + Size: XL + download_url: + thumbnail_url: /test.jpg + event: + name: + date: + value: 0 + formatted: + price: + value: 250.1 + formatted: 250.1 + total: + value: 250.1, + formatted: 250.1 + preorder: + is_preorder: false + message: + date: + value: 0 + formatted: + attribute_lines: + configurable_fields: + payment: + is_test: false + provider_name: PaymentMethod + offline_payment_message: + gateway_amount: + formatted: + value: 0 + billing: + is_managed_by_amazon: false + address: '123 Fake St, Dallas, TX 75225' + email: 'test@gmail.com' + phone: +112233445566 + first_name: John + last_name: Wick + company: MyCompany + country: + city: + state: + zip: 1622 + address_lines: + custom_fields: + total_rows: + - label: Total, + price: + value: 250.1, + formatted: 250.1 + shipping_discounts: + total_cost: + formatted: 100.0$, + value: 100 + meta: + mandate_url: + shipping_addresses_num: 1 + show_immediate_download: false + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: [= My Dev Store 97434969 =] + name: 'avatar-2020_1612860757__16350.jpeg' + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John, + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + comment_label: Order Instructions/Comments + order_id_line: Your order ID is #{{id}}. + view_summary: A summary of your order is shown below. To view the status of your order click here. + sepa: 'SEPA Direct Debit Mandate' + shipment_to_multiple_addresses: (Order will be shipped to multiple addresses) + shipping_immediate_download: Immediate download after completion of payment. + shipping_address_label: Shipping Address + immediate_download: Immediate Download + email: Email + billing_address_managed_by_amazon: Managed by Amazon + billing_address_label: Billing Address + pending_payment: Your order requires payment before it can be finalized. Details on how to pay are shown below. + how_to_pay: Your order requires payment before it can be finalized. Details on how to pay are shown below. + pay_for_order_help: Once you've provided payment your order will be completed. + order_total: The outstanding balance of your order is amount + cart_items: Cart Items + sku: SKU + quantity: Qty + item_price: Item Price + item_total: Item Total + payment_method: Payment Method + no_payment_taken_in_test_mode: 'Please Note: No money was taken for this order, because the payment provider is in test mode.' + download_files: Download Files + preorder: This product is available for pre-order only + download_available_after_payment: Items available for immediate download after completion of payment + shipped_to: Items shipped to address + shipping_discount: price off using code Coupon Code + thanks_for_your_order: Thanks for Your Order + your_order_contains: Your Order Contains... + shipping_method: Shipping Method + shipping_to_address: Shipping to Address + your_order_will_be_shipped_by: Your Order Will Be Shipped By... + total_cost: Total Cost + items: Items + total: Total + price: Price + email_address: Email Address diff --git a/models/email_templates/combined/order_message_notification.yml b/models/email_templates/combined/order_message_notification.yml new file mode 100644 index 000000000..9c9c987af --- /dev/null +++ b/models/email_templates/combined/order_message_notification.yml @@ -0,0 +1,123 @@ +title: Order Notification Email Template +description: Order notification email triggers when a retailer or store admin adds a message to an order. +type: object +properties: + notification: + type: object + properties: + message: + type: string + link: + type: string + subject: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + reply: + type: string + go_shopping: + type: string +example: + notification: + message: Message from the retailer + link: 'https://my-dev-store-97434969.store.bcdev/account.php?action=inbox' + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: New Reply to your Order Message + hello: Hello {{name}}. + message: '{{name}} has sent you a message about your order.' + reply: Reply + go_shopping: Go shopping diff --git a/models/email_templates/combined/passwordless_login_email.yml b/models/email_templates/combined/passwordless_login_email.yml new file mode 100644 index 000000000..30db28ba8 --- /dev/null +++ b/models/email_templates/combined/passwordless_login_email.yml @@ -0,0 +1,120 @@ +title: Sign in Link Request Email Template +description: Sign-in request email triggers when an existing customer requests passwordless login while checking out. +type: object +properties: + passwordless_login: + type: object + properties: + link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + message: + type: string + alternatively: + type: string + login_request: + type: string + secure: + type: string + go_shopping: + type: string +example: + passwordless_login: '"link": "#sign-in-link"' + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Please click the link below to sign in to your account with {{name}} + message: 'You have requested a sign-in link. Please click here to sign in and continue.' + alternatively: 'Alternatively, paste the following link in your browser:' + login_request: This login is for {{name}} if you did not request this link, please ignore this email. + secure: Your account is still secure. + go_shopping: Go shopping diff --git a/models/email_templates/combined/product_review_email.yml b/models/email_templates/combined/product_review_email.yml new file mode 100644 index 000000000..ad5eea723 --- /dev/null +++ b/models/email_templates/combined/product_review_email.yml @@ -0,0 +1,143 @@ +title: Product Review Email Template +description: Product review request email triggers after a customer purchases a product. +type: object +properties: + review: + type: object + properties: + products: + type: array + items: + type: object + properties: + name: + type: string + sku: + type: string + link: + type: string + price: + type: string + thumbnail: + type: string + unsubscribe_link: + type: string + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + instruction: + type: string + review_text: + type: string + thanks: + type: string + go_shopping: + type: string +examples: + review: + products: + - name: Name of Product + sku: FA44 + link: '#review-link' + unsubscribe_link: '#unsubscribe-link' + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: Review products you've recently purchased + hello: Hello {{name}}, + message: Thanks for your recent order with us!, + instruction: If you have a few minutes, we'd like to invite you to review the products you ordered. Just click on the link below to write a review and share your opinion with other shoppers. + review_text: Review product + thanks: Thanks in advance for taking the time to review the products you purchased! + go_shopping: Go shopping diff --git a/models/email_templates/combined/return_confirmation_email.yml b/models/email_templates/combined/return_confirmation_email.yml new file mode 100644 index 000000000..108a0977b --- /dev/null +++ b/models/email_templates/combined/return_confirmation_email.yml @@ -0,0 +1,163 @@ +title: Return Requested Email Template +description: 'Return requested email triggers after a customer’s return is approved.' +type: object +properties: + return: + type: object + properties: + return_id: + type: string + reason: + type: string + action: + type: string + comments: + type: string + products: + type: array + items: + type: object + properties: + name: + type: string + quantity: + type: integer + price: + type: string + sku: + type: string + thumbnail: + type: string + order: + type: object + properties: + id: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + confirmation: + type: string + summary: + type: string + clickHere: + type: string + reason: + type: string + action: + type: string + comments: + type: string + contains: + type: string + items: + type: string + quantity: + type: string +example: + return: + return_id: 123 + reason: reason of return + action: action + comments: sample comment + order_id: 321 + products: + - name: Shower Gel + quantity: 3 + store: + name: My Dev Store 97434969 + domain_name: 'my-dev-store-97434969.store.bcdev' + logo: + title: '[= My Dev Store 97434969 =]' + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + confirmation: Confirmation for Return Request for Order ID + summary: A summary of your return is shown below. To view the status of this return + clickHere: click here + reason: Return Reason + action: Return Action + comments: Your Comments + contains: Your Return Request Contains the Following Items... + items: Return Items + quantity: Qty diff --git a/models/email_templates/combined/return_status_change_email.yml b/models/email_templates/combined/return_status_change_email.yml new file mode 100644 index 000000000..7b712671b --- /dev/null +++ b/models/email_templates/combined/return_status_change_email.yml @@ -0,0 +1,201 @@ +description: Return status change email triggers after a customer returnʼs status has changed. +type: object +title: Return Status Change Email Template +properties: + return: + type: object + properties: + id: + type: integer + reason: + type: string + action: + type: string + comments: + type: string + product: + type: object + properties: + name: + type: string + quantity: + type: integer + price: + type: string + sku: + type: string + thumbnail: + type: string + status: + type: object + properties: + value: + type: integer + formatted: + type: string + store_credit: + type: object + properties: + value: + type: float + formatted: + type: string + link: + type: string + instructions: + type: string + order: + type: object + properties: + id: + type: integer + store: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + properties: + year: + type: integer + translations: + type: object + properties: + en: + type: object + properties: + title: + type: string + hello: + type: string + message: + type: string + received_credit: + type: string + details_title: + type: string + return_reason: + type: string + return_action: + type: string + return_comments: + type: string + check_status: + type: string + products_title: + type: string + quantity: + type: string + instructions_title: + type: string + go_shopping: + type: string +example: + return: + id: 1 + reason: reason of return + action: action + comments: sample comment + product: + name: ProductName + quantity: 2 + thumbnail_url: '' + status: + value: 1 + formatted: Pending + store_credit: + value: 10.1 + formatted: '$10.1 USD' + link: 'https://my-dev-store-97434969.store.bcdev/account.php?action=view_returns' + instructions: + order: + id: 1 + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: '[= My Dev Store 97434969 =]' + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + title: 'Return request status changed' + hello: 'Hello {{name}}' + message: 'The status of your return request for order #{{id}} has changed to {{status}}.' + received_credit: 'You have received a store credit of {{credits}} To use it simply place your order and you will be able to choose store credit as the payment method when it comes time to pay for your order.' + details_title: Return details + return_reason: 'Return reason:' + return_action: 'Return action:' + return_comments: 'Your comments:' + check_status: Check return status + products_title: Return items + quantity: 'Qty:' + instructions_title: 'Return Instructions:' + go_shopping: Go shopping From 1aaabb435b354ca1a34b1da9640a5799ef5f2b2e Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 16 Oct 2023 12:20:21 -0500 Subject: [PATCH 321/360] (no ticket): [update] Email Templates, correct edited versions (#1501) --- .../combined/abandoned_cart_email.yml | 4 ++-- models/email_templates/combined/invoice_email.yml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/models/email_templates/combined/abandoned_cart_email.yml b/models/email_templates/combined/abandoned_cart_email.yml index ad8e3c064..d41dceda8 100644 --- a/models/email_templates/combined/abandoned_cart_email.yml +++ b/models/email_templates/combined/abandoned_cart_email.yml @@ -198,7 +198,7 @@ oneOf: type: string path: type: string - address: '123 Fake St, Dallas, TX 75225' + address: type: string phone_number: type: string @@ -280,7 +280,7 @@ oneOf: description: 'Path to the store (i.e., domain + protocol)' path: type: string - address: '123 Fake St, Dallas, TX 75225' + address: type: string language: type: object diff --git a/models/email_templates/combined/invoice_email.yml b/models/email_templates/combined/invoice_email.yml index 833c3b7c9..4c2113a9c 100644 --- a/models/email_templates/combined/invoice_email.yml +++ b/models/email_templates/combined/invoice_email.yml @@ -28,7 +28,7 @@ properties: items: type: object properties: - address: '123 Fake St, Dallas, TX 75225' + address: type: object properties: email: @@ -162,7 +162,7 @@ properties: properties: is_managed_by_amazon: type: boolean - address: '123 Fake St, Dallas, TX 75225' + address: type: object properties: email: @@ -359,7 +359,7 @@ properties: type: string shipping_method: type: string - shipping_to_address: '123 Fake St, Dallas, TX 75225' + shipping_to_address: type: string your_order_will_be_shipped_by: type: string @@ -371,7 +371,7 @@ properties: type: string price: type: string - email_address: '123 Fake St, Dallas, TX 75225' + email_address: type: string examples: order: @@ -384,7 +384,7 @@ examples: account_order_status_url: #url shipping: methods: - address: '123 Fake St, Dallas, TX 75225' + address: email: 'test@gmail.com' phone: +112233445566 first_name: John @@ -434,7 +434,7 @@ examples: value: 0 billing: is_managed_by_amazon: false - address: '123 Fake St, Dallas, TX 75225' + address: email: 'test@gmail.com' phone: +112233445566 first_name: John From 67f38addeb9e5aec6007c80651d3ef13a50eb35e Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 16 Oct 2023 21:28:26 -0500 Subject: [PATCH 322/360] (no ticket): [update] Email Templates, split Abandoned Cart oneOf into two schemas (#1503) --- .../combined/abandoned_cart_email.yml | 525 +++++------------- .../abandoned_cart_email_deprecated.yml | 119 ++++ 2 files changed, 249 insertions(+), 395 deletions(-) create mode 100644 models/email_templates/combined/abandoned_cart_email_deprecated.yml diff --git a/models/email_templates/combined/abandoned_cart_email.yml b/models/email_templates/combined/abandoned_cart_email.yml index d41dceda8..3c283fec8 100644 --- a/models/email_templates/combined/abandoned_cart_email.yml +++ b/models/email_templates/combined/abandoned_cart_email.yml @@ -1,265 +1,113 @@ title: Abandoned Cart Email Template description: Abandoned cart email triggers when a shopper doesnʼt complete an order. type: object -oneOf: - - properties: - notification: - type: array - items: - type: object - properties: - unsubscribe_link: - type: string - checkout_link: - type: string - coupon: - type: array - items: - type: object - properties: - code: - type: string - type: +properties: + notification: + type: array + items: + type: object + properties: + unsubscribe_link: + type: string + checkout_link: + type: string + coupon: + type: array + items: + type: object + properties: + code: + type: string + type: + type: array + items: + type: object + properties: + value: + type: string + formatted: + type: string + amount: + type: array + items: + type: object + properties: + value: + type: number + format: float + formatted: + type: string + cart: + type: array + items: + type: object + properties: + products: + type: array + items: + type: object + properties: type: array items: type: object properties: - value: + id: + type: number + url: type: string - formatted: + name: type: string - amount: - type: array - items: - type: object - properties: - value: - type: number - format: float - formatted: + quantity: + type: integer + sku: type: string - cart: - type: array - items: - type: object - properties: - products: - type: array - items: - type: object - properties: - '0': + thumbnail: + type: string + attributes: type: array items: type: object properties: - id: - type: number - url: - type: string - name: - type: string - quantity: - type: integer - sku: - type: string - thumbnail: - type: string - attributes: - type: array - items: - type: object - properties: - '0': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - '1': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - price: - type: array - items: - type: object - properties: - value: - type: number - format: float - formatted: - type: string - type: - type: array - items: - type: object - properties: - value: - type: integer - formatted: - type: string - '1': + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + price: type: array items: type: object properties: - id: + value: type: number - url: - type: string - name: + format: float + formatted: type: string - quantity: + type: + type: array + items: + type: object + properties: + value: type: integer - sku: + formatted: type: string - thumbnail: - type: string - attributes: - type: array - items: - type: object - properties: - '0': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - '1': - type: array - items: - type: object - properties: - name: - type: string - value: - type: string - price: - type: array - items: - type: object - properties: - value: - type: number - format: float - formatted: - type: string - type: - type: array - items: - type: object - properties: - value: - type: integer - formatted: - type: string - store: - type: array - items: - type: object - properties: - name: - type: string - domain_name: - type: string - logo: - type: array - items: - type: object - properties: - title: - type: string - name: - type: string - url: - type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - path: - type: string - address: - type: string - phone_number: - type: string - language: - type: array - items: - type: object - properties: - code: - type: string - direction: - type: string - customer: - type: array - items: - type: object - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - id: - type: number - name: - type: string - misc: - type: array - items: - type: object - properties: - year: - type: integer - - deprecated: true - properties: - abandoned_cart: - type: object - title: deprecated - deprecated: true - properties: - body: - type: string - unsubscribe_link: - type: string - store: - type: object - deprecated: true - properties: - name: - type: string - domain_name: - type: string - logo: + store: + type: array + items: + type: object + properties: + name: + type: string + domain_name: + type: string + logo: + type: array + items: type: object - deprecated: true properties: title: type: string @@ -267,168 +115,55 @@ oneOf: type: string url: type: string - ssl_path: - type: string - cdn_path: - type: string - image_directory: - type: string - img_path: - type: string - path_normal: - type: string - description: 'Path to the store (i.e., domain + protocol)' - path: - type: string - address: - type: string - language: + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + path: + type: string + address: + type: string + phone_number: + type: string + language: + type: array + items: type: object properties: code: type: string direction: type: string - description: 'Left to right or right to left, depending on the language' - customer: - type: object - deprecated: true - properties: - first_name: - type: string - full_name: - type: string - email: - type: string - group: - type: array - items: - type: object - properties: - name: - type: string - misc: - type: object - deprecated: true - properties: - year: - type: integer - translations: - type: object - deprecated: true - properties: - en: + customer: + type: array + items: + type: object + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: type: object properties: - unsubscribe: + id: + type: number + name: type: string - - properties: - notification: - - unsubscribe_link: string - checkout_link: string - coupon: - - code: string - type: - - value: string - formatted: string - amount: - - value: 0 - formatted: string - cart: - - products: - - '0': - - id: 0 - url: string - name: string - quantity: 0 - sku: string - thumbnail: string - attributes: - - '0': - - name: string - value: string - '1': - - name: string - value: string - price: - - value: 0 - formatted: string - type: - - value: 0 - formatted: string - - '1': - - id: 0 - url: string - name: string - quantity: 0 - sku: string - thumbnail: string - attributes: - - '0': - - name: string - value: string - '1': - - name: string - value: string - price: - - value: 0 - formatted: string - type: - - value: 0 - formatted: string - store: - - name: string - domain_name: string - logo: - - title: string - name: string - url: string - ssl_path: string - cdn_path: string - image_directory: string - img_path: string - path_normal: string - path: string - address: string - phone_number: string - language: - - code: string - direction: string - customer: - - first_name: string - full_name: string - email: string - group: - - id: 0 - name: string - misc: - - year: 0 -example: - abandoned_cart: - body: You recently visited our online store and we noticed that you didnʼt complete your order.\n
To complete your order right now, just click on the link below:\n Complete your order - unsubscribe_link: 'example.com/unsubscribe' - store: - name: My Dev Store 97434969 - domain_name: my-dev-store-97434969.store.bcdev - logo: - title: [= My Dev Store 97434969 =] - name: avatar-2020_1612860757__16350.jpeg - url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' - ssl_path: 'https://my-dev-store-97434969.store.bcdev' - cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' - image_directory: product_images - img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' - path_normal: 'https://my-dev-store-97434969.store.bcdev' - path: 'https://my-dev-store-97434969.store.bcdev' - address: '123 Fake St, Dallas, TX 75225' - language: - code: en - direction: ltr - customer: - first_name: John - full_name: John Jr - email: 'john.f@example.com' - misc: - year: 2021 - translations: - en: unsubscribe:'Unsubscribe from future emails like this. + misc: + type: array + items: + type: object + properties: + year: + type: integer diff --git a/models/email_templates/combined/abandoned_cart_email_deprecated.yml b/models/email_templates/combined/abandoned_cart_email_deprecated.yml new file mode 100644 index 000000000..1cd67fbd6 --- /dev/null +++ b/models/email_templates/combined/abandoned_cart_email_deprecated.yml @@ -0,0 +1,119 @@ +title: Abandoned Cart Email Template (Deprecated) +description: Abandoned cart email triggers when a shopper doesnʼt complete an order. +type: object +deprecated: true +properties: + abandoned_cart: + type: object + title: deprecated + deprecated: true + properties: + body: + type: string + unsubscribe_link: + type: string + store: + type: object + deprecated: true + properties: + name: + type: string + domain_name: + type: string + logo: + type: object + deprecated: true + properties: + title: + type: string + name: + type: string + url: + type: string + ssl_path: + type: string + cdn_path: + type: string + image_directory: + type: string + img_path: + type: string + path_normal: + type: string + description: 'Path to the store (i.e., domain + protocol)' + path: + type: string + address: + type: string + language: + type: object + properties: + code: + type: string + direction: + type: string + description: 'Left to right or right to left, depending on the language' + customer: + type: object + deprecated: true + properties: + first_name: + type: string + full_name: + type: string + email: + type: string + group: + type: array + items: + type: object + properties: + name: + type: string + misc: + type: object + deprecated: true + properties: + year: + type: integer + translations: + type: object + deprecated: true + properties: + en: + type: object + properties: + unsubscribe: + type: string +examples: + Abandoned Cart example (deprecated): + value: + abandoned_cart: + body: You recently visited our online store and we noticed that you didnʼt complete your order.\n
To complete your order right now, just click on the link below:\n Complete your order + unsubscribe_link: 'example.com/unsubscribe' + store: + name: My Dev Store 97434969 + domain_name: my-dev-store-97434969.store.bcdev + logo: + title: [= My Dev Store 97434969 =] + name: avatar-2020_1612860757__16350.jpeg + url: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96/product_images/avatar-2020_1612860757__16350.jpeg' + ssl_path: 'https://my-dev-store-97434969.store.bcdev' + cdn_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/store/f1kr2akw96' + image_directory: product_images + img_path: 'https://valeryderived-cloud-dev-vm.store.bcdev/r08d84bb67d250c7624502ed76d8e0bafb1a5cacf/g-themes/ClassicNext/images' + path_normal: 'https://my-dev-store-97434969.store.bcdev' + path: 'https://my-dev-store-97434969.store.bcdev' + address: '123 Fake St, Dallas, TX 75225' + language: + code: en + direction: ltr + customer: + first_name: John + full_name: John Jr + email: 'john.f@example.com' + misc: + year: 2021 + translations: + en: + unsubscribe: 'Unsubscribe from future emails like this.' From 350c345fa0562e81899b2faec968d9d7b049f6fa Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 17 Oct 2023 10:17:08 -0500 Subject: [PATCH 323/360] DEVDOCS-5484 [new]: Settings API, add units of measurement endpoints (#1491) --- reference/settings.v3.yml | 95 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index a84392f90..ab4a8eb4f 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -37,6 +37,7 @@ tags: - name: Favicon Image - name: Store Profile - name: Storefront Product + - name: Units of Measurement paths: '/settings/analytics': parameters: @@ -1434,6 +1435,66 @@ paths: tags: - Inventory description: Update inventory settings + /settings/store/units-of-measurement: + get: + summary: Get Units of Measurement Settings + description: |- + Get settings for [units of measurements](https://support.bigcommerce.com/s/article/Store-Settings?language=en_US#physical). + tags: + - Units of Measurement + responses: + '200': + description: 'OK. When you request channel-level settings, `null` indicates that a channel does not have overrides.' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/MeasurementUnitsSettings' + meta: + type: object + '422': + description: The provided settings could not be applied. See detailed errors in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + parameters: + - $ref: '#/components/parameters/ChannelIdParam' + put: + summary: Update Units of Measurement Settings + description: |- + Update settings for [units of measurements](https://support.bigcommerce.com/s/article/Store-Settings?language=en_US#physical). + + The endpoint does not support partial updates. Provide all fields to update global or channel-level settings. + + Create channel-level settings, or overrides for a channel, using the `channel_id` query parameter. + + To delete overrides for a channel, supply `null` as a value for all fields. A channel then inherits global values. + + The endpoint does not support 'null' as a value for global-level settings. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementUnitsSettings' + responses: + '200': + description: 'OK. When you request channel-level settings, `null` indicates that a channel does not have overrides.' + content: + application/json: + schema: + type: object + properties: + data: + $ref: '#/components/schemas/MeasurementUnitsSettings' + meta: + type: object + parameters: + - $ref: '#/components/parameters/ChannelIdParam' + tags: + - Units of Measurement components: parameters: Accept: @@ -2302,6 +2363,40 @@ components: type: string title: '' x-internal: false + MeasurementUnitsSettings: + type: object + properties: + weight_measurement: + type: string + example: Ounces + enum: + - LBS + - Ounces + - KGS + - Grams + - Tonnes + length_measurement: + type: string + example: Inches + enum: + - Inches + - Centimeters + decimal_token: + type: string + example: '.' + thousands_token: + type: string + example: ',' + decimal_places: + type: integer + example: 2 + factoring_dimension: + type: string + example: depth + enum: + - depth + - height + - width responses: 200-storefront-product-settings: description: OK. `null` indicates that a particular field has not been overridden on a channel level when channel level settings are requested From a06afb8ec1ac56edf44b05ec69a05f2a4b5f67a7 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 19 Oct 2023 10:06:40 -0500 Subject: [PATCH 324/360] [DEVDOCS-4798]: [Revise] Orders SF, Add `include` field to the Get Order params (#1502) --- reference/orders.sf.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/reference/orders.sf.yml b/reference/orders.sf.yml index c7a4f2ef4..174d2cfb6 100644 --- a/reference/orders.sf.yml +++ b/reference/orders.sf.yml @@ -44,6 +44,19 @@ paths: exclusiveMinimum: false type: integer format: int32 + - name: include + in: query + description: Sub-resources to include in an Order, in a comma-separated list. The ID and the specified fields will be returned. + schema: + type: string + enum: + - lineItems + - billingAddress + - coupons + - currency + - taxes + - payments + - consignments responses: '200': description: '' From 9e33815f39a0e86f2fcd9e34de9be955cb805445 Mon Sep 17 00:00:00 2001 From: Jordan Arldt Date: Tue, 24 Oct 2023 11:04:38 -0500 Subject: [PATCH 325/360] STRF-11315: Add "include_dynamic_target_urls" boolean to Redirect Im/Ex Create Export request body (#1505) --- reference/redirects.v3.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index 743614f9f..98c5bb414 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -241,6 +241,10 @@ paths: type: integer default: [] description: A list of the redirect IDs you wish to export. If no redirect IDs are provided, the request exports all redirects for the given site selection. + include_dynamic_target_urls: + type: boolean + default: false + description: If true, the exported CSV will contain an additional read-only column containing the target URL for dynamic redirects. description: Data necessary to create a new 301 Redirects export job. required: true responses: @@ -281,13 +285,13 @@ paths: The headers must be defined as follows: - `Domain,Old Path,New URL/Path,Target Type,Target ID` + `Domain,Old Path,Manual URL/Path,Dynamic Target Type,Dynamic Target ID` Not every line will have a value for every column. type: string format: binary example: |- - Domain,Old Path,New URL/Path,Target Type,Target ID + Domain,Old Path,Manual URL/Path,Dynamic Target Type,Dynamic Target ID store.example.com,/old-path,/new-manual-path,, store.example.com,/old-product,,Product,12 store.example.com,/old-brand,,Brand,34 @@ -374,7 +378,7 @@ paths: type: string format: binary example: | - Domain,Old Path,New URL/Path,Target Type,Target ID + Domain,Old Path,Manual URL/Path,Dynamic Target Type,Dynamic Target ID store.example.com,/old-path,/redirect-target,, '404': description: The requested export download does not exist. From d22949b1ba0c3f2551dd8f1a7fa69c85c09b04b6 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 24 Oct 2023 17:35:26 -0500 Subject: [PATCH 326/360] SELFDEV-370: [update] Replace links (#1504) --- reference/abandoned_cart_emails.v3.yaml | 8 ++--- reference/abandoned_carts.v3.yml | 8 ++--- reference/carts.sf.yml | 6 ++-- reference/carts.v3.yml | 8 ++--- reference/catalog/brands_catalog.v3.yml | 12 +++---- reference/catalog/categories_catalog.v3.yml | 14 ++++---- .../catalog/category-trees_catalog.v3.yml | 12 +++---- .../catalog/product-modifiers_catalog.v3.yml | 12 +++---- .../product-variant-options_catalog.v3.yml | 12 +++---- .../catalog/product-variants_catalog.v3.yml | 22 ++++++------ reference/catalog/products_catalog.v3.yml | 22 ++++++------ reference/channels.v3.yml | 22 ++++++------ reference/checkouts.sf.yml | 12 +++---- reference/checkouts.v3.yml | 12 +++---- reference/consent.sf.yml | 6 ++-- reference/currencies.v2.yml | 10 +++--- reference/current_customer.yml | 6 ++-- reference/custom-template-associations.v3.yml | 10 +++--- reference/customer_login.yml | 8 ++--- reference/customers.sf.yml | 4 +-- reference/customers.v2.yml | 16 ++++----- reference/customers.v3.yml | 10 +++--- reference/email_templates.v3.yml | 8 ++--- reference/form_fields.sf.yml | 4 +-- reference/geography.v2.yml | 8 ++--- reference/marketing.v2.yml | 10 +++--- reference/orders.sf.yml | 4 +-- reference/orders.v2.oas2.yml | 28 +++++++-------- reference/orders.v3.yml | 8 ++--- .../payments/accepted-methods_payments.v3.yml | 20 +++++------ .../payments/access-tokens_payments.v3.yml | 24 ++++++------- reference/payments/methods_payments.v2.yml | 16 ++++----- reference/payments/process_payments.yml | 18 +++++----- reference/price_lists.v3.yml | 18 +++++----- reference/pricing.sf.yml | 8 ++--- reference/redirects.v3.yml | 8 ++--- reference/scripts.v3.yml | 18 +++++----- reference/settings.v3.yml | 14 ++++---- reference/shipping.v2.yml | 8 ++--- reference/shipping.v3.yml | 12 +++---- reference/shipping_provider.yml | 8 ++--- reference/sites.v3.yml | 22 ++++++------ reference/store_content.v2.yml | 8 ++--- reference/store_information.v2.yml | 8 ++--- reference/store_logs.v3.yml | 8 ++--- reference/storefront_tokens.v3.yml | 30 ++++++++-------- reference/subscribers.v3.yml | 8 ++--- reference/subscriptions.sf.yml | 8 ++--- reference/tax.v3.yml | 20 +++++------ reference/tax_classes.v2.yml | 8 ++--- reference/tax_properties.v3.yml | 8 ++--- reference/tax_provider.yml | 6 ++-- reference/tax_rates_zones.v3.yml | 8 ++--- reference/tax_settings.v3.yml | 8 ++--- reference/themes.v3.yml | 8 ++--- reference/webhooks.v3.yml | 12 +++---- reference/widgets.v3.yml | 36 +++++++++---------- reference/wishlists.v3.yml | 8 ++--- 58 files changed, 354 insertions(+), 354 deletions(-) diff --git a/reference/abandoned_cart_emails.v3.yaml b/reference/abandoned_cart_emails.v3.yaml index eb8a5efc4..7674f9067 100644 --- a/reference/abandoned_cart_emails.v3.yaml +++ b/reference/abandoned_cart_emails.v3.yaml @@ -506,15 +506,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/abandoned_carts.v3.yml b/reference/abandoned_carts.v3.yml index 96fbecec9..72722571f 100644 --- a/reference/abandoned_carts.v3.yml +++ b/reference/abandoned_carts.v3.yml @@ -336,15 +336,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index 47bbf9a4b..207e9b611 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -5,9 +5,9 @@ info: description: |- Manage cart operations and data using frontend JavaScript on BigCommerce Stencil-powered storefronts. - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). servers: - url: 'https://{store_domain}/api/storefront' variables: @@ -164,7 +164,7 @@ paths: description: |- Updates a *Cart* line item. Updates an existing, single line item quantity and the price of custom items in a cart. - If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/docs/rest-storefront/carts/cart-items#delete-cart-line-item) and the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoints. You can also use carts mutations that are part of the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). + If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/docs/rest-storefront/carts/cart-items#delete-cart-line-item) and the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoints. You can also use carts mutations that are part of the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). > #### Note diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 9b92b187a..85fb098d1 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -3349,14 +3349,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index 6c56cea55..c8c65e090 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Catalog - Brands description: |- - > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog). Our Catalog Brands endpoints let you [create individual brands](/docs/rest-catalog/brands#create-a-brand) and [modify the brands](/docs/rest-catalog/brands#update-a-brand) associated with a store's products, along with [deleting brands](/docs/rest-catalog/brands#delete-a-brand). @@ -15,7 +15,7 @@ info: ## Resources ### Webhooks - * [Category](/api-docs/store-management/webhooks/events#category) + * [Category](/docs/integrations/webhooks/events#category) ### Additional Catalog endpoints * [Categories](/docs/rest-catalog/categories) @@ -1902,14 +1902,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index cf1b78b3e..d548b110b 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Catalog - Categories description: |- - > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog). Our Catalog Categories endpoints let you [create individual categories](/docs/rest-catalog/categories#create-a-category) and [modify categories](/docs/rest-catalog/categories#update-a-category) that organize a store's products, as well as [delete categories](/docs/rest-catalog/categories#delete-a-category). @@ -12,14 +12,14 @@ info: This API family also contains endpoints to [update product sort order](/docs/rest-catalog/categories/sort-order#update-product-sort-order) within a category. - These endpoints are primarily useful in applications for single storefront stores. To work with categories for an [MSF-enabled store](/api-docs/multi-storefront/overview), see [Category Trees](/docs/rest-catalog/category-trees). + These endpoints are primarily useful in applications for single storefront stores. To work with categories for an [MSF-enabled store](/docs/storefront/multi-storefront), see [Category Trees](/docs/rest-catalog/category-trees). > To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. ## Resources ### Webhooks - Learn more about [Category webhook events](/api-docs/store-management/webhooks/events#category). + Learn more about [Category webhook events](/docs/integrations/webhooks/events#category). ### Additional Catalog endpoints * [Brands](/docs/rest-catalog/brands) @@ -2327,14 +2327,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/catalog/category-trees_catalog.v3.yml b/reference/catalog/category-trees_catalog.v3.yml index 6fa10f42b..3ccc45690 100644 --- a/reference/catalog/category-trees_catalog.v3.yml +++ b/reference/catalog/category-trees_catalog.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Catalog - Category Trees description: |- - > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog). Our Catalog Category Trees endpoints are the more modern and performant counterparts to the [Categories endpoints](/docs/rest-catalog/categories). Although the Category Trees endpoints and objects are designed to center an MSF-compatible, [multi-tenant category tree architecture](#categories), the endpoints work just as well in a single storefront context. @@ -15,7 +15,7 @@ info: ## Resources ### Webhooks - Learn more about [Category Tree webhook events](/api-docs/channels/guide/webhooks#category-trees). + Learn more about [Category Tree webhook events](/docs/integrations/webhooks/events/channels#category-trees). ### Additional Catalog endpoints * [Brands](/docs/rest-catalog/brands) @@ -1119,14 +1119,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/catalog/product-modifiers_catalog.v3.yml b/reference/catalog/product-modifiers_catalog.v3.yml index f86def38e..d3978eb96 100644 --- a/reference/catalog/product-modifiers_catalog.v3.yml +++ b/reference/catalog/product-modifiers_catalog.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Catalog - Product Modifiers description: |- - > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog). Product Modifiers represent choices that the shopper can make to change how the merchant customizes or adds on to the product. Examples include shipping insurance, monograms, custom inseam length, and a color selection for an unfinished product. @@ -17,7 +17,7 @@ info: ## Resources ### Webhooks - Learn more about [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products). + Learn more about [Product webhook events](/docs/integrations/webhooks/events#products). ### Additional Catalog endpoints * [Brands](/docs/rest-catalog/brands) @@ -2825,14 +2825,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/catalog/product-variant-options_catalog.v3.yml b/reference/catalog/product-variant-options_catalog.v3.yml index 0c366ac94..92c1b79fe 100644 --- a/reference/catalog/product-variant-options_catalog.v3.yml +++ b/reference/catalog/product-variant-options_catalog.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Catalog - Product Variant Options description: |- - > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog). Product Variant Options represent the different facets of a product. For example, size, color, fabric. Variant Option values are the actual sizes, colors, fabrics, that are available. [Product Variants]() consist of combinations of Variant Option values. @@ -24,7 +24,7 @@ info: ## Resources ### Webhooks - Learn more about [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products). + Learn more about [Product webhook events](/docs/integrations/webhooks/events#products). ### Additional Catalog endpoints * [Brands](/docs/rest-catalog/brands) @@ -2456,14 +2456,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index ae22eae88..7a0cfca1a 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Catalog - Product Variants description: |- - > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog). A Product Variant is a version of a product that has its own SKU. For example, a catalog might model a particular style of high-top sneakers that come in both red and blue as one product - high-tops - with two variants - red and blue. From a storefront point of view, Product Variants are often what shoppers seek. They are also the object that maps to SKUs and tracks inventory. A Product with one only Variant is a _base variant_. @@ -21,7 +21,7 @@ info: ## Resources ### Webhooks - Learn more about [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products). + Learn more about [Product webhook events](/docs/integrations/webhooks/events#products). ### Additional Catalog endpoints * [Brands](/docs/rest-catalog/brands) @@ -1214,7 +1214,7 @@ paths: If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). x-nullable: true maximum: 2147483647 inventory_warning_level: @@ -1432,7 +1432,7 @@ paths: If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). x-nullable: true maximum: 2147483647 example: 21474 @@ -1557,7 +1557,7 @@ paths: If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). x-nullable: true maximum: 2147483647 inventory_warning_level: @@ -1863,7 +1863,7 @@ components: If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: @@ -2057,7 +2057,7 @@ components: If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: @@ -2415,14 +2415,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 9fcb84746..f5fe58b32 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -2,11 +2,11 @@ openapi: '3.0.3' info: title: Catalog - Products description: |- - > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/api-docs/store-management/catalog/products-overview). + > The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog). Our Catalog Products endpoints let you [create products](/docs/rest-catalog/products#create-a-product), perform [batch operations on existing products](/docs/rest-catalog/products#update-products-batch) and work with [reviews](/docs/rest-catalog/products/reviews), [images](/docs/rest-catalog/products/images), and [videos](/docs/rest-catalog/products/videos). Note that after a product is created initially, you can manage the nuances of its variations using the [Product Modifier](/docs/rest-catalog/product-modifiers), [Product Variant](/docs/rest-catalog/product-variants), and [Product Variant Options](/docs/rest-catalog/product-variant-options) endpoints. - Other core product endpoints focus on [bulk pricing](/docs/rest-catalog/products/bulk-pricing-rules), [complex rules](/docs/rest-catalog/products/complex-rules), [custom fields](/docs/rest-catalog/products/custom-fields), and [metafields](/docs/rest-catalog/products/metafields). Product Variant objects also contain [their own metafields](/docs/rest-catalog/product-variants/metafields). For [MSF-enabled](/api-docs/multi-storefront/overview) stores, the product object also contains product [channel assignments](/docs/rest-catalog/products/channel-assignments) and [category assignments](/docs/rest-catalog/products/category-assignments); read more about [products in the MSF context](/api-docs/multi-storefront/api-guide#products). + Other core product endpoints focus on [bulk pricing](/docs/rest-catalog/products/bulk-pricing-rules), [complex rules](/docs/rest-catalog/products/complex-rules), [custom fields](/docs/rest-catalog/products/custom-fields), and [metafields](/docs/rest-catalog/products/metafields). Product Variant objects also contain [their own metafields](/docs/rest-catalog/product-variants/metafields). For [MSF-enabled](/docs/storefront/multi-storefront) stores, the product object also contains product [channel assignments](/docs/rest-catalog/products/channel-assignments) and [category assignments](/docs/rest-catalog/products/category-assignments); read more about [products in the MSF context](/docs/storefront/multi-storefront/guide#products). This API family also contains an endpoint to [Get a catalog summary](/docs/rest-catalog/products/summary). @@ -15,8 +15,8 @@ info: ## Resources ### Webhooks - * [Product webhook events](/api-docs/store-management/webhooks/webhook-events#products) - * [Product assignment webhook events](/api-docs/channels/guide/webhooks#product-assignments) + * [Product webhook events](/docs/integrations/webhooks/events#products) + * [Product assignment webhook events](/docs/integrations/webhooks/events/channels#product-assignments) ### Additional Catalog endpoints * [Brands](/docs/rest-catalog/brands) @@ -6528,7 +6528,7 @@ components: If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: @@ -6714,7 +6714,7 @@ components: If you exceed the limit, the store sets the variant inventory to the limit if no other variant inventories are set. If other variant inventories are set, the store does not save the variant inventory rather than setting the variant inventory to the remaining limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). nullable: true maximum: 2147483647 inventory_warning_level: @@ -8165,7 +8165,7 @@ components: The inventory for a product cannot exceed 2,147,483,647 in the catalog. If you exceed the limit, the store sets the inventory level to the limit. - The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/buy-online-pick-up-in-store/inventory#limit-handling-in-inventory-versus-catalog-api). + The Catalog API handles limits in a different way than the Inventory API. For more information, see [Limit handling](/docs/store-operations/catalog/inventory-adjustments#limit-handling-in-inventory-versus-catalog-api). inventory_warning_level: maximum: 2147483647 minimum: 0 @@ -8709,14 +8709,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index 801be2bae..8e5b6ff44 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -8,7 +8,7 @@ info: email: support@bigcommerce.com title: Channels description: |- - Create and manage sales [channels](/api-docs/channels/overview), their [sites](/docs/rest-management/channels/channel-site), and their [product listings](/docs/rest-management/channels/channel-listings). + Create and manage sales [channels](/docs/integrations/channels), their [sites](/docs/rest-management/channels/channel-site), and their [product listings](/docs/rest-management/channels/channel-listings). ## Channels @@ -81,9 +81,9 @@ info: ## Resources * [Sites and Routes API Reference](/docs/rest-management/sites) - * [Building Channels Overview](/api-docs/channels/overview) - * [Building Channel Apps](/api-docs/channels/building-channel-apps) - * [Channels Toolkit Reference](/api-docs/channels/channels-toolkit-reference) + * [Building Channels Overview](/docs/integrations/channels) + * [Building Channel Apps](/docs/integrations/channels/guide) + * [Channels Toolkit Reference](/docs/integrations/channels/toolkit-reference) servers: - url: 'https://api.bigcommerce.com/stores/{store_hash}/v3' variables: @@ -2022,15 +2022,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: @@ -2309,11 +2309,11 @@ components: properties: app: type: object - description: 'A [channel app](/api-docs/channels/overview#channel-apps) config object for optionally configuring the channelʼs user interface in the control panel.' + description: 'A [channel app](/docs/integrations/channels#channel-apps) config object for optionally configuring the channelʼs user interface in the control panel.' properties: id: type: integer - description: 'The unique `id` given to an app registered in [DevTools](https://devtools.bigcommerce.com/); used to create links to the app in channel manager. `app.id` is optional; however, if youʼre building an app that creates or manages a channel, we recommend including it to ensure the user interface in the control panel works properly. Select partners who are promoted in the Channel Manager must build an app, and include the app ID in the create channel request. [Learn how to find an Appʼs ID](/api-docs/apps/tutorials/id).' + description: 'The unique `id` given to an app registered in [DevTools](https://devtools.bigcommerce.com/); used to create links to the app in channel manager. `app.id` is optional; however, if youʼre building an app that creates or manages a channel, we recommend including it to ensure the user interface in the control panel works properly. Select partners who are promoted in the Channel Manager must build an app, and include the app ID in the create channel request. [Learn how to find an Appʼs ID](/docs/integrations/apps/guide/id).' sections: type: array description: 'Sections are now deprecated under config_meta. The new /channel-menus endpoints should be used instead. If set, when the app is loaded within the control panel, the navigation `sections` will be directly embedded in the control panel navigation.' @@ -2643,7 +2643,7 @@ components: x-internal: false BigCommerceProtectedAppSections: type: array - description: 'List of channel-specific control panel menu navigation items and corresponding settings pages an app developer can choose to enable for the subject channel. Protected settings override any settings set in those UI sections at the storewide level. Learn more in the [Building Storefront Channels](/api-docs/channels/tutorials/storefront#protected-ui-sections) tutorial.' + description: 'List of channel-specific control panel menu navigation items and corresponding settings pages an app developer can choose to enable for the subject channel. Protected settings override any settings set in those UI sections at the storewide level. Learn more in the [Building Storefront Channels](/docs/integrations/channels/guide/storefronts#protected-ui-sections) tutorial.' items: type: string enum: diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 2d2744bb0..736104959 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -5,9 +5,9 @@ info: Manage checkout operations and data using front-end JavaScript on BigCommerce Stencil-powered storefronts. - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). version: '' termsOfService: 'https://www.bigcommerce.com/terms' contact: @@ -373,7 +373,7 @@ paths: description: |- Updates a *Checkout Line Item*. Updates an existing, single line item in the cart. - If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoint or the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). + If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoint or the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). > #### Note > * Substitute your storefront domain for `yourstore.example.com`. @@ -1201,7 +1201,7 @@ paths: * Required Fields: * `shipping_address` (deprecated) or `address` * `lineItems` - 2. Update the Consignment with Shipping Options using the [REST Storefront API](/checkouts/checkout-consignments#update-a-consignment), the [REST Management API](/docs/rest-management/checkouts/checkout-consignments#update-checkout-consignment) or the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). + 2. Update the Consignment with Shipping Options using the [REST Storefront API](/checkouts/checkout-consignments#update-a-consignment), the [REST Management API](/docs/rest-management/checkouts/checkout-consignments#update-checkout-consignment) or the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). ### For **pickup** consignments: 1. Create a new consignment object. @@ -1211,7 +1211,7 @@ paths: * `pickupOption` * `lineItems` - To learn more about creating a Checkout Consignment, see the [Carts and Checkouts Tutorial](/api-docs/storefront/tutorials/carts). + To learn more about creating a Checkout Consignment, see the [Carts and Checkouts Tutorial](/docs/storefront/cart-checkout/guide/rest-storefront). > #### Note > * Substitute your storefront domain for `yourstore.example.com`. @@ -1379,7 +1379,7 @@ paths: * `shippingOptionId` or `pickupOptionId` * `lineItems` - To learn more about creating a Checkout Consignment see [Checkout Consignment API](/api-docs/checkouts/checkout-consignment). + To learn more about creating a Checkout Consignment see [Checkout Consignment API](/docs/storefront/cart-checkout/guide/consignments). > #### Note > * You cannot pass both an `address` and a `shippingOptionId` because the shipping option may not be available for the new address diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index dd397f98c..0cb11769e 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Checkouts description: |- - For more information on authenticating BigCommerce APIs, see [Authentication](/api-docs/getting-started/authentication). + For more information on authenticating BigCommerce APIs, see [Authentication](/docs/start/authentication). Create and manage checkouts from existing carts using BigCommerce checkout logic. version: '3.0' @@ -3934,7 +3934,7 @@ paths: description: |- Adds a new consignment to a checkout. - For more information about working with consignments, see [Checkout consignment](/api-docs/checkouts/checkout-consignment). + For more information about working with consignments, see [Checkout consignment](/docs/storefront/cart-checkout/guide/consignments). Though the only required `address` properties to create a consignment are `email` and `country_code`, to successfully [create an order](/docs/rest-management/checkouts/checkout-orders#create-an-order) the `address` requires the following properties: * `first_name` @@ -9700,14 +9700,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/consent.sf.yml b/reference/consent.sf.yml index 010aa62dc..a026f8030 100644 --- a/reference/consent.sf.yml +++ b/reference/consent.sf.yml @@ -10,9 +10,9 @@ info: description: |- Specify shopper cookie consent preferences. - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). version: Storefront tags: - name: Consent @@ -73,7 +73,7 @@ components: 3 - Analytics 4 - Targeting; Advertising - For further definition of these categories, see [Scripts API](/api-docs/store-management/scripts). + For further definition of these categories, see [Scripts API](/docs/integrations/scripts). properties: allow: type: array diff --git a/reference/currencies.v2.yml b/reference/currencies.v2.yml index 2d1fffcde..83063f2bf 100644 --- a/reference/currencies.v2.yml +++ b/reference/currencies.v2.yml @@ -26,7 +26,7 @@ info: ## Resources - - [How Currencies Work](/api-docs/multi-currency/guide/how-currencies-work) + - [How Currencies Work](/docs/store-operations/currencies/guide) - [Price List API Reference](/docs/rest-management/price-lists) - [Using Price Lists (Help Center)](https://support.bigcommerce.com/s/article/Price-Lists) - [Managing Currencies (Help Center)](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta) @@ -390,14 +390,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/current_customer.yml b/reference/current_customer.yml index 4f36e79be..a91f0fe60 100644 --- a/reference/current_customer.yml +++ b/reference/current_customer.yml @@ -4,11 +4,11 @@ info: description: |- Identify logged-in customers securely via JavaScript. - [Learn more about the current customer API](/api-docs/customers/current-customer-api). + [Learn more about the current customer API](/docs/start/authentication/current-customer). - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#client-id). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#client-id). > #### Note > * Substitute your storefront domain for `yourstore.example.com`. diff --git a/reference/custom-template-associations.v3.yml b/reference/custom-template-associations.v3.yml index d44236052..96c1d33ea 100644 --- a/reference/custom-template-associations.v3.yml +++ b/reference/custom-template-associations.v3.yml @@ -109,7 +109,7 @@ info: * [Get Channel Active Theme](/docs/rest-management/channels/channel-active-theme#get-a-channel-active-theme) * [Get Available Custom Templates](/docs/rest-content/themes/theme-custom-templates#get-custom-templates) - * [Catalog API](/docs/rest-management/catalog) + * [Catalog API](/docs/rest-catalog) * [Pages API](/docs/rest-content/pages) * [Channels API](/docs/rest-management/channels) termsOfService: 'https://www.bigcommerce.com/terms' @@ -477,14 +477,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/customer_login.yml b/reference/customer_login.yml index de2d3cc73..e147e457b 100644 --- a/reference/customer_login.yml +++ b/reference/customer_login.yml @@ -4,11 +4,11 @@ info: description: |- Enable single sign-on for shoppers on BigCommerce hosted storefronts. - [Learn more about the customer login API](/api-docs/customers/customer-login-api). + [Learn more about the customer login API](/docs/start/authentication/customer-login). - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#user-generated-jwts). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#user-generated-jwts). termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -32,7 +32,7 @@ paths: description: |- The customer login access point URL. - [Learn more about the Customer Login API](/api-docs/customers/customer-login-api). + [Learn more about the Customer Login API](/docs/start/authentication/customer-login). ## Example diff --git a/reference/customers.sf.yml b/reference/customers.sf.yml index 190877e28..a4b53ddf2 100644 --- a/reference/customers.sf.yml +++ b/reference/customers.sf.yml @@ -5,9 +5,9 @@ info: description: |- Manage customers and data via front-end JavaScript on BigCommerce Stencil-powered storefronts. - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). servers: - url: 'https://{store_domain}/api/storefront' variables: diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index d5b5d7a17..c5d1db1cf 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -2,7 +2,7 @@ openapi: '3.0.1' info: title: Customers V2 description: |- - Create and Manage Customers, Customer Addresses, and Customer Groups. Additionally, validate customer passwords. To learn more about Customers see [here](/api-docs/customers/customers-subscribers-overview). + Create and Manage Customers, Customer Addresses, and Customer Groups. Additionally, validate customer passwords. To learn more about Customers see [here](/docs/store-operations/customers/customers-subscribers-overview). ## Available Endpoints | Resource / Endpoint | Description | @@ -22,12 +22,12 @@ info: * A customer and a subscriber can be the same. If a shopper checks out on the storefront, creates an account and opts into the newsletter, they are a customer and a subscriber. ## Resources ### Related APIs / Endpoints - - [Customer Login API](/api-docs/customers/customer-login-api) - - [Current Customer API](/api-docs/customers/current-customer-api) + - [Customer Login API](/docs/start/authentication/customer-login) + - [Current Customer API](/docs/start/authentication/current-customer) - [Customers API (v3)](/docs/rest-management/customers) - [Subscribers API](/docs/rest-management/subscribers) ### Webhooks - - [Customers](/api-docs/store-management/webhooks/webhook-events#customer) + - [Customers](/docs/integrations/webhooks/events#customer) termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -1737,15 +1737,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 6162c5490..3dcc25669 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -6,7 +6,7 @@ info: Create and manage customers. ## Resources - * [Customer and Subscribers Overview](/api-docs/store-management/customers). + * [Customer and Subscribers Overview](/docs/store-operations/customers/customers-subscribers-overview). termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -2487,15 +2487,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/email_templates.v3.yml b/reference/email_templates.v3.yml index a1d216c8a..95b83b424 100644 --- a/reference/email_templates.v3.yml +++ b/reference/email_templates.v3.yml @@ -341,15 +341,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/form_fields.sf.yml b/reference/form_fields.sf.yml index e01e77a24..b0eef355b 100644 --- a/reference/form_fields.sf.yml +++ b/reference/form_fields.sf.yml @@ -4,9 +4,9 @@ info: description: |- Read form fields on a BigCommerce hosted storefront. - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). > #### Warning > Breaking changes may be introduced to this endpoint while in beta. diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index 4ae54b6dd..ec5976343 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -379,15 +379,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index 106871a60..bcb5152d4 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -1016,7 +1016,7 @@ components: type: array description: This is a list of shipping-method names. A shipping method must be enabled on the store to use it with a coupon. To check which shipping - methods are enabled, please use the [List Shipping Methods](/api/v2#list-shipping-methods) + methods are enabled, please use the [List Shipping Methods](/archive/store-operations/v2-catalog-products/v2-products#list-shipping-methods) endpoint. items: type: string @@ -1574,15 +1574,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/orders.sf.yml b/reference/orders.sf.yml index 174d2cfb6..5f0970acf 100644 --- a/reference/orders.sf.yml +++ b/reference/orders.sf.yml @@ -4,9 +4,9 @@ info: description: |- Get order data immediately after an order is placed on the storefront. - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). version: '' termsOfService: 'https://www.bigcommerce.com/terms' contact: diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 1d15b7b6a..086aa98a8 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -7,7 +7,7 @@ info: ## Order - The Order object contains a record of the purchase agreement between a shopper and a merchant. To learn more about creating orders, see [Orders API Guide](/api-docs/orders/orders-api-overview). + The Order object contains a record of the purchase agreement between a shopper and a merchant. To learn more about creating orders, see [Orders API Guide](/docs/store-operations/orders). ### Currency Fields @@ -72,7 +72,7 @@ paths: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/order_id_path' get: - description: Gets an *Order*. To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview). + description: Gets an *Order*. To learn more about creating or updating orders, see [Orders Overview](/docs/store-operations/orders). summary: Get an Order tags: - Orders @@ -97,7 +97,7 @@ paths: To remove a product from an order, set that product’s `quantity` to `0`. - To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview). + To learn more about creating or updating orders, see [Orders Overview](/docs/store-operations/orders). summary: Update an Order tags: - Orders @@ -246,7 +246,7 @@ paths: operationId: getAllOrders post: description: |- - Creates an *Order*. To learn more about creating or updating orders, see [Orders Overview](/api-docs/orders/orders-api-overview). + Creates an *Order*. To learn more about creating or updating orders, see [Orders Overview](/docs/store-operations/orders). Create an order with an existing catalog product or a custom product. @@ -612,7 +612,7 @@ paths: operationId: getAllOrderShipments post: description: | - Creates an *Order Shipment*. For more details, see [Shipping an Order](/api-docs/orders/orders-api-overview#creating-order-shipments). + Creates an *Order Shipment*. For more details, see [Shipping an Order](/docs/store-operations/orders#creating-order-shipments). **Required Fields** * order_address_id @@ -628,7 +628,7 @@ paths: 3. Supply a custom `tracking_link`: By providing a value for the `tracking_link` property, you can use your own tracking link within the BigCommerce control panel and in customer-facing emails. The API response will return your supplied tracking link as part of the `tracking_link` property in the response. In situations when there isn't a `generated_tracking_link`, the property in the API response will remain empty. - Acceptable values for `shipping_provider` include an empty string (`""`), `auspost`, `carrier_{your_carrier_id}` (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)), `canadapost`, `endicia`, `usps`, `fedex`, `royalmail`, `ups`, `upsready`, `upsonline`, or `shipperhq`. + Acceptable values for `shipping_provider` include an empty string (`""`), `auspost`, `carrier_{your_carrier_id}` (only used if the carrier is a [third-party Shipping Provider](/docs/integrations/shipping)), `canadapost`, `endicia`, `usps`, `fedex`, `royalmail`, `ups`, `upsready`, `upsonline`, or `shipperhq`. Acceptable values for `tracking_carrier` include an empty string (`""`) or one of the valid [tracking-carrier values](https://github.com/bigcommerce/dev-docs/blob/master/assets/csv/tracking_carrier_values.csv). summary: Create Order Shipment @@ -2626,15 +2626,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: @@ -3155,7 +3155,7 @@ components: enum: - auspost - canadapost - - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)) + - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/docs/integrations/shipping)) - endicia - usps - fedex @@ -3551,7 +3551,7 @@ components: enum: - auspost - canadapost - - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)) + - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/docs/integrations/shipping)) - endicia - usps - fedex @@ -3606,7 +3606,7 @@ components: enum: - auspost - canadapost - - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/api-docs/providers/shipping)) + - carrier_{your_carrier_id} (only used if the carrier is a [third-party Shipping Provider](/docs/integrations/shipping)) - endicia - usps - fedex @@ -4389,7 +4389,7 @@ components: description: The date the order was created, formatted in the RFC-2822 standard. You set this attribute on Order creation (POST) to support the migration of historical orders. If you do not provide a value, then it will default to the current date/time. e.g., `Tue, 20 Nov 2012 00:00:00 +0000`. type: string default_currency_code: - description: A read-only field displays the currency code of the [transactional currency](/api-docs/multi-currency/guide/introduction#display-vs-transactional) the shopper uses. + description: A read-only field displays the currency code of the [transactional currency](/docs/store-operations/currencies#display-vs-transactional) the shopper uses. type: string readOnly: true discount_amount: diff --git a/reference/orders.v3.yml b/reference/orders.v3.yml index 86b9eca81..bff39ebe4 100644 --- a/reference/orders.v3.yml +++ b/reference/orders.v3.yml @@ -3427,15 +3427,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header examples: diff --git a/reference/payments/accepted-methods_payments.v3.yml b/reference/payments/accepted-methods_payments.v3.yml index 95e4e43a9..3cb37ccca 100644 --- a/reference/payments/accepted-methods_payments.v3.yml +++ b/reference/payments/accepted-methods_payments.v3.yml @@ -3,22 +3,22 @@ info: version: '' title: Accepted Payment Methods description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/docs/store-operations/payments). The [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) endpoint returns information about the payment methods each configured payment gateway accepts. This information optimizes your implementation's likelihood of making successful payments requests that return errors solely when payment methods fail, without making API calls to the gateway prior to running the payment. - For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). + For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/docs/store-operations/payments#compatible-payment-gateways). - This endpoint uses the X-Auth-Token header to authenticate. For an X-Auth-Token example request, see the related section in our [Authentication article](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + This endpoint uses the X-Auth-Token header to authenticate. For an X-Auth-Token example request, see the related section in our [Authentication article](/docs/start/authentication#x-auth-token-header-example-requests). > To learn more about authenticating Payments endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. ## Resources - * [Payments Overview](/api-docs/store-management/payments-api-overview) - * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) - * [Orders Overview](/api-docs/store-management/orders-api-overview) + * [Payments Overview](/docs/store-operations/payments) + * [Process payments authentication example request](/docs/start/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/docs/store-operations/orders) ### Webhooks @@ -482,15 +482,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/payments/access-tokens_payments.v3.yml b/reference/payments/access-tokens_payments.v3.yml index 03e3f6561..25211c673 100644 --- a/reference/payments/access-tokens_payments.v3.yml +++ b/reference/payments/access-tokens_payments.v3.yml @@ -3,23 +3,23 @@ info: version: '' title: Payment Access Token description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/docs/store-operations/payments). BigCommerce payments requests require a Payment Access Token, or _PAT_, which is a single use BigCommerce-generated JWT that's tied to the particular **order** for which the shopper authorizes BigCommerce to submit a payment. - To get a valid PAT, submit the order number to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint. Authenticate using an [API account access token](/api-docs/getting-started/api-accounts#api-accounts) with the [Create payments](/api-docs/getting-started/api-accounts#token-creation-scopes) scope as the value of the X-Auth-Token header. + To get a valid PAT, submit the order number to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint. Authenticate using an [API account access token](/docs/start/authentication/api-accounts#api-accounts) with the [Create payments](/docs/start/authentication/api-accounts#token-creation-scopes) scope as the value of the X-Auth-Token header. - You can also generate a PAT during checkout by using the `completeCheckout` mutation in the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments). + You can also generate a PAT during checkout by using the `completeCheckout` mutation in the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments). - For a guide through the API call sequence needed to create a PAT and make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). + For a guide through the API call sequence needed to create a PAT and make charges, see the [Payments Overview](/docs/store-operations/payments#compatible-payment-gateways). > To learn more about authenticating Payments endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. ## Resources - * [Payments Overview](/api-docs/store-management/payments-api-overview) - * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) - * [Orders Overview](/api-docs/store-management/orders-api-overview) + * [Payments Overview](/docs/store-operations/payments) + * [Process payments authentication example request](/docs/start/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/docs/store-operations/orders) ### Webhooks @@ -57,7 +57,7 @@ paths: description: |- Use this endpoint to create a payment access token. A payment access token is required to process payments with the BigCommerce API. - You can also generate a payment access token during checkout by using the `completeCheckout` mutation in the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments). + You can also generate a payment access token during checkout by using the `completeCheckout` mutation in the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments). After the token is created, use the token to [Process a payment](/docs/rest-payments/processing#process-payment). @@ -380,15 +380,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/payments/methods_payments.v2.yml b/reference/payments/methods_payments.v2.yml index 5a2b5e66f..614f50ff6 100644 --- a/reference/payments/methods_payments.v2.yml +++ b/reference/payments/methods_payments.v2.yml @@ -2,7 +2,7 @@ openapi: '3.0.1' info: title: Payment Methods (Deprecated) description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/docs/store-operations/payments). This endpoint is deprecated. Use [Get accepted payment methods](/docs/rest-payments/methods#get-accepted-payment-methods) instead. @@ -12,9 +12,9 @@ info: ## Resources - * [Payments Overview](/api-docs/store-management/payments-api-overview) - * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) - * [Orders Overview](/api-docs/store-management/orders-api-overview) + * [Payments Overview](/docs/store-operations/payments) + * [Process payments authentication example request](/docs/start/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/docs/store-operations/orders) ### Webhooks @@ -140,14 +140,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/payments/process_payments.yml b/reference/payments/process_payments.yml index fc0a11b8b..30da26157 100644 --- a/reference/payments/process_payments.yml +++ b/reference/payments/process_payments.yml @@ -3,11 +3,11 @@ info: version: '' title: Payment Processing description: | - > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/api-docs/store-management/payments-api-overview). + > The Payments API processes payments using payment instruments such as credit cards or PayPal accounts. To learn more about Payments, see the [Payments Overview](/docs/store-operations/payments). - The Payment Processing API uses BigCommerce's PCI-compliant payments server and a supported payment gateway to charge customers. The payment portal you choose may support charging stored instruments and/or making refund transactions. For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). + The Payment Processing API uses BigCommerce's PCI-compliant payments server and a supported payment gateway to charge customers. The payment portal you choose may support charging stored instruments and/or making refund transactions. For a list of compatible payment gateways, as well as a guide through the API call sequence needed to make charges, see the [Payments Overview](/docs/store-operations/payments#compatible-payment-gateways). - A Payment Access Token (_PAT_) is required to authorize payment processing requests. The X-Auth-Token header is not required in requests to the payment processing endpoint. To generate a PAT, use the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint or the `completeCheckout` mutation in the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments). For a payment processing authentication example request, see the related section in our [Authentication article](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). + A Payment Access Token (_PAT_) is required to authorize payment processing requests. The X-Auth-Token header is not required in requests to the payment processing endpoint. To generate a PAT, use the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint or the `completeCheckout` mutation in the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments). For a payment processing authentication example request, see the related section in our [Authentication article](/docs/start/authentication#bigcommerce-generated-jwts). Also note that payment processing requests use the BigCommerce Payments Gateway, which uses a different server than our other REST APIs. Please see the server URL for the payment processing endpoint. @@ -15,9 +15,9 @@ info: ## Resources - * [Payments Overview](/api-docs/store-management/payments-api-overview) - * [Process payments authentication example request](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) - * [Orders Overview](/api-docs/store-management/orders-api-overview) + * [Payments Overview](/docs/store-operations/payments) + * [Process payments authentication example request](/docs/start/authentication#bigcommerce-generated-jwts) + * [Orders Overview](/docs/store-operations/orders) ### Webhooks @@ -55,7 +55,7 @@ paths: tags: - Processing operationId: PaymentsPost - description: 'Process payments for an order. See [Payment Processing](/api-docs/store-management/payments-api-overview) for more information.' + description: 'Process payments for an order. See [Payment Processing](/docs/store-operations/payments) for more information.' parameters: - $ref: '#/components/parameters/AcceptPaymentResponse' - $ref: '#/components/parameters/ContentType' @@ -552,9 +552,9 @@ components: ### Further reading - For an outline of the Process Payment API call flow and more information about authenticating, see [Authentication and Example Requests](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). + For an outline of the Process Payment API call flow and more information about authenticating, see [Authentication and Example Requests](/docs/start/authentication#bigcommerce-generated-jwts). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: http scheme: bearer bearerFormat: 'PAT {{PAYMENT_ACCESS_TOKEN}}' diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index ed27d9cc5..56a16fe1f 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -10,9 +10,9 @@ info: You can create [Price List Assignments](/docs/rest-management/price-lists/price-lists-assignments#create-price-list-assignments) to assign Price Lists to a specific [channel](/docs/rest-management/channels/channel-listings). Price Lists assigned to a channel apply to all shoppers on that channel, unless there are more specific assignments or customer group discounts set up for the shopper's customer group. If an active Price List does not contain prices for a variant, the catalog pricing will be used. - Price Lists provide overridden price values to the Stencil storefront. You can further customize the final price display using Stencil's [handlebars objects](/theme-objects). + Price Lists provide overridden price values to the Stencil storefront. You can further customize the final price display using Stencil's [handlebars objects](/docs/storefront/stencil/themes/context/object-reference/config). - To learn more about Price Lists, see [Price Lists API](/api-docs/store-management/price-list-overview). + To learn more about Price Lists, see [Price Lists API](/docs/store-operations/pricing/price-lists). ## Price Lists Assignments @@ -45,9 +45,9 @@ info: ### Webhooks - * [Price list assignments](/api-docs/channels/guide/webhooks#price-list-assignments) - * [Products](/api-docs/store-management/webhooks/events#products) - * [SKU](/api-docs/store-management/webhooks/events#sku) + * [Price list assignments](/docs/integrations/webhooks/events/channels#price-list-assignments) + * [Products](/docs/integrations/webhooks/events#products) + * [SKU](/docs/integrations/webhooks/events#sku) ### Related endpoints * [Get All Price Lists](/docs/rest-management/price-lists#get-all-price-lists) termsOfService: 'https://www.bigcommerce.com/terms' @@ -3046,14 +3046,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/pricing.sf.yml b/reference/pricing.sf.yml index d9ded49a7..4b20d2f21 100644 --- a/reference/pricing.sf.yml +++ b/reference/pricing.sf.yml @@ -925,14 +925,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/redirects.v3.yml b/reference/redirects.v3.yml index 98c5bb414..f5ae6e6a8 100644 --- a/reference/redirects.v3.yml +++ b/reference/redirects.v3.yml @@ -647,15 +647,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/scripts.v3.yml b/reference/scripts.v3.yml index a63bb89ef..2c1795db6 100644 --- a/reference/scripts.v3.yml +++ b/reference/scripts.v3.yml @@ -3,7 +3,7 @@ info: title: Scripts version: '' description: |- - Add client-side code to a BigCommerce storefront page or associate a script with a channel. To learn more about scripts, see the [Scripts API](/api-docs/store-management/scripts) article. + Add client-side code to a BigCommerce storefront page or associate a script with a channel. To learn more about scripts, see the [Scripts API](/docs/integrations/scripts) article. termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -122,7 +122,7 @@ paths: * Specify the `html` property. * Do not specify the `src` field. * Each app can have 10 scripts installed. - * Multiple scripts can be created [per call](/api-docs/store-management/scripts#notes). + * Multiple scripts can be created [per call](/docs/integrations/scripts#notes). get: summary: Get All Scripts operationId: getScripts @@ -619,15 +619,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: @@ -880,7 +880,7 @@ components: script_Response: type: object title: script_Response - description: 'For a list of all locations visit [Scripts Visibility](/api-docs/store-management/scripts#script-visibility-locations).' + description: 'For a list of all locations visit [Scripts Visibility](/docs/integrations/scripts#script-visibility-locations).' properties: data: $ref: '#/components/schemas/script_Full' @@ -890,7 +890,7 @@ components: script_responseCollection: type: object title: script_responseCollection - description: 'For a list of all locations visit [Scripts Visibility](/api-docs/store-management/scripts#script-visibility-locations).' + description: 'For a list of all locations visit [Scripts Visibility](/docs/integrations/scripts#script-visibility-locations).' properties: data: type: array @@ -933,7 +933,7 @@ components: - footer visibility: type: string - description: "Which set of pages the script should load on. \n\nPlease note that you need to have `Checkout content` scope to use `all_pages` and `checkout`.\n\n- The current visibility options are `storefront`, `checkout`, `all_pages` and `order_confirmation`.\n\n `storefront`: All pages that are not `checkout` or `order_confirmation`.\n\n\t\t \nFor a list of all locations visit [Scripts Visibility](/api-docs/store-management/scripts#script-visibility-locations)." + description: "Which set of pages the script should load on. \n\nPlease note that you need to have `Checkout content` scope to use `all_pages` and `checkout`.\n\n- The current visibility options are `storefront`, `checkout`, `all_pages` and `order_confirmation`.\n\n `storefront`: All pages that are not `checkout` or `order_confirmation`.\n\n\t\t \nFor a list of all locations visit [Scripts Visibility](/docs/integrations/scripts#script-visibility-locations)." enum: - storefront - all_pages diff --git a/reference/settings.v3.yml b/reference/settings.v3.yml index ab4a8eb4f..fb2b89139 100644 --- a/reference/settings.v3.yml +++ b/reference/settings.v3.yml @@ -2011,19 +2011,19 @@ components: description: |- Describes when stock levels are updated. - Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/api-docs/store-management/webhooks/webhook-events#products), [SKU](/api-docs/store-management/webhooks/webhook-events#skus), and [inventory](/buy-online-pick-up-in-store/webhooks#inventory) webhooks. + Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/docs/integrations/webhooks/events#products), [SKU](/docs/integrations/webhooks/events#skus), and [inventory](/docs/integrations/webhooks/events/inventory-location#inventory) webhooks. edit_order_stock_adjustment: type: boolean description: |- Describes whether stock levels automatically adjust when you edit an order. - Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/api-docs/store-management/webhooks/webhook-events#products), [SKU](/api-docs/store-management/webhooks/webhook-events#skus), and [inventory](/buy-online-pick-up-in-store/webhooks#inventory) webhooks. + Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/docs/integrations/webhooks/events#products), [SKU](/docs/integrations/webhooks/events#skus), and [inventory](/docs/integrations/webhooks/events/inventory-location#inventory) webhooks. refund_order_stock_adjustment: type: boolean description: |- Describes whether stock levels automatically adjust when you refund or cancel an order. - Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/api-docs/store-management/webhooks/webhook-events#products), [SKU](/api-docs/store-management/webhooks/webhook-events#skus), and [inventory](/buy-online-pick-up-in-store/webhooks#inventory) webhooks. + Global settings apply when inventory changes through a [manual order](https://support.bigcommerce.com/s/article/Creating-a-Manual-Order?language=en_US). Settings for a channel apply when inventory changes through an order in a channel. These settings affect webhooks that trigger from order-related events, including [product](/docs/integrations/webhooks/events#products), [SKU](/docs/integrations/webhooks/events#skus), and [inventory](/docs/integrations/webhooks/events/inventory-location#inventory) webhooks. stock_level_display: type: string enum: @@ -2460,14 +2460,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index cc1109d59..ca760bc1f 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -2080,15 +2080,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/shipping.v3.yml b/reference/shipping.v3.yml index f7dbb125f..3158f23a4 100644 --- a/reference/shipping.v3.yml +++ b/reference/shipping.v3.yml @@ -54,7 +54,7 @@ paths: parameters: - in: query name: 'product_id:in' - description: 'A comma-separated list of product IDs. For more information, see [Filtering](/api-docs/getting-started/filtering).' + description: 'A comma-separated list of product IDs. For more information, see [Filtering](/docs/start/about/common-query-params).' style: form explode: false schema: @@ -273,7 +273,7 @@ components: schema: $ref: '#/components/schemas/error_Full' 429_Too_Many_Requests: - description: 'When an OAuth client exceeds the [rate limit](/api-docs/getting-started/best-practices#api-rate-limits) for API requests to a store.' + description: 'When an OAuth client exceeds the [rate limit](/docs/start/best-practices#api-rate-limits) for API requests to a store.' content: application/json: schema: @@ -305,15 +305,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index ef8b188c3..3b5b6577f 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -3,13 +3,13 @@ info: version: '' title: Shipping Providers description: |- - Implement endpoints consumed by BigCommerce for custom shipping integrations. To learn more, see [Shipping Provider API Overview](/api-docs/store-management/shipping/shipping-provider-api). + Implement endpoints consumed by BigCommerce for custom shipping integrations. To learn more, see [Shipping Provider API Overview](/docs/integrations/shipping). ## Authentication This specification file describes API requests BigCommerce will make to a registered shipping carrierʼs server to check connection options and retrieve rates. As such, the method of authentication is determined by the carrier server. - For more, see [developer-configured authentication](/api-docs/getting-started/authentication#developer-configured-authentication) for provider APIs. + For more, see [developer-configured authentication](/docs/start/authentication#developer-configured-authentication) for provider APIs. ## Subresources @@ -22,10 +22,10 @@ info: ## Additional Information ### Webhooks - - [Shipment](/api-docs/store-management/webhooks/webhook-events#shipment) + - [Shipment](/docs/integrations/webhooks/events#shipment) ### Related API Resources - - [Shipping Provider](/docs/apps-api/shipping) + - [Shipping Provider](/docs/rest-contracts/shipping) - [Shipping V2 API](/docs/rest-management/shipping-v2) termsOfService: 'https://www.bigcommerce.com/terms' contact: diff --git a/reference/sites.v3.yml b/reference/sites.v3.yml index 4e2730f30..0037a7f4f 100644 --- a/reference/sites.v3.yml +++ b/reference/sites.v3.yml @@ -7,7 +7,7 @@ info: ## [Sites](/docs/rest-management/sites) - Sites link [headless storefronts](/api-docs/storefronts/developers-guide-headless) to sales [channels](/docs/rest-management/channels). To [create a site](/docs/rest-management/sites#create-a-site), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites`. + Sites link [headless storefronts](/docs/storefront/headless) to sales [channels](/docs/rest-management/channels). To [create a site](/docs/rest-management/sites#create-a-site), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites`. ```http POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites @@ -43,7 +43,7 @@ info: ## Site routes - [Site routes](/docs/rest-management/sites/site-routes) tell BigCommerce how to link to pages on a [headless storefront](/api-docs/storefronts/developers-guide-headless). To [create a route](/docs/rest-management/sites/site-routes#create-a-site-route) for a [site](#sites), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes`. + [Site routes](/docs/rest-management/sites/site-routes) tell BigCommerce how to link to pages on a [headless storefront](/docs/storefront/headless). To [create a route](/docs/rest-management/sites/site-routes#create-a-site-route) for a [site](#sites), send a `POST` request to `/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes`. ```http POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes @@ -111,8 +111,8 @@ info: ### Related resources * [Channels and Listings Reference](/docs/rest-management/channels) - * [Channels Overview](/api-docs/channels/overview) - * [Building Headless Storefronts Guide](/api-docs/storefronts/developers-guide-headless) + * [Channels Overview](/docs/integrations/channels) + * [Building Headless Storefronts Guide](/docs/storefront/headless) termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -166,13 +166,13 @@ paths: $ref: '#/components/responses/504_GatewayTimeout' tags: - Sites - description: 'Create a site that links a [headless storefront](/api-docs/storefronts/developers-guide-headless) to a sales [channel](/docs/rest-management/channels).' + description: 'Create a site that links a [headless storefront](/docs/storefront/headless) to a sales [channel](/docs/rest-management/channels).' get: responses: '200': $ref: '#/components/responses/site_RespCollection' summary: Get Sites - description: 'Get sites linked to a [headless storefront](/api-docs/storefronts/developers-guide-headless) sales channels.' + description: 'Get sites linked to a [headless storefront](/docs/storefront/headless) sales channels.' tags: - Sites parameters: @@ -332,7 +332,7 @@ paths: tags: - Site Routes description: |- - Create routes that tell BigCommerce how to link to pages on a [headless storefront](/api-docs/storefronts/developers-guide-headless). + Create routes that tell BigCommerce how to link to pages on a [headless storefront](/docs/storefront/headless). ## Usage Notes * For a list of supported route types, see [Route types](/docs/rest-management/sites#route-types). @@ -1260,15 +1260,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header parameters: diff --git a/reference/store_content.v2.yml b/reference/store_content.v2.yml index b25af3b56..93be79c3b 100644 --- a/reference/store_content.v2.yml +++ b/reference/store_content.v2.yml @@ -1654,14 +1654,14 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + 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 d75c6d8a0..985533056 100644 --- a/reference/store_information.v2.yml +++ b/reference/store_information.v2.yml @@ -197,15 +197,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/store_logs.v3.yml b/reference/store_logs.v3.yml index f27bf4f25..5dd8675b4 100644 --- a/reference/store_logs.v3.yml +++ b/reference/store_logs.v3.yml @@ -220,15 +220,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header tags: diff --git a/reference/storefront_tokens.v3.yml b/reference/storefront_tokens.v3.yml index 4376fe532..c26f34cbc 100644 --- a/reference/storefront_tokens.v3.yml +++ b/reference/storefront_tokens.v3.yml @@ -2,11 +2,11 @@ openapi: '3.0.1' info: title: Storefront Token description: |- - Get and manage tokens used to authenticate cross-origin requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview). + Get and manage tokens used to authenticate cross-origin requests to the [GraphQL Storefront API](/docs/storefront/graphql). - ## [API tokens](/docs/storefront-auth/tokens#create-a-token) + ## [API tokens](/docs/rest-authentication/tokens#create-a-token) - Generate tokens (JWT) for authenticating cross-origin requests to the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview). To [create a token](/docs/storefront-auth/tokens#create-a-token), send a `POST` request to `/stores/{{STORE_HASH}}/v3/storefront/api-token`. + Generate tokens (JWT) for authenticating cross-origin requests to the [GraphQL Storefront API](/docs/storefront/graphql). To [create a token](/docs/rest-authentication/tokens#create-a-token), send a `POST` request to `/stores/{{STORE_HASH}}/v3/storefront/api-token`. ```http POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/storefront/api-token @@ -29,7 +29,7 @@ info: |`expires_at`|int| Unix timestamp in seconds (required). Does not support milliseconds, microseconds, or nanoseconds. | |`allowed_cors_origins`|array[str]| Allowed origins for cross origin requests (required) | - [**Response:**](/docs/storefront-auth/tokens#create-a-token) + [**Response:**](/docs/rest-authentication/tokens#create-a-token) ```json { @@ -42,9 +42,9 @@ info: - ## [Customer impersonation tokens](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) + ## [Customer impersonation tokens](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token) - Generate tokens that can make queries from the perspective of a particular customer in headless or server-side code using the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-impersonation-tokens). To [create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token), send a `POST` request to `/v3/storefront/api-token-customer-impersonation`. + Generate tokens that can make queries from the perspective of a particular customer in headless or server-side code using the [GraphQL Storefront API](/docs/storefront/graphql#customer-impersonation-tokens). To [create a customer impersonation token](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token), send a `POST` request to `/v3/storefront/api-token-customer-impersonation`. ```http POST https://api.bigcommerce.com/stores/{STORE_HASH}/v3/storefront/api-token-customer-impersonation @@ -53,7 +53,7 @@ info: Content-Type: application/json ``` - [**Response:**](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) + [**Response:**](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token) ```json { @@ -65,7 +65,7 @@ info: } ``` - Customer impersonation token authenticated requests made to the GraphQL API receive store information from the perspective of the customer with the ID specified in the `X-Bc-Customer-Id` header sent with the GraphQL `POST` request. Pricing, product availability, customer account, and customer details will be reflected. Consider this sample request using a [customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) to run a request in the context of customer ID `123`. + Customer impersonation token authenticated requests made to the GraphQL API receive store information from the perspective of the customer with the ID specified in the `X-Bc-Customer-Id` header sent with the GraphQL `POST` request. Pricing, product availability, customer account, and customer details will be reflected. Consider this sample request using a [customer impersonation token](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token) to run a request in the context of customer ID `123`. ```http POST https://store.example.com/graphql @@ -85,7 +85,7 @@ info: ## Revoking tokens - To [revoke a token](/docs/storefront-auth/tokens#revoke-a-token), send a `DELETE` request to `/v3/storefront/api-token`. + To [revoke a token](/docs/rest-authentication/tokens#revoke-a-token), send a `DELETE` request to `/v3/storefront/api-token`. ```http DELETE /stores/{{STORE_HASH}}/v3/storefront/api-token-customer-impersonation @@ -96,7 +96,7 @@ info: ## Additional information - * [GraphQL API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview) + * [GraphQL API Overview](/docs/storefront/graphql) termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -190,7 +190,7 @@ paths: - Customer Impersonation Token summary: Create a Token description: |- - Returns a Storefront API token that allows your application to impersonate customers when making GraphQL `POST` requests. For more information on how to use the returned token, see [customer impersonation tokens](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token). + Returns a Storefront API token that allows your application to impersonate customers when making GraphQL `POST` requests. For more information on how to use the returned token, see [customer impersonation tokens](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token). **Required Scopes** * `Manage` `Storefront API Customer Impersonation Tokens` @@ -342,15 +342,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). name: X-Auth-Token in: header diff --git a/reference/subscribers.v3.yml b/reference/subscribers.v3.yml index f0611f1d2..715f53778 100644 --- a/reference/subscribers.v3.yml +++ b/reference/subscribers.v3.yml @@ -905,15 +905,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/subscriptions.sf.yml b/reference/subscriptions.sf.yml index d5c1b3202..e5eb799e0 100644 --- a/reference/subscriptions.sf.yml +++ b/reference/subscriptions.sf.yml @@ -4,15 +4,15 @@ info: description: |- Manage newsletter and marketing email subscriptions on the storefront. - For info about API accounts, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). + For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). - For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#same-origin-cors-authentication). + For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). ## Additional Information * [Collecting Newsletter Subscriptions](https://support.bigcommerce.com/s/article/Collecting-Newsletter-Subscriptions) (support.bigcommerce.com) - * [Customers Overview](/api-docs/customers/customers-subscribers-overview) - * [Working with Storefront APIs](/api-docs/cart-and-checkout/working-sf-apis) + * [Customers Overview](/docs/store-operations/customers/customers-subscribers-overview) + * [Working with Storefront APIs](/docs/storefront/cart-checkout/guide/rest-storefront) termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce diff --git a/reference/tax.v3.yml b/reference/tax.v3.yml index bd2c0e9e9..58e9ee964 100644 --- a/reference/tax.v3.yml +++ b/reference/tax.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.0' info: title: Tax Provider Connection version: '3' - description: 'Manage the connection between a merchantʼs BigCommerce store and a third party tax provider. For more information, see [Tax Provider API Overview](/api-docs/providers/tax).' + description: 'Manage the connection between a merchantʼs BigCommerce store and a third party tax provider. For more information, see [Tax Provider API Overview](/docs/integrations/tax).' termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -49,11 +49,11 @@ paths: delete: summary: Delete a Connection description: | - Remove any previously set basic connection credentials for the specified provider. If the specified provider is the active tax provider on the store, the store's active tax provider will be reset to BigCommerce Manual Tax. It is suggested to call this endpoint during a single-click app [uninstall callback](/api-docs/apps/guide/callbacks#uninstall-callback). + Remove any previously set basic connection credentials for the specified provider. If the specified provider is the active tax provider on the store, the store's active tax provider will be reset to BigCommerce Manual Tax. It is suggested to call this endpoint during a single-click app [uninstall callback](/docs/integrations/apps/guide/callbacks#uninstall-callback). > #### Note > * This operation will be logged in [Store Logs](https://support.bigcommerce.com/s/article/Using-Store-Logs) under **Staff Actions**. - > * Requires **write** permissions on the **Information and Settings** [scope](/api-docs/getting-started/api-accounts#oauth-scopes). + > * Requires **write** permissions on the **Information and Settings** [scope](/docs/start/authentication/api-accounts#oauth-scopes). operationId: provider-connection-delete responses: '200': @@ -96,11 +96,11 @@ paths: - (optional) Tax provider profile used in customized endpoint urls for tax provider calls. This is only available for tax providers that support this feature. The configured `username`, `password`, and `profile` (if available) is used to authenticate each API request to the Tax Provider from the associated store. - The tax provider's `profile` will be included in the url for [Tax Provider API](/docs/apps-api/tax) endpoints. + The tax provider's `profile` will be included in the url for [Tax Provider API](/docs/rest-contracts/tax) endpoints. > #### Note > * This operation will be logged in [Store Logs](https://support.bigcommerce.com/s/article/Using-Store-Logs) under **Staff Actions**. - > * Requires **write** permissions on the **Information and Settings** [scope](/api-docs/getting-started/api-accounts#oauth-scopes). + > * Requires **write** permissions on the **Information and Settings** [scope](/docs/start/authentication/api-accounts#oauth-scopes). summary: Update a Connection parameters: - $ref: '#/components/parameters/ContentType' @@ -138,7 +138,7 @@ paths: required: true schema: type: string - description: 'The Tax Providerʼs `provider_id` provided by BigCommerce after the provider [shares their provider details](/api-docs/providers/tax#sharing-provider-details-with-bigcommerce).' + description: 'The Tax Providerʼs `provider_id` provided by BigCommerce after the provider [shares their provider details](/docs/integrations/tax#sharing-provider-details-with-bigcommerce).' components: parameters: Accept: @@ -179,15 +179,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/tax_classes.v2.yml b/reference/tax_classes.v2.yml index cc42d906e..cb821f28e 100644 --- a/reference/tax_classes.v2.yml +++ b/reference/tax_classes.v2.yml @@ -174,15 +174,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header diff --git a/reference/tax_properties.v3.yml b/reference/tax_properties.v3.yml index a2bff3fd8..e0c292f0c 100644 --- a/reference/tax_properties.v3.yml +++ b/reference/tax_properties.v3.yml @@ -269,15 +269,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/tax_provider.yml b/reference/tax_provider.yml index c56b07893..5856f225e 100644 --- a/reference/tax_provider.yml +++ b/reference/tax_provider.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Tax Provider API version: '1.0' - description: 'Use BigCommerce’s platform-to-platform Tax Provider API to integrate a tax calculation engine into the BigCommerce storefront and control panel. Supports [estimate](/docs/apps-api/tax#estimate-taxes), [adjust](/docs/apps-api/tax#adjust-tax-quote), [commit](/docs/apps-api/tax#commit-tax-quote), and [void](/docs/apps-api/tax#void-tax-quote) operations. For more information, see [Tax Provider API Overview](/api-docs/providers/tax).' + description: 'Use BigCommerce’s platform-to-platform Tax Provider API to integrate a tax calculation engine into the BigCommerce storefront and control panel. Supports [estimate](/docs/rest-contracts/tax#estimate-taxes), [adjust](/docs/rest-contracts/tax#adjust-tax-quote), [commit](/docs/rest-contracts/tax#commit-tax-quote), and [void](/docs/rest-contracts/tax#void-tax-quote) operations. For more information, see [Tax Provider API Overview](/docs/integrations/tax).' termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -1317,9 +1317,9 @@ components: type: http scheme: basic description: |- - The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username`, `password`, and optionally `profile`, using the [Update a Connection](/docs/apps-api/tax-app-connection#update-a-connection) request. `profile` is an optional field and will be used with supporting providers only. + The [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) (developer.mozilla.org) credentials used to authenticate each API request to the Tax Provider from the associated store; set and update `username`, `password`, and optionally `profile`, using the [Update a Connection](/docs/rest-contracts/tax-app-connection#update-a-connection) request. `profile` is an optional field and will be used with supporting providers only. - For more, see [developer-configured authentication](/api-docs/getting-started/authentication#developer-configured-authentication) for Provider APIs. + For more, see [developer-configured authentication](/docs/start/authentication#developer-configured-authentication) for Provider APIs. security: - Authorization: [] diff --git a/reference/tax_rates_zones.v3.yml b/reference/tax_rates_zones.v3.yml index dbd18f6c0..ffbb892a5 100644 --- a/reference/tax_rates_zones.v3.yml +++ b/reference/tax_rates_zones.v3.yml @@ -416,15 +416,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). schemas: Tax_Zone: type: object diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index a5c30a07d..cb761be24 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -102,15 +102,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/themes.v3.yml b/reference/themes.v3.yml index fea62d197..fdb47f8c9 100644 --- a/reference/themes.v3.yml +++ b/reference/themes.v3.yml @@ -726,15 +726,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index 0dc0b9bed..c1dc0237b 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -2,7 +2,7 @@ openapi: '3.0.3' info: title: Webhooks v3 version: '' - description: 'Get notified when specific events occur on a BigCommerce store. For more information, see [Webhooks Overview](/api-docs/store-management/webhooks/overview).' + description: 'Get notified when specific events occur on a BigCommerce store. For more information, see [Webhooks Overview](/docs/integrations/webhooks).' termsOfService: 'https://www.bigcommerce.com/terms' contact: email: support@bigcommerce.com @@ -660,15 +660,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: @@ -692,7 +692,7 @@ components: This webhook fires on new cart creation when any of the following occur: * a storefront shopper adds their first product to a cart during a new session * an application makes a successful `POST` request to `/carts` using either the [REST Storefront](/docs/rest-storefront/carts#create-a-cart) API or the [REST Management](/docs/rest-management/carts/carts-single#create-a-cart) API - * a storefront makes a successful call to create a cart using the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout) + * a storefront makes a successful call to create a cart using the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront) Cart creation also fires the `store/cart/updated` webhook. diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index 5e2ea9db2..a16660a9e 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -8,7 +8,7 @@ info: ## Subresources ### Widget templates - [Widget templates](/rest-content/widgets/widget-template) are reusable Handlebars-enabled HTML templates that define the structure of the widget on a page. + [Widget templates](/docs/rest-content/widgets/widget-template) are reusable Handlebars-enabled HTML templates that define the structure of the widget on a page. ### Widgets [Widgets](/docs/rest-content/widgets/widget) are units of content placed on specific pages in a Stencil theme. Widgets consist of a widget configuration and a widget template UUID and render as part of the storefront’s HTML. @@ -21,9 +21,9 @@ info: ## Additional Information - * [Widgets API Overview](/api-docs/store-management/widgets/overview) - * [Widget UI Schema](/stencil-docs/page-builder/widget-ui-schema) - * [Widget UI Input Types](/stencil-docs/page-builder/schema-settings) + * [Widgets API Overview](/docs/storefront/widgets) + * [Widget UI Schema](/docs/storefront/widgets/input-reference/schema) + * [Widget UI Input Types](/docs/storefront/widgets/input-reference/settings) termsOfService: 'https://www.bigcommerce.com/terms' contact: name: BigCommerce @@ -443,7 +443,7 @@ paths: **Template Files** - To view the list of values accepted by the `template_file` property, including **custom** templates, see [Placements](/api-docs/store-management/widgets/overview#placements). + To view the list of values accepted by the `template_file` property, including **custom** templates, see [Placements](/docs/storefront/widgets#placements). get: tags: - Placement @@ -1294,15 +1294,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: @@ -1750,18 +1750,18 @@ components: example: Product settings: type: array - description: 'For examples of schema settings, see [Widget UI Input Types](/stencil-docs/page-builder/schema-settings).' + description: 'For examples of schema settings, see [Widget UI Input Types](/docs/storefront/widgets/input-reference/settings).' items: type: object title: widgetSchemaSetting_Base - description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/stencil-docs/page-builder/schema-settings/alignment) in Theme Docs.' + description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/docs/storefront/widgets/input-reference/settings#alignment) in Theme Docs.' properties: type: type: string description: |- The type of setting component to display. You can view the list of elements below to discover which are available to use. - For examples of each type of setting, see [Page Builder > Schema Settings](/stencil-docs/page-builder/schema-settings/alignment) in Theme Docs. + For examples of each type of setting, see [Page Builder > Schema Settings](/docs/storefront/widgets/input-reference/settings#alignment) in Theme Docs. enum: - alignment - boolean @@ -1835,7 +1835,7 @@ components: type: string settings: type: array - description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/stencil-docs/page-builder/schema-settings/alignment) in Theme Docs.' + description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/docs/storefront/widgets/input-reference/settings#alignment) in Theme Docs.' items: $ref: '#/components/schemas/widgetSchemaSetting_Base' x-internal: false @@ -1879,14 +1879,14 @@ components: widgetSchemaSetting_Base: type: object title: widgetSchemaSetting_Base - description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/stencil-docs/page-builder/schema-settings/alignment) in Theme Docs.' + description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/docs/storefront/widgets/input-reference/settings#alignment) in Theme Docs.' properties: type: type: string description: |- The type of setting component to display. You can view the list of elements below to discover which are available to use. - For examples of each type of setting, see [Page Builder > Schema Settings](/stencil-docs/page-builder/schema-settings/alignment) in Theme Docs. + For examples of each type of setting, see [Page Builder > Schema Settings](/docs/storefront/widgets/input-reference/settings#alignment) in Theme Docs. enum: - alignment - boolean @@ -1932,7 +1932,7 @@ components: x-internal: false widgetSchema: type: array - description: 'The schema for the widget’s merchant-facing UI. For more information on the available schema settings, see [Widget UI Schema](/stencil-docs/page-builder/widget-ui-schema). ' + description: 'The schema for the widget’s merchant-facing UI. For more information on the available schema settings, see [Widget UI Schema](/docs/storefront/widgets/input-reference/schema). ' title: '' items: anyOf: @@ -1956,14 +1956,14 @@ components: items: type: object title: widgetSchemaSetting_Base - description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/stencil-docs/page-builder/schema-settings/alignment) in Theme Docs.' + description: 'For examples of each type of setting, see [Page Builder > Schema Settings](/docs/storefront/widgets/input-reference/settings#alignment) in Theme Docs.' properties: type: type: string description: |- The type of setting component to display. You can view the list of elements below to discover which are available to use. - For examples of each type of setting, see [Page Builder > Schema Settings](/stencil-docs/page-builder/schema-settings/alignment) in Theme Docs. + For examples of each type of setting, see [Page Builder > Schema Settings](/docs/storefront/widgets/input-reference/settings#alignment) in Theme Docs. enum: - alignment - boolean diff --git a/reference/wishlists.v3.yml b/reference/wishlists.v3.yml index 3faa8c029..257ac1c65 100644 --- a/reference/wishlists.v3.yml +++ b/reference/wishlists.v3.yml @@ -1008,15 +1008,15 @@ components: | Header | Argument | Description | |:-------|:---------|:------------| - | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts). | + | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading - For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/api-docs/getting-started/authentication#x-auth-token-header-example-requests). + 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 our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). + For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). - For a list of API status codes, see [API Status Codes](/api-docs/getting-started/api-status-codes). + For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header From b6766abd3268dab951f4b4b346607aa9280f24fd Mon Sep 17 00:00:00 2001 From: Marcus Sung <98011424+bc-msung@users.noreply.github.com> Date: Thu, 26 Oct 2023 02:19:54 +1100 Subject: [PATCH 327/360] DEVDOCS-5425 [new]: Tax Settings API, add tax zone based price display for storefront (#1456) --- reference/tax_settings.v3.yml | 45 ++++++++++------------------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/reference/tax_settings.v3.yml b/reference/tax_settings.v3.yml index cb761be24..bf2e88bf0 100644 --- a/reference/tax_settings.v3.yml +++ b/reference/tax_settings.v3.yml @@ -51,7 +51,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Tax_Settings_Req' + $ref: '#/components/schemas/Tax_Settings' required: true responses: '200': @@ -143,41 +143,22 @@ components: - FIXED - BASIC - DISABLE - should_subtract_store_tax: - default: true - type: boolean - description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. - Tax_Settings_Req: - type: object - properties: - tax_entered_with_prices: - type: boolean - description: Whether prices entered on this store include a tax component or not. - price_display_settings: - type: object - description: Settings that describe how prices display at the global level. - properties: - show_inclusive_in_control_panel: - type: boolean - description: Whether to show prices as tax inclusive or tax exclusive in the BigCommerce control panel. - invoice_price_display_strategy: - type: string - description: 'Whether to show prices as tax inclusive or tax exclusive across all invoices, or use the shopperʼs tax zone for price display on invoices.' - enum: - - ZONE - - INCLUSIVE - - EXCLUSIVE - fallback_strategy: - type: string - description: 'Decribes the fallback behaviour that applies when a tax provider produces an error. A merchant may decide to use a flat 10% fallback tax rate, their basic tax settings, or to block the transaction until a successful result can be achieved.' - enum: - - FIXED - - BASIC - - DISABLE should_subtract_store_tax: default: true type: boolean description: This setting applies only if a merchant enters tax-inclusive prices. When enabled, the store subtracts the itemʼs store tax rate before calculating tax using the shopperʼs tax zone. The tax-exclusive amount will be the same across all tax zones. When disabled, the tax-inclusive price remains the same across all tax zones; only the tax amount will vary based on the shopperʼs location. The tax-exclusive amount may vary among tax zones. These calculations are relevant for tax pricing and tax quotations that use basic tax. + should_use_geolocation_to_determine_guest_shopper_tax_zone: + default: false + type: boolean + description: This setting determines which tax zone a store uses to estimate tax for guest shoppers. When enabled, the store identifies a country-level tax zone based on the geolocation of a guest shopper. The store then applies the corresponding tax zone to estimate taxes. When disabled, the store identifies the zone using the provided `guest_shopper_tax_zone_id` field instead. Only the tax zones you configure can be matched to the guest shopper's geolocation. + guest_shopper_tax_zone_id: + default: 1 + type: integer + description: ID for the tax zone a store uses when estimating tax for guest shoppers. The store uses this zone if you disable `should_use_geolocation_to_determine_guest_shopper_tax_zone`. The store also uses this zone if there is no matching country-level tax zone for the geolocation. + store_tax_zone_id: + default: 1 + type: integer + description: ID for the tax zone a store uses when subtracting store tax. This setting applies only if a merchant enters tax-inclusive prices and subtracts store tax before tax calculation. MetaOpen: title: Response meta type: object From f10745043015e668559f319c85f5270f09ce1526 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 27 Oct 2023 13:27:16 -0500 Subject: [PATCH 328/360] error found by Andrea (#1510) --- reference/abandoned_carts.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/abandoned_carts.v3.yml b/reference/abandoned_carts.v3.yml index 72722571f..c788bd9e3 100644 --- a/reference/abandoned_carts.v3.yml +++ b/reference/abandoned_carts.v3.yml @@ -385,7 +385,7 @@ components: properties: cart_id: type: string - description: The `cart_id` of the abandoned cart. Can be used to display the abandoned cart to the customer using storefront cart or + description: The `cart_id` of the abandoned cart. Can be used to display the abandoned cart to the customer using storefront cart or server-to-server cart APIs. x-internal: false AbandonedCartSettings: description: Represents all settings related to the abandoned cart functionality of a store From 4a4c464b78541428b67cb7baaf3336d306a205d5 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 30 Oct 2023 09:08:22 -0500 Subject: [PATCH 329/360] DEVDOCS-5572: [Update] add notes about concurrent requests (#1506) --- reference/carts.sf.yml | 9 +++++---- reference/carts.v3.yml | 4 ++++ reference/checkouts.sf.yml | 15 +++++++++------ reference/checkouts.v3.yml | 5 +++++ 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index 207e9b611..88adfc22f 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -104,10 +104,10 @@ paths: description: |- Adds a line items to the *Cart*. - - > #### Note + > #### Notes > * Substitute your storefront domain for `yourstore.example.com`. > * The Send a Test Request feature is not currently supported for this endpoint. + > * Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. operationId: addCartLineItem parameters: @@ -167,9 +167,10 @@ paths: If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/docs/rest-storefront/carts/cart-items#delete-cart-line-item) and the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoints. You can also use carts mutations that are part of the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). - > #### Note + > #### Notes > * Substitute your storefront domain for `yourstore.example.com`. - > * The Send a Test Request feature is not currently supported for this endpoint. + > * The Send a Test Request feature is not currently supported for this endpoint. + > * Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. operationId: updateCartLineItem parameters: diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 85fb098d1..7c102a81a 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -288,6 +288,8 @@ paths: Overriding a product’s `list_price` will make that item ineligible for V3 product level promotions. If a product has modifiers, omit the `variant_id` and instead use the `option_selections` array to describe both the **variant** and the **modifier** selections. + + Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. parameters: - name: include in: query @@ -395,6 +397,8 @@ paths: `custom_items` cannot be updated via the API at this time. To update your cart, add a new updated custom item and delete the outdated one. If your cart contains only one line item, perform the add operation before the delete operation. Deleting all line items from the cart will invalidate the cart. + + Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. parameters: - name: include in: query diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 736104959..703274778 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -375,9 +375,10 @@ paths: If a variant needs to be changed or updated, the product will need to be removed and re-added to the cart with the correct variants using the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoint or the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). - > #### Note + > #### Notes > * Substitute your storefront domain for `yourstore.example.com`. - > * The Send a Test Request feature is not currently supported for this endpoint. + > * The Send a Test Request feature is not currently supported for this endpoint. + > * Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. operationId: CheckoutsCartsItemsItemIdByCheckoutIdAndCartIdPut parameters: - name: checkoutId @@ -1213,9 +1214,10 @@ paths: To learn more about creating a Checkout Consignment, see the [Carts and Checkouts Tutorial](/docs/storefront/cart-checkout/guide/rest-storefront). - > #### Note + > #### Notes > * Substitute your storefront domain for `yourstore.example.com`. - > * The Send a Test Request feature is not currently supported for this endpoint. + > * The Send a Test Request feature is not currently supported for this endpoint. + > * Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. operationId: CheckoutsConsignmentsByCheckoutIdPost parameters: - name: checkoutId @@ -1381,10 +1383,11 @@ paths: To learn more about creating a Checkout Consignment see [Checkout Consignment API](/docs/storefront/cart-checkout/guide/consignments). - > #### Note + > #### Notes > * You cannot pass both an `address` and a `shippingOptionId` because the shipping option may not be available for the new address > * Substitute your storefront domain for `yourstore.example.com`. - > * The Send a Test Request feature is not currently supported for this endpoint. + > * The Send a Test Request feature is not currently supported for this endpoint. + > * Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut parameters: - name: checkoutId diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index 0cb11769e..fe4ac457a 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -3934,6 +3934,9 @@ paths: description: |- Adds a new consignment to a checkout. + + Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. + For more information about working with consignments, see [Checkout consignment](/docs/storefront/cart-checkout/guide/consignments). Though the only required `address` properties to create a consignment are `email` and `country_code`, to successfully [create an order](/docs/rest-management/checkouts/checkout-orders#create-an-order) the `address` requires the following properties: @@ -4739,6 +4742,8 @@ paths: * Assign a shipping option to the new consignment by sending a `PUT` request to update the consignment's `shipping_option_id` with a returned value from `data.consignments[N].available_shipping_option[N].id` obtained in the [Add Consignment to Checkout](/docs/rest-management/checkouts/checkout-consignments#add-consignment-to-checkout) endpoint. To update an existing address and line item IDs, assign a new address and line item IDs by sending a `PUT` request. + + Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results. operationId: CheckoutsConsignmentsByCheckoutIdAndConsignmentIdPut parameters: From ed32d58ccdd3599f5daa848ce46cfd7d424b3fda Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 30 Oct 2023 11:23:45 -0500 Subject: [PATCH 330/360] DEVDOCS-5109: [update] update batch limit (#1507) --- reference/catalog/products_catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index f5fe58b32..b5f682a40 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -844,7 +844,7 @@ paths: example: errors: {} status: 413 - title: The request payload is too large. The maximum items allowed in the array is 50 + title: The request payload is too large. The maximum items allowed in the array is 10. type: /api-docs/getting-started/api-status-codes '422': description: '`Product` was not valid. This is the result of missing required fields or invalid data. See the response for more details.' From 37baf250375582eac85f92e5abcc56b25cee3532 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 30 Oct 2023 11:49:36 -0500 Subject: [PATCH 331/360] add note to the pickup option field (#1508) --- reference/checkouts.v3.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index fe4ac457a..aa21d5314 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -8704,6 +8704,7 @@ components: format: int32 pickup_option: type: object + description: 'Assigns a pickup consignment. Note: You cannot assign a shipping method with a pickup consignment.' properties: pickup_method_id: type: integer From 09c1c19adbaff7b0257d0e341cc0ce5021c5997e Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 2 Nov 2023 08:42:19 -0500 Subject: [PATCH 332/360] DEVDOCS-5495: [update] updated product_id description (#1511) Co-authored-by: Kamil Skomro <136105824+kskomro@users.noreply.github.com> --- reference/catalog/product-variants_catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index 7a0cfca1a..f9c57562d 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -2364,7 +2364,7 @@ components: name: product_id in: path description: | - The ID of the `Product` to which the resource belongs. + The ID of the `Product` to which the resource belongs. Product variant metafield endpoints that have the `product_id` in the request path are successful as long as the parameter is not empty. The `product_id` segment is there only for path consistency. required: true schema: type: integer From ece6d5e3f1f4ef2d1360899c0aee13d730ea53f0 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Thu, 2 Nov 2023 09:01:13 -0500 Subject: [PATCH 333/360] DEVDOCS-4667: [revise] Catalog Product, Add pagination limits to Get All Products (#1512) --- reference/catalog/products_catalog.v3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index b5f682a40..5550d0d0d 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -340,7 +340,7 @@ paths: type: integer - name: limit in: query - description: Controls the number of items per page in a limited (paginated) list of products. + description: Controls the number of items per page in a limited (paginated) list of products. The default product limit is 50 with a maximum limit of 250. schema: type: integer - name: direction From ce5b69974afffe372ed8038baf1c976e37bfc53a Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 6 Nov 2023 11:53:51 -0600 Subject: [PATCH 334/360] DEVDOCS-5140: [update] add consignment examples (#1513) --- reference/checkouts.v3.yml | 39 +++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml index aa21d5314..a15e535ea 100644 --- a/reference/checkouts.v3.yml +++ b/reference/checkouts.v3.yml @@ -1598,7 +1598,6 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - x-codegen-request-body-name: body '/checkouts/{checkoutId}/discounts': post: tags: @@ -2383,7 +2382,6 @@ paths: - homepage - cartpage text: Some text - x-codegen-request-body-name: body '/checkouts/{checkoutId}/billing-address': post: tags: @@ -3154,7 +3152,6 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - x-codegen-request-body-name: body '/checkouts/{checkoutId}/billing-address/{addressId}': put: tags: @@ -3925,7 +3922,6 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - x-codegen-request-body-name: body '/checkouts/{checkoutId}/consignments': post: tags: @@ -3967,8 +3963,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateConsignmentRequest' - required: true + $ref: '#/components/schemas/CreateConsignmentRequest' + examples: + Shipping Consignment: + value: + - address: + first_name: "Jane" + last_name: "Doe" + email: "Jane.Doe@email.com" + company: "BigCommerce" + address1: "100 Main Street" + address2: "string" + city: "Austin" + state_or_province: "Texas" + state_or_province_code: "string" + country_code: "US" + postal_code: "78701" + phone: "555-555-5555" + custom_fields: + - field_id: "string" + field_value: "string" + line_items: + item_id: "118f8774-387c-485e-a095-6ef76d5f1bbd" + quantity: 1 + Pickup Consignment: + value: + - line_items: + - item_id: "118f8774-387c-485e-a095-6ef76d5f1bbd" + quantity: 1 + pickup_option: + pickup_method_id: 1 responses: '200': description: '' @@ -4717,7 +4741,6 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - x-codegen-request-body-name: body '/checkouts/{checkoutId}/consignments/{consignmentId}': parameters: @@ -5509,7 +5532,6 @@ paths: - homepage - cartpage text: Some text - x-codegen-request-body-name: body delete: tags: - Checkout Consignments @@ -7033,7 +7055,6 @@ paths: AllowDynamicQueryParameters: false AllowDynamicFormParameters: false IsMultiContentStreaming: false - x-codegen-request-body-name: body '/checkouts/{checkoutId}/coupons/{couponCode}': delete: tags: From 40acd91cb020ce784c26a65c142d4088efc96cbd Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Tue, 7 Nov 2023 10:05:27 -0600 Subject: [PATCH 335/360] DEVDOCS-5500 [update]: Catalog API, add note about query parameters (#1515) --- reference/catalog/products_catalog.v3.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 5550d0d0d..d501b8c90 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -8252,6 +8252,8 @@ components: type: string description: | Type of gift-wrapping options. Values: `any` - allow any gift-wrapping options in the store; `none` - disallow gift-wrapping on the product; `list` – provide a list of IDs in the `gift_wrapping_options_list` field. + + Always included in the response body; not applicable for the `include_fields` and `exclude_fields` query parameters. enum: - any - none @@ -8260,6 +8262,8 @@ components: type: array description: | A list of gift-wrapping option IDs. + + Always included in the response body; not applicable for the `include_fields` and `exclude_fields` query parameters. items: type: integer sort_order: From d8b0a81a2d175107737ca9dfd124380f8b3f3e97 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Mon, 13 Nov 2023 13:51:48 -0600 Subject: [PATCH 336/360] SELFDEV-411: [update] Geography, copyedit get a count of country's states (#1522) --- reference/geography.v2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/geography.v2.yml b/reference/geography.v2.yml index ec5976343..64cf350a9 100644 --- a/reference/geography.v2.yml +++ b/reference/geography.v2.yml @@ -275,7 +275,7 @@ paths: responses: '200': $ref: '#/components/responses/countResponse' - summary: 'Get a Count of Country’s States ' + summary: 'Get a Count of Country’s States' tags: - States description: Returns a count of a country's states. From c94df259acd8a9e3670d47e92eaf1d2d8c39f837 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 13 Nov 2023 16:49:06 -0600 Subject: [PATCH 337/360] DEVDOCS-5599: [revise] Catalog, Product, Add Rate Limits to Custom Field endpoints (#1518) --- reference/catalog/products_catalog.v3.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index d501b8c90..5458be217 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -4040,7 +4040,11 @@ paths: tags: - Custom Fields summary: Get Custom Fields - description: Returns a list of product *Custom Fields*. Optional parameters can be passed in. + description: |- + Returns a list of product *Custom Fields*. Optional parameters can be passed in. + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: getCustomFields parameters: - name: include_fields @@ -4138,9 +4142,8 @@ paths: **Read-Only:** - id - **Limits** - - 200 custom fields per product limit. - - 255 characters per custom field limit. + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: createCustomField parameters: - $ref: '#/components/parameters/ContentType' @@ -4484,7 +4487,11 @@ paths: tags: - Custom Fields summary: Delete a Custom Field - description: Deletes a product *Custom Field*. + description: |- + Deletes a product *Custom Field*. + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: deleteCustomFieldById responses: '204': @@ -8411,7 +8418,7 @@ components: type: array minimum: 0 maximum: 255 - description: 200 maximum custom fields per product. 255 maximum characters per custom field. + description: 200 maximum custom fields per product. 255 maximum characters per custom field. The default rate limit for this endpoint is 40 concurrent requests. items: $ref: '#/components/schemas/productCustomField_Put' bulk_pricing_rules: From 2db5a68e00006c64199e59f6cf1748e86ba1158a Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 13 Nov 2023 16:50:24 -0600 Subject: [PATCH 338/360] DEVDOCS-5601: [revise] Catalog, Categories, Add rate limits to select categories endpoints (#1519) --- reference/catalog/categories_catalog.v3.yml | 29 ++++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index d548b110b..f1bed614c 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -55,7 +55,11 @@ paths: tags: - Categories summary: Get All Categories - description: Returns a list of *Categories*. Optional filter parameters can be passed in. + description: |- + Returns a list of *Categories*. Optional filter parameters can be passed in. + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: getCategories parameters: - name: id @@ -365,7 +369,7 @@ paths: tags: - Categories summary: Create a Category - description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-catalog/category-trees/categories#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit." + description: "Creates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create Categories](/docs/rest-catalog/category-trees/categories#create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of category depth limit.\n- 65,642 characters category description length limit.\n\n **Note:**\n The default rate limit for this endpoint is 40 concurrent requests.\n" operationId: createCategory parameters: - $ref: '#/components/parameters/ContentType' @@ -509,7 +513,7 @@ paths: meta: $ref: '#/components/schemas/metaEmpty_Full' '207': - description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occured, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' + description: 'Multiple operations have taken place and the status for each operation can be viewed in the body of the response. Typically indicates that a partial failure has occurred, such as when a `POST` or `PUT` request is successful, but saving the URL has failed.' content: application/json: schema: @@ -727,7 +731,11 @@ paths: tags: - Categories summary: Get a Category - description: Returns a single *Category*. Optional parameters can be passed in. + description: |- + Returns a single *Category*. Optional parameters can be passed in. + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: getCategoryById parameters: - name: include_fields @@ -786,6 +794,9 @@ paths: **Read-Only Fields** - id + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: updateCategory parameters: - $ref: '#/components/parameters/ContentType' @@ -1139,7 +1150,11 @@ paths: tags: - Categories summary: Delete a Category - description: Deletes a *Category*. + description: |- + Deletes a *Category*. + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: deleteCategoryById responses: '204': @@ -1324,7 +1339,7 @@ paths: **Read-Only Fields** - id - **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + **Note:** The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. operationId: createCategoryMetafield parameters: - $ref: '#/components/parameters/ContentType' @@ -1659,7 +1674,7 @@ paths: tags: - Images summary: Delete a Category Image - description: Deletes a *Cateogory Image*. + description: Deletes a *Category Image*. operationId: deleteCategoryImage responses: '204': From 41ebe94b44af5d773f38c54de7f3011bbe7b2e71 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 13 Nov 2023 16:52:06 -0600 Subject: [PATCH 339/360] DEVDOCS-5602 [revise] CustomersV2, Customer Groups, Add rate limits to select endpoints (#1520) --- reference/customers.v2.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/reference/customers.v2.yml b/reference/customers.v2.yml index c5d1db1cf..9eb01a4eb 100644 --- a/reference/customers.v2.yml +++ b/reference/customers.v2.yml @@ -840,7 +840,11 @@ paths: tags: - Customer Groups summary: Get All Customer Groups - description: Returns a list of *Customer Groups*. Default sorting is by customer-group ID, from lowest to highest. + description: |- + Returns a list of *Customer Groups*. Default sorting is by customer-group ID, from lowest to highest. + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: getAllCustomerGroups parameters: - name: page @@ -930,6 +934,9 @@ paths: **Required Fields** * name + + **Note:** + The default rate limit for this endpoint is 40 concurrent requests. operationId: createACustomerGroup parameters: - $ref: '#/components/parameters/ContentType' @@ -1105,7 +1112,8 @@ paths: Deletes a *Customer Group*. **Notes** - All existing customers are unassigned from the group when it is deleted. + - All existing customers are unassigned from the group when it is deleted. + - The default rate limit for this endpoint is 40 concurrent requests. operationId: deleteACustomerGroup responses: '204': From 6de15bc8cc38977ce690574fbf175e1a450dcdb4 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 15 Nov 2023 08:32:39 -0600 Subject: [PATCH 340/360] DEVDOCS-5591: [update] add required flag (#1521) --- reference/catalog/brands_catalog.v3.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/catalog/brands_catalog.v3.yml b/reference/catalog/brands_catalog.v3.yml index c8c65e090..6cdf70696 100644 --- a/reference/catalog/brands_catalog.v3.yml +++ b/reference/catalog/brands_catalog.v3.yml @@ -605,6 +605,8 @@ paths: Filter items by name. schema: type: string + required: + true - name: page_title in: query description: | From 3b9dbf7af57aff57e5ac75bc13211e5fb74b9ef0 Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Thu, 16 Nov 2023 14:18:08 -0600 Subject: [PATCH 341/360] SELFDEV-434: [update] Wishlist, clean up spec (#1524) --- reference/wishlists.v3.yml | 200 ++++--------------------------------- 1 file changed, 19 insertions(+), 181 deletions(-) diff --git a/reference/wishlists.v3.yml b/reference/wishlists.v3.yml index 257ac1c65..13988d961 100644 --- a/reference/wishlists.v3.yml +++ b/reference/wishlists.v3.yml @@ -2,10 +2,11 @@ openapi: '3.0.1' info: title: Wishlist description: |- - Create and manage customer [wishlists](https://support.bigcommerce.com/s/article/Wishlists). + Create and manage customer wishlists and wishlist items. ## Additional Information - * [Wishlists](https://support.bigcommerce.com/s/article/Wishlists) + + * [Wishlists (Help Center)](https://support.bigcommerce.com/s/article/Wishlists) version: '' termsOfService: 'https://www.bigcommerce.com/terms' contact: @@ -23,7 +24,6 @@ security: - X-Auth-Token: [] tags: - name: Wishlists - description: '' - name: Wishlists Items paths: '/wishlists': @@ -241,23 +241,22 @@ paths: type: string type: type: string - x-codegen-request-body-name: body '/wishlists/{wishlist_id}/items/{item_id}': + parameters: + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' + - name: item_id + in: path + required: true + schema: + type: integer + format: int32 delete: tags: - Wishlists Items summary: Delete Wishlist Item description: Deletes a wishlist item. operationId: WishlistsItemsByIdDelete - parameters: - - $ref: '#/components/parameters/WishlistID' - - $ref: '#/components/parameters/Accept' - - name: item_id - in: path - required: true - schema: - type: integer - format: int32 responses: '200': description: '' @@ -334,15 +333,15 @@ paths: type: type: string '/wishlists/{wishlist_id}': + parameters: + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' get: tags: - Wishlists summary: Get a Wishlist description: Returns a single wishlist. operationId: WishlistsByIdGet - parameters: - - $ref: '#/components/parameters/WishlistID' - - $ref: '#/components/parameters/Accept' responses: '200': description: '' @@ -425,11 +424,9 @@ paths: description: |- Updates a wishlist. - Use this endpoint to update existing wishlist items, change the wishlist's name and whether the wishlist is available publicly. To add or delete a wishlist item, see [Wishlist Items](/docs/rest-management/wishlists/wishlists-items). + Use this endpoint to update existing wishlist items, change the wishlistʼs name and whether the wishlist is available publicly. To add or delete a wishlist item, see [Wishlist Items](/docs/rest-management/wishlists/wishlists-items). operationId: WishlistsByIdPut parameters: - - $ref: '#/components/parameters/WishlistID' - - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ContentType' requestBody: content: @@ -506,16 +503,12 @@ paths: type: string type: type: string - x-codegen-request-body-name: body delete: tags: - Wishlists summary: Delete a Wishlist description: Deletes a wishlist. operationId: WishlistsByIdDelete - parameters: - - $ref: '#/components/parameters/WishlistID' - - $ref: '#/components/parameters/Accept' responses: '204': description: '' @@ -551,6 +544,9 @@ paths: type: type: string '/wishlists/{wishlist_id}/items': + parameters: + - $ref: '#/components/parameters/WishlistID' + - $ref: '#/components/parameters/Accept' post: tags: - Wishlists Items @@ -558,8 +554,6 @@ paths: description: Adds a wishlist item. More than one item can be added at a time. operationId: WishlistsItemsByIdPost parameters: - - $ref: '#/components/parameters/WishlistID' - - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ContentType' requestBody: content: @@ -627,7 +621,6 @@ paths: '500': description: Internal server error. content: {} - x-codegen-request-body-name: body components: schemas: wishlist_Post: @@ -806,18 +799,6 @@ components: format: int32 description: 'Data about the response, including pagination and collection totals.' x-internal: false - error: - title: error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - x-internal: false metaCollection: title: metaCollection type: object @@ -825,150 +806,7 @@ components: pagination: $ref: '#/components/schemas/pagination' x-internal: false - responses: - Unauthorized: - description: Authentication information is missing or invalid. - content: - application/json: - schema: - title: Error - type: object - properties: - status: - type: integer - format: int32 - title: - type: string - type: - type: string - Wishlist_Resp: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - $ref: '#/components/schemas/wishlist_Full' - meta: - type: object - properties: {} - additionalProperties: true - description: Response metadata. - example: - data: - id: 30 - customer_id: 10 - name: Christmas List - is_public: true - token: d2d55481-13eb-4d1e-9d79-9062b518570d - items: - - id: 44 - product_id: 77 - variant_id: 1 - - id: 45 - product_id: 80 - variant_id: 1 - - id: 46 - product_id: 81 - variant_id: 1 - - id: 47 - product_id: 86 - variant_id: 1 - - id: 48 - product_id: 88 - variant_id: 1 - meta: {} - wishlist_Resp_Collection: - description: '' - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/wishlist_Full' - meta: - $ref: '#/components/schemas/metaCollection' - example: - data: - - id: 1 - customer_id: 4 - name: My Wish List - is_public: false - token: 02d55481-13eb-4d1e-9d79-9062b518570d - items: [] - - id: 2 - customer_id: 11 - name: Christmas - is_public: false - token: 02d55481-13eb-4d1e-9d79-9062b518570e - items: - - id: 1 - product_id: 167 - - id: 2 - product_id: 174 - - id: 3 - product_id: 184 - - id: 3 - customer_id: 20 - name: Birthday - is_public: false - token: 02d55481-13eb-4d1e-9d79-9062b518570f - items: - - id: 4 - product_id: 184 - - id: 5 - product_id: 183 - - id: 4 - customer_id: 20 - name: Christmas - is_public: false - token: 02d55481-13eb-4d1e-9d79-9062b518570f - items: - - id: 6 - product_id: 201 - - id: 5 - customer_id: 19 - name: Wish List - is_public: false - token: 02d55481-13eb-4d1e-9d79-9062b518570f - items: - - id: 7 - product_id: 173 - - id: 8 - product_id: 176 - meta: - pagination: - total: 0 - count: 5 - per_page: 50 - current_page: 1 - total_pages: 0 parameters: - FilterCustomerID: - name: customer_id - in: query - description: All wishlists relating to the customer. - schema: - type: integer - format: int32 - FilterPage: - name: page - in: query - description: The page number of results per page. 1 is the default and starts from record 0. - schema: - type: integer - format: int32 - FilterLimit: - name: limit - in: query - description: The numbers of items to return per page. Default is 50 and maximum is 250. - schema: - type: integer - format: int32 WishlistID: name: wishlist_id in: path From b67899e4798d303a15e72e068e1a7d304741e6a1 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 17 Nov 2023 08:07:04 -0600 Subject: [PATCH 342/360] DEVDOCS-5611: [update] add example (#1523) --- reference/carts.v3.yml | 47 +++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 7c102a81a..097b0bce2 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -534,7 +534,7 @@ paths: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/cartId' get: - description: Returns a storeʼs *Cart*. + description: Returns a store's *Cart*. parameters: - name: include in: query @@ -561,7 +561,7 @@ paths: operationId: getACart put: description: |- - Updates a *Cartʼs* `customer_id`. + Updates a *Cart's* `customer_id`. **Notes** @@ -796,7 +796,7 @@ paths: $ref: '#/components/schemas/MetafieldResponse' '409': description: | - The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the appʼs client id, namespace, key, resource_type, and resource_id. + The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. content: application/json: schema: @@ -823,8 +823,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/MetafieldPost' - examples: {} + $ref: '#/components/schemas/MetafieldPost' + example: + { + "permission_set": app_only, + "namespace": Sales Department, + "key": Staff Name, + "value": Sam, + "description": Name of staff member + } description: '' required: true responses: @@ -835,7 +842,19 @@ paths: application/json: schema: $ref: '#/components/schemas/MetaFieldCollectionResponse' - examples: {} + example: + data: + "id": 24 + "key": Staff Name + "value": Sam + "namespace": Sales Department + "permission_set": app_only + "resource_type": cart + "resource_id": b810114d-9926-45b7-bba5-7633b251154b + "description": Name of staff member + "date_created": 2023-11-15T15:16:35+00:00 + "date_modified": 2023-11-15T15:16:35+00:00 + meta: {} '404': description: | The resource was not found. @@ -866,7 +885,7 @@ paths: $ref: '#/components/schemas/MetafieldResponse' '409': description: | - The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the appʼs client id, namespace, key, resource_type, and resource_id. + The `Metafield` conflicts with another `Metafield`. This can be the result of duplicate unique key combinations of the app's client id, namespace, key, resource_type, and resource_id. content: application/json: schema: @@ -2107,7 +2126,7 @@ components: description: SKU of the variant. name: type: string - description: The item’s product name. + description: The item's product name. example: T-Shirt url: description: The product URL. @@ -2354,7 +2373,7 @@ components: type: object title: Item Custom description: |- - Add a custom item to the shopperʼs cart. + Add a custom item to the shopper's cart. * Custom items are not added to the catalog. * The price should be set to match the store settings for taxes. @@ -2378,7 +2397,7 @@ components: type: object title: Item Custom description: |- - Add a custom item to the shopperʼs cart. + Add a custom item to the shopper's cart. * Custom items are not added to the catalog. * The price should be set to match the store settings for taxes. @@ -2989,7 +3008,7 @@ components: date_created: type: string format: date-time - description: Date and time of the metafieldʼs creation. + description: Date and time of the metafield's creation. example: '2022-06-16T18:39:00+00:00' date_modified: type: string @@ -3135,7 +3154,7 @@ components: Response payload for the BigCommerce API. properties: data: - type: array + type: object items: $ref: '#/components/schemas/Metafield' meta: @@ -3308,14 +3327,14 @@ components: MetafieldKeyParam: name: key in: query - description: Filter based on a metafieldʼs key. + description: Filter based on a metafield's key. required: false schema: type: string MetafieldNamespaceParam: name: namespace in: query - description: Filter based on a metafieldʼs key. + description: Filter based on a metafield's key. required: false schema: type: string From 7c09d9b3d94cc55be8933884a2c111b129ba28aa Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Fri, 17 Nov 2023 16:59:43 -0600 Subject: [PATCH 343/360] (no ticket): [update] Catalog Categories, copy cleanup (#1526) --- reference/catalog/categories_catalog.v3.yml | 30 ++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/reference/catalog/categories_catalog.v3.yml b/reference/catalog/categories_catalog.v3.yml index f1bed614c..43996ff1b 100644 --- a/reference/catalog/categories_catalog.v3.yml +++ b/reference/catalog/categories_catalog.v3.yml @@ -65,7 +65,7 @@ paths: - name: id in: query description: | - Filter items by id. + Filter items by ID. schema: type: integer - name: 'id:in' @@ -446,7 +446,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). + A valid layout file. Please refer to [the article on creating category files (Help Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean @@ -469,7 +469,7 @@ paths: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. + Image URL used for this category on the storefront. Images can be uploaded using form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -586,7 +586,7 @@ paths: parameters: - name: id in: query - description: Filter items by id. + description: Filter items by ID. schema: type: integer - name: 'id:in' @@ -879,7 +879,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). + A valid layout file. Please refer to [the article on creating category files (Help Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean @@ -902,7 +902,7 @@ paths: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. + Image URL used for this category on the storefront. Images can be uploaded using form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -1017,7 +1017,7 @@ paths: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). + A valid layout file. Please refer to [the article on creating category files (Help Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean @@ -1040,7 +1040,7 @@ paths: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. + Image URL used for this category on the storefront. Images can be uploaded using form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -1174,7 +1174,7 @@ paths: - name: id in: query description: | - Filter items by id. + Filter items by ID. schema: type: integer - name: 'id:in' @@ -1339,7 +1339,7 @@ paths: **Read-Only Fields** - id - **Note:** The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. + **Note:** The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits (Help Center)](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. operationId: createCategoryMetafield parameters: - $ref: '#/components/parameters/ContentType' @@ -1845,7 +1845,7 @@ components: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). + A valid layout file. Please refer to [the article on creating category files (Help Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: type: boolean @@ -1868,7 +1868,7 @@ components: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. + Image URL used for this category on the storefront. Images can be uploaded using form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true custom_url: @@ -1879,7 +1879,7 @@ components: metafield_Base: title: metafield_Base type: object - description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' + description: 'Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits (Help Center)](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.' x-internal: false properties: key: @@ -2237,7 +2237,7 @@ components: minLength: 0 type: string description: | - A valid layout file. (Please refer to [this article](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/) on creating category files.) This field is writable only for stores with a Blueprint theme applied. + A valid layout file. Please refer to [the article on creating category files (Help Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see [Custom Template Associations](/docs/rest-content/custom-template-associations). example: category.html is_visible: title: is_visible @@ -2254,7 +2254,7 @@ components: image_url: type: string description: | - Image URL used for this category on the storefront. Images can be uploaded via form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. + Image URL used for this category on the storefront. Images can be uploaded using form file post to `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image extension like .jpg or .png is required. example: 'https://cdn8.bigcommerce.com/s-123456/product_images/d/fakeimage.png' x-url: true meta_description: From 5040fdb04f62abe4726e8e99f0b0c164febf7be9 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 28 Nov 2023 10:56:10 -0600 Subject: [PATCH 344/360] DEVDOCS-5637: [update] add .html to template strings (#1529) --- reference/carts.v3.yml | 92 +++++++++++++++++++------------------- reference/marketing.v2.yml | 62 ++++++++++++------------- 2 files changed, 77 insertions(+), 77 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 097b0bce2..b1b033abe 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -163,7 +163,7 @@ paths: message: Happy Birthday gift_certificates: - name: Tobi Day - theme: Birthday + theme: birthday.html amount: 1 quantity: 1 sender: @@ -322,7 +322,7 @@ paths: option_value: 'Yes' gift_certificates: - name: Happy Birthday - theme: Birthday + theme: birthday.html amount: 50 quantity: 1 sender: @@ -511,7 +511,7 @@ paths: gift_certificates: - id: 6e38bbc2-8873-472c-a452-8bd4aaea5d3a name: Happy Birthday - theme: Birthday + theme: birthday.html amount: 50 quantity: 1 taxable: false @@ -1014,12 +1014,12 @@ components: type: string description: The theme of the gift certificate. enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl + - birthday.html + - boy.html + - celebration.html + - christmas.html + - general.html + - girl.html amount: type: number minimum: 1 @@ -1078,12 +1078,12 @@ components: type: string description: The theme of the gift certificate. enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl + - birthday.html + - boy.html + - celebration.html + - christmas.html + - general.html + - girl.html amount: type: number minimum: 1 @@ -1181,12 +1181,12 @@ components: type: string description: The theme of the gift certificate. enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl + - birthday.html + - boy.html + - celebration.html + - christmas.html + - general.html + - girl.html amount: type: number minimum: 1 @@ -1286,12 +1286,12 @@ components: type: string description: The theme of the gift certificate. enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl + - birthday.html + - boy.html + - celebration.html + - christmas.html + - general.html + - girl.html amount: type: number minimum: 1 @@ -1484,12 +1484,12 @@ components: type: string description: The theme of the gift certificate. enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl + - birthday.html + - boy.html + - celebration.html + - christmas.html + - general.html + - girl.html amount: type: number description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' @@ -1528,7 +1528,7 @@ components: description: Name provided for the gift certificate that will appear in the control panel. theme: type: string - description: 'The theme of the gift certificate. The following options are available:`Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' + description: 'The theme of the gift certificate. The following options are available:`birthday.html`, `boy.html`, `celebration.html`, `christmas.html`, `general.html`, and `girl.html`.' amount: type: number description: 'Value must be between 1.00 and 1,000.00 in the store’s default currency.' @@ -2546,12 +2546,12 @@ components: type: string description: The theme of the gift certificate. enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl + - birthday.html + - boy.html + - celebration.html + - christmas.html + - general.html + - girl.html amount: type: number minimum: 1 @@ -2613,12 +2613,12 @@ components: type: string description: The theme of the gift certificate. enum: - - Birthday - - Boy - - Celebration - - Christmas - - General - - Girl + - birthday.html + - boy.html + - celebration.html + - christmas.html + - general.html + - girl.html amount: type: number minimum: 1 diff --git a/reference/marketing.v2.yml b/reference/marketing.v2.yml index bcb5152d4..47a422434 100644 --- a/reference/marketing.v2.yml +++ b/reference/marketing.v2.yml @@ -637,7 +637,7 @@ paths: amount: "10" balance: "0" status: active - template: "Birthday" + template: "birthday.html" message: Happy Birthday! purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" @@ -679,7 +679,7 @@ paths: amount: "10" balance: "0" status: active - template: "Birthday" + template: "birthday.html" message: Happy Birthday! purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" @@ -766,7 +766,7 @@ paths: balance: "500.0000" to_name: Alyss order_id: 1281 - template: "Celebration" + template: "celebration.html" message: "Celebrate" to_email: test@test.com from_name: Noland @@ -782,7 +782,7 @@ paths: balance: "700.0000" to_name: Alyss order_id: 0 - template: "General" + template: "general.html" message: "Test" to_email: test@test.com from_name: Noland @@ -798,7 +798,7 @@ paths: balance: "50.0000" to_name: Lyss order_id: 0 - template: "Celebration" + template: "celebration.html" message: "Celebrate" to_email: test5@test.com from_name: Somethingelse @@ -857,7 +857,7 @@ paths: amount: "10" balance: "0" status: active - template: "Birthday" + template: "birthday.html" message: Happy Birthday! purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" @@ -1191,14 +1191,14 @@ components: template: type: string description: The email theme to use in the message sent to the recipient. - example: Celebration + example: celebration.html enum: - - Birthday - - Girl - - Boy - - Celebration - - Christmas - - General + - birthday.html + - girl.html + - boy.html + - celebration.html + - christmas.html + - general.html message: type: string description: Text that will be sent to the recipient, such as “Congratulations.” @@ -1253,14 +1253,14 @@ components: template: type: string description: The email theme to use in the message sent to the recipient. - example: Celebration + example: celebration.html enum: - - Birthday - - Boy - - Girl - - Celebration - - Christmas - - General + - birthday.html + - boy.html + - girl.html + - celebration.html + - christmas.html + - general.html message: type: string description: Text that will be sent to the recipient, such as “Congratulations.” @@ -1316,14 +1316,14 @@ components: template: type: string description: The email theme to use in the message sent to the recipient. - example: Celebration + example: celebration.html enum: - - Birthday - - Boy - - Girl - - Celebration - - Christmas - - General + - birthday.html + - boy.html + - girl.html + - celebration.html + - christmas.html + - general.html message: maxLength: 250 type: string @@ -1502,7 +1502,7 @@ components: balance: "500.0000" to_name: Alyss order_id: 1281 - template: "Girl" + template: "girl.html" to_email: test@test.com from_name: Noland from_email: test1@test.com @@ -1516,7 +1516,7 @@ components: balance: "700.0000" to_name: Alyss order_id: 0 - template: "Boy" + template: "boy.html" to_email: test@test.com from_name: Noland from_email: test1@test.com @@ -1530,7 +1530,7 @@ components: balance: "50.0000" to_name: Lyss order_id: 0 - template: "Christmas" + template: "christmas.html" to_email: test5@test.com from_name: Somethingelse from_email: test15@test.com @@ -1555,7 +1555,7 @@ components: amount: "10" balance: "0" status: active - template: "Birthday" + template: "birthday.html" message: Happy Birthday! purchase_date: "Tue, 20 Jan 1970 08:45:38 CST" expiry_date: "Mon, 2 Jan 2023 08:45:38 CST" From fa500c35137530d78709dbb1c3589a0db9880de4 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 28 Nov 2023 11:03:03 -0600 Subject: [PATCH 345/360] DEVDOCS-5494: [update] update types (#1528) --- reference/carts.v3.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index b1b033abe..49e8f547a 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -2938,15 +2938,20 @@ components: type: string description: 'The product option name; for example, Color or Size.' nameId: - type: number + type: number + example: 151 description: The product option identifier. value: type: string description: 'The product option value; for example, Red or Medium.' valueId: - type: number + oneOf: + - type: number + example: 128 + - type: string + example: "1259" description: The product option value identifier in number format. - example: 128 + gift_wrapping: description: The gift wrapping details for this item. type: object From ab0999d24678a0c00ae6cc97fbca7b695e3691a4 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Wed, 29 Nov 2023 09:16:09 -0600 Subject: [PATCH 346/360] DEVDOCS-5611: [revise] remove duplicate object (#1525) --- reference/carts.v3.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 49e8f547a..7c0c07203 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -3159,9 +3159,7 @@ components: Response payload for the BigCommerce API. properties: data: - type: object - items: - $ref: '#/components/schemas/Metafield' + $ref: '#/components/schemas/Metafield' meta: $ref: '#/components/schemas/CollectionMeta' x-internal: false From 2605e466b270cf0523fb9997753e5ffc5dbce6af Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 4 Dec 2023 08:09:05 -0600 Subject: [PATCH 347/360] DEVDOCS-5407: [update] changed "options" to "option_selections" (#1530) --- reference/carts.v3.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml index 7c0c07203..2ad220064 100644 --- a/reference/carts.v3.yml +++ b/reference/carts.v3.yml @@ -133,15 +133,15 @@ paths: product_id: 118 list_price: 30 name: shirt - options: - - name: Size - nameId: 125 - value: Large - valueId: 127 + option_selections: + - name: Color + value: Red + option_id: 133 + option_value: 149 - name: Add a $5 Donation - nameId: 126 - value: 'No' - valueId: 129 + value: No + option_id: 126 + option_value: 129 channel_id: 1 currency: code: AUD From 0acf5ff03e002133a434074a7176bd192bd686b2 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Tue, 5 Dec 2023 17:40:46 -0600 Subject: [PATCH 348/360] [DEVDOCS-5371]: [revise] Pricelists, Remove the X-Strict-Mode header (#1532) --- reference/price_lists.v3.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 56a16fe1f..c30bd7a3c 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -1437,13 +1437,6 @@ paths: required: true schema: type: integer - - name: X-Strict-Mode - in: header - description: | - Header that determines whether the Batch API operates in strict mode or not. Strict mode will reject the entire request if any item in the batch has an error. - schema: - type: integer - default: 0 - $ref: '#/components/parameters/ContentType' requestBody: content: From f1fae907e7de4fc8f1e8fb97cddd3678f5e1d953 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Fri, 8 Dec 2023 12:21:12 -0600 Subject: [PATCH 349/360] DEVDOCS-5492 [deprecate]: Catalog API, deprecated view count (#1534) --- reference/catalog/products_catalog.v3.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index 5458be217..a8118691f 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -8329,6 +8329,7 @@ components: type: integer description: | The number of times the product has been viewed. + deprecated: true preorder_release_date: type: string description: | From 24e1972704ebd3ffc5a8bc5f5959ed55a7c77e57 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 11 Dec 2023 15:49:48 -0600 Subject: [PATCH 350/360] DEVDOCS-5671 [revise] Checkout Storefront, Update gift wrapping around CRUD (#1538) Co-authored-by: Shawn Wang <94653751+bc-shawnwang@users.noreply.github.com> --- reference/carts.sf.yml | 80 ++++++++++++++++++++++++++++++++++++++ reference/checkouts.sf.yml | 35 +++++++++++++++++ 2 files changed, 115 insertions(+) diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index 88adfc22f..d04e8e3ed 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -66,6 +66,20 @@ paths: - optionId: 10 optionValue: Some Text Value locale: en + With Gift Wrapping: + value: + lineItems: + - quantity: 2 + productId: 230 + optionSelections: + - optionId: 10 + optionValue: Some Text Value + giftWrapping: + wrapTogether: true + wrapDetails: + - id: 1 + message: "Happy Birthday" + locale: en required: true responses: '200': @@ -155,6 +169,17 @@ paths: optionValue: 117 - optionId: 11 optionValue: 125 + With Gift Wrapping: + value: + lineItems: + - quantity: 2 + productId: 230 + variantId: 124 + giftWrapping: + wrapTogether: true + wrapDetails: + - id: 1 + message: "Happy Birthday" description: '' '/carts/{cartId}/items/{itemId}': put: @@ -228,6 +253,24 @@ paths: - optionId: 125 optionValue: 127 locale: en + With Gift Wrapping: + value: + lineItem: + quantity: 2 + productId: 230 + variantId: 124 + giftWrapping: + wrapTogether: true + wrapDetails: + - id: 1 + message: "Happy Birthday" + With null Gift Wrapping (will delete current gift wrapping): + value: + lineItem: + quantity: 2 + productId: 230 + variantId: 124 + giftWrapping: null required: true responses: '200': @@ -505,6 +548,39 @@ components: type: string description: 'Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.' x-internal: false + requestPostOrPutGiftWrapping: + title: Gift Wrapping Request Data + required: + - wrapTogether + - wrapDetails + type: object + nullable: true + description: if passing null, it will remove the current gift wrapping for the item + properties: + wrapTogether: + type: boolean + description: Boolean value that specifies whether items whether items should be wrapped together or wrapped individually. + example: true + wrapDetails: + type: array + description: |- + Details for the gift wrapping option selected. This can be specified for each line item or together based on wrapTogether value. + If wrapTogether is false, each element in the wrapDetails array determines each item's specific wrapping. + (e.g if this line item has 6 quantity, you can pass at maximum 6 elements for the array to spefified each one's wrapping) + If wrapTogether is true, we will only use 1st element in the wrapDetails array to determine what to be wrapped + items: + type: object + required: + - id + properties: + id: + type: integer + description: Identifier of the gift wrapping option selected. + example: 0 + message: + type: string + description: Custom gift message. + example: Happy Birthday LineItemsRequest: title: requestLineItems oneOf: @@ -920,6 +996,8 @@ components: quantity: type: number description: Quantity of this item. + giftWrapping: + $ref: '#/components/schemas/requestPostOrPutGiftWrapping' required: - productId - quantity @@ -934,6 +1012,8 @@ components: variantId: type: number description: ID of the variant. + giftWrapping: + $ref: '#/components/schemas/requestPostOrPutGiftWrapping' required: - productId - quantity diff --git a/reference/checkouts.sf.yml b/reference/checkouts.sf.yml index 703274778..2d72c25b2 100644 --- a/reference/checkouts.sf.yml +++ b/reference/checkouts.sf.yml @@ -3429,6 +3429,8 @@ components: type: number description: '' format: double + giftWrapping: + $ref: '#/components/schemas/cartLineItemGiftWrapping_Put' x-internal: false cartLineItemGiftCertificate_Put: title: cartLineItemGiftCertificate_Put @@ -3461,6 +3463,39 @@ components: description: '' format: double x-internal: false + cartLineItemGiftWrapping_Put: + title: Gift Wrapping Request Data + required: + - wrapTogether + - wrapDetails + type: object + nullable: true + description: if passing null, it will remove the current gift wrapping for the item + properties: + wrapTogether: + type: boolean + description: Boolean value that specifies whether items whether items should be wrapped together or wrapped individually. + example: true + wrapDetails: + type: array + description: |- + Details for the gift wrapping option selected. This can be specified for each line item or together based on wrapTogether value. + If wrapTogether is false, each element in the wrapDetails array determines each item's specific wrapping. + (e.g if this line item has 6 quantity, you can pass at maximum 6 elements for the array to spefified each one's wrapping) + If wrapTogether is true, we will only use 1st element in the wrapDetails array to determine what to be wrapped + items: + type: object + required: + - id + properties: + id: + type: integer + description: Identifier of the gift wrapping option selected. + example: 0 + message: + type: string + description: Custom gift message. + example: Happy Birthday CreateConsignmentRequest: title: Create Consignment Request type: object From bfebca5dcce6d5c71da0b62a158cfc222c013e65 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 11 Dec 2023 16:03:22 -0600 Subject: [PATCH 351/360] Add rate limit to customers/addresses POST (#1539) --- reference/customers.v3.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 3dcc25669..643f29e0a 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -506,6 +506,7 @@ paths: * **state_or_province** * **postal_code** * An attempt to create an address that already exists will result in no change to the address or custom form field values, an HTTP 200 return code, and the address will be absent from the response body. + * The default rate limit for this endpoint is 10 concurrent requests. summary: Create a Customer Address operationId: CustomersAddressesPost deprecated: false From e8c0c37c675b94540873a887c1ad0a10fb519dee Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 12 Dec 2023 12:33:40 -0600 Subject: [PATCH 352/360] DEVDOCS-5664: [update] Carts SF, remove impossible examples (#1533) --- reference/carts.sf.yml | 146 +++-------------------------------------- 1 file changed, 10 insertions(+), 136 deletions(-) diff --git a/reference/carts.sf.yml b/reference/carts.sf.yml index d04e8e3ed..7b0adb56f 100644 --- a/reference/carts.sf.yml +++ b/reference/carts.sf.yml @@ -8,6 +8,11 @@ info: For info about API accounts, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). For info about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#same-origin-cors-authentication). + termsOfService: 'https://www.bigcommerce.com/terms' + contact: + name: BigCommerce + url: 'https://www.bigcommerce.com' + email: support@bigcommerce.com servers: - url: 'https://{store_domain}/api/storefront' variables: @@ -682,7 +687,7 @@ components: readOnly: true id: type: string - description: Id of the custom item + description: ID of the custom item readOnly: true example: f1f3a531-fbcf-439b-bac1-40d5ae5c2bff listPrice: @@ -1077,13 +1082,7 @@ components: - discountedAmount: 0 id: string lineItems: - customItems: - - extendedListPrice: 0 - id: f1f3a531-fbcf-439b-bac1-40d5ae5c2bff - listPrice: 10 - name: Custom Item Name - quantity: 1 - sku: SM-456 + customItems: [] digitalItems: - options: - name: string @@ -1186,13 +1185,7 @@ components: - discountedAmount: 0 id: string lineItems: - customItems: - - extendedListPrice: 0 - id: f1f3a531-fbcf-439b-bac1-40d5ae5c2bff - listPrice: 10 - name: Custom Item Name - quantity: 1 - sku: SM-456 + customItems: [] digitalItems: - options: - name: string @@ -1295,13 +1288,7 @@ components: - discountedAmount: 0 id: string lineItems: - customItems: - - extendedListPrice: 0 - id: f1f3a531-fbcf-439b-bac1-40d5ae5c2bff - listPrice: 10 - name: Custom Item Name - quantity: 1 - sku: SM-456 + customItems: [] digitalItems: - options: - name: string @@ -1464,119 +1451,7 @@ components: - discountedAmount: 0 id: string lineItems: - customItems: - - extendedListPrice: 0 - id: f1f3a531-fbcf-439b-bac1-40d5ae5c2bff - listPrice: 10 - name: Custom Item Name - quantity: 1 - sku: SM-456 - digitalItems: - - options: - - name: string - nameId: 0 - value: string - valueId: 0 - brand: string - couponAmount: 0 - discountAmount: 0 - discounts: - - discountedAmount: 0 - id: 0 - extendedListPrice: 0 - extendedSalePrice: 0 - id: '4' - imageUrl: 'http://example.com' - isTaxable: true - originalPrice: 0 - listPrice: 0 - name: string - parentId: '6' - productId: 0 - quantity: 0 - salePrice: 0 - sku: string - url: 'http://example.com' - variantId: 7 - giftCertificates: - - amount: 0 - id: string - isTaxable: true - message: string - name: string - recipient: - email: user@example.com - name: string - sender: - email: user@example.com - name: string - theme: string - physicalItems: - - options: - - name: string - nameId: 0 - value: string - valueId: 0 - brand: string - couponAmount: 0 - discountAmount: 0 - discounts: - - discountedAmount: 0 - id: string - extendedListPrice: 0 - extendedSalePrice: 0 - id: '4' - imageUrl: 'http://example.com' - isTaxable: true - originalPrice: 0 - listPrice: 0 - name: string - parentId: 6 - productId: 0 - quantity: 0 - salePrice: 0 - sku: string - url: 'http://example.com' - variantId: 7 - giftWrapping: null - isShippingRequired: true - createdTime: string - updatedTime: string - locale: string - deleteCarts: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/responseCart' - examples: - example-1: - value: - id: string - customerId: 0 - email: string - currency: - code: string - isTaxIncluded: true - baseAmount: 0 - discountAmount: 0 - cartAmount: 0 - coupons: - - code: string - couponType: 0 - discountedAmount: 0 - id: string - discounts: - - discountedAmount: 0 - id: string - lineItems: - customItems: - - extendedListPrice: 0 - id: f1f3a531-fbcf-439b-bac1-40d5ae5c2bff - listPrice: 10 - name: Custom Item Name - quantity: 1 - sku: SM-456 + customItems: [] digitalItems: - options: - name: string @@ -1660,5 +1535,4 @@ components: - lineItems.physicalItems.options - lineItems.digitalItems.options - 'lineItems.digitalItems.options,lineItems.physicalItems.options' - examples: {} From ebef59c6617efd2b5fd4bf1e6cec3017700c2a8f Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Tue, 12 Dec 2023 18:33:51 -0600 Subject: [PATCH 353/360] (no ticket): [update] Several docs, copyedits (#1514) --- .../catalog/product-variants_catalog.v3.yml | 3 +- reference/pages.v3.yml | 2 +- reference/price_lists.v3.yml | 6 +- reference/shipping.v2.yml | 1 - reference/webhooks.v3.yml | 92 +++++++++---------- 5 files changed, 52 insertions(+), 52 deletions(-) diff --git a/reference/catalog/product-variants_catalog.v3.yml b/reference/catalog/product-variants_catalog.v3.yml index f9c57562d..a6d88e506 100644 --- a/reference/catalog/product-variants_catalog.v3.yml +++ b/reference/catalog/product-variants_catalog.v3.yml @@ -1111,7 +1111,8 @@ paths: type: string - name: product_id in: query - description: 'A comma-separated list of IDs of products whose variants were requested. For example:`?product_id=:id``?product_id:in=77,80,81`' + description: |- + A comma-separated list of IDs of products whose variants were requested. For example:`?product_id:in=77,80,81` schema: type: string responses: diff --git a/reference/pages.v3.yml b/reference/pages.v3.yml index bcf6a2943..853d3354c 100644 --- a/reference/pages.v3.yml +++ b/reference/pages.v3.yml @@ -632,7 +632,7 @@ components: Include a header parameter called `X-Auth-Token` and pass it the `access_token` provided with your store API account or generated with your app's `/auth` callback. - ```http title="Security header example" + ```http filename="Security header example" X-Auth-Token: example_access_token ``` diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index c30bd7a3c..970c65c54 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -2786,7 +2786,7 @@ components: description: The price list with which the price record is associated. Either `variant_id` or `sku` is required. sku: type: string - description: The SKU for the variant with which this price record is associated. Either `sku`` or `variant_id is required. + description: The SKU for the variant with which this price record is associated. Either `sku` or `variant_id` is required. currency: type: string description: The 3-letter country code with which this price record is associated. @@ -2863,10 +2863,10 @@ components: description: The Price List with which this price record is associated. variant_id: type: integer - description: The variant with which this price record is associated. Either `variant_id`` or `sku` is required. + description: The variant with which this price record is associated. Either `variant_id` or `sku` is required. sku: type: string - description: The variant with which this price record is associated. Either `sku`` or `variant_id`` is required. + description: The variant with which this price record is associated. Either `sku` or `variant_id` is required. currency: type: string description: The 3-letter currency code with which this price set is associated. diff --git a/reference/shipping.v2.yml b/reference/shipping.v2.yml index ca760bc1f..cf585cd16 100644 --- a/reference/shipping.v2.yml +++ b/reference/shipping.v2.yml @@ -2111,7 +2111,6 @@ components: title: Shipping Provider type: string enum: - - '``' - fedex - auspost - canadapost diff --git a/reference/webhooks.v3.yml b/reference/webhooks.v3.yml index c1dc0237b..7b3465e18 100644 --- a/reference/webhooks.v3.yml +++ b/reference/webhooks.v3.yml @@ -696,7 +696,7 @@ components: Cart creation also fires the `store/cart/updated` webhook. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -748,7 +748,7 @@ components: * Quantity * Item Price - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -789,7 +789,7 @@ components: Fires when a cart is deleted. Carts are deleted in two ways; when all items are removed from a cart, and when an API consumer explicitly removes the cart using a `DELETE` request. Cart deletion ends the cart lifecycle. The `store/cart/updated` webhook also fires when the last item is removed. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -829,7 +829,7 @@ components: description: |- Fires when a new coupon code is applied to a cart. The webhook request body includes the ID of the coupon code. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -875,7 +875,7 @@ components: This webhook fires after a cart is abandoned. BigCommerce considers a cart abandoned when it has no activity for at least one hour. This webhook is available for all store plans, regardless of whether the Abandoned Cart Saver feature is enabled. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -919,7 +919,7 @@ components: Fires when a cart/checkout is converted into an order, which is typically after the checkout payment step on the storefront. At this point, the cart is automatically deleted and no longer accessible. This webhook returns both the cart/checkout ID and order ID for correlation purposes. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -964,7 +964,7 @@ components: description: |- This webhook subscribes to all cart line item events. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1005,7 +1005,7 @@ components: description: |- Fires when a new item is added to the cart. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1054,7 +1054,7 @@ components: * Quantity * Item Price - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1099,7 +1099,7 @@ components: description: |- Fires when an item is deleted from the cart. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1154,7 +1154,7 @@ components: description: |- Fires when a category is created. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1198,7 +1198,7 @@ components: * Enable Google Shopping - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1237,7 +1237,7 @@ components: description: |- Fires when a category is deleted. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1284,7 +1284,7 @@ components: description: |- Fires when a channel is created in the control panel or by API. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1335,7 +1335,7 @@ components: * config_meta - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1386,7 +1386,7 @@ components: description: |- Fires when a new customer is created. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1429,7 +1429,7 @@ components: This webhook is triggered when a customer is updated. In addition, this webhook is triggered when a shopper initially enters custom form field values within the account sign-up form. Please note that neither changing existing data in customer form fields nor changing a customer's address will trigger the webhook. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1471,7 +1471,7 @@ components: description: |- This webhook is triggered when a customer is deleted. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1512,7 +1512,7 @@ components: description: |- Fires when a customer address is updated. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1562,7 +1562,7 @@ components: description: |- Fires when a customer address is created. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1612,7 +1612,7 @@ components: description: |- Fires when a customer address is deleted. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1662,7 +1662,7 @@ components: description: |- Fires when a customer default payment instrument is updated. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1708,7 +1708,7 @@ components: description: |- This webhook is triggered when an order is created in the control panel, using an app, or by API. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1769,7 +1769,7 @@ components: * Release Date * Remove pre-order status on this date - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1810,7 +1810,7 @@ components: description: |- Fires when an order is archived. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1850,7 +1850,7 @@ components: description: |- This webhook is triggered when an order status changes; for example, from `Pending` to `Awaiting Payment`. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1905,7 +1905,7 @@ components: description: |- This webhook is triggered when an order message is created by a customer or in the control panel. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -1955,7 +1955,7 @@ components: description: |- This webhook is triggered when a refund is submitted against an order. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2010,7 +2010,7 @@ components: description: |- This webhook is triggered when a product is deleted. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2051,7 +2051,7 @@ components: description: |- Fires when a new product is created. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2144,7 +2144,7 @@ components: * Product Files * Customs Information - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2193,7 +2193,7 @@ components: * Inventory Low Stock - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2261,7 +2261,7 @@ components: Changes to the following fields trigger this event: * Quantity - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2331,7 +2331,7 @@ components: description: |- Fires when a shipment is created. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2379,7 +2379,7 @@ components: Changes to the following fields trigger this event: * Shipping Tracking Number - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2424,7 +2424,7 @@ components: description: |- This webhook is triggered when a shipment is deleted. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2474,7 +2474,7 @@ components: description: |- This webhook is triggered when a new SKU is created. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2529,7 +2529,7 @@ components: description: |- Fires when a SKU is updated. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2584,7 +2584,7 @@ components: description: |- Fires when a SKU is deleted. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2639,7 +2639,7 @@ components: description: |- Fires when a SKU is updated. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2712,7 +2712,7 @@ components: Changes to the following fields trigger this event: * Quantity - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2782,7 +2782,7 @@ components: description: |- Fires when a client store is canceled and uninstalled from the platform. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2825,7 +2825,7 @@ components: * Email * Phone - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2865,7 +2865,7 @@ components: description: |- Fires when a subscriber is created. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2905,7 +2905,7 @@ components: description: |- The webhook fires when a subscriber is updated. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", @@ -2945,7 +2945,7 @@ components: description: |- This webhook is triggered when a subscriber is deleted. - ```json title="Example callback object" lineNumbers + ```json filename="Example callback object" showLineNumbers { "created_at": 1561482670, "store_id": "1025646", From 73230aec148f13a5260771c42dbfb71ef98d2793 Mon Sep 17 00:00:00 2001 From: Vitali Judin <65638870+VitaliJud@users.noreply.github.com> Date: Thu, 14 Dec 2023 10:55:45 -0600 Subject: [PATCH 354/360] Update shipping_provider.yml (#1391) Co-authored-by: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> --- reference/shipping_provider.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/shipping_provider.yml b/reference/shipping_provider.yml index 3b5b6577f..2b2190c06 100644 --- a/reference/shipping_provider.yml +++ b/reference/shipping_provider.yml @@ -22,7 +22,7 @@ info: ## Additional Information ### Webhooks - - [Shipment](/docs/integrations/webhooks/events#shipment) + - [Shipments](/docs/integrations/webhooks/events#shipments) ### Related API Resources - [Shipping Provider](/docs/rest-contracts/shipping) @@ -1918,4 +1918,4 @@ components: type: string description: The value of a [shipping address](/docs/rest-management/orders/order-shipping-addresses#get-a-shipping-address) form field. Depending on the form field, this could be a user-defined value or the value of a hidden input. title: Form Field Value - \ No newline at end of file + From 4c360dc2aeb685f0b6a496c3c3ecf2a4889e2062 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Thu, 14 Dec 2023 10:33:01 -0800 Subject: [PATCH 355/360] DEVDOCS-5681 [new]: Orders V2 API, add shipping_provider_display_name field (#1542) Co-authored-by: Luke Eller --- reference/orders.v2.oas2.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reference/orders.v2.oas2.yml b/reference/orders.v2.oas2.yml index 086aa98a8..22bdc2e3a 100644 --- a/reference/orders.v2.oas2.yml +++ b/reference/orders.v2.oas2.yml @@ -2284,6 +2284,7 @@ components: - order_product_id: 188 product_id: 0 quantity: 1 + shipping_provider_display_name: USPS generated_tracking_link: http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=EJ958083578US - id: 7 order_id: 225 @@ -2327,6 +2328,7 @@ components: - order_product_id: 189 product_id: 0 quantity: 1 + shipping_provider_display_name: USPS generated_tracking_link: http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=EJ958083578US orderShipment_Resp: description: '' @@ -2382,6 +2384,7 @@ components: - order_product_id: 195 product_id: 0 quantity: 1 + shipping_provider_display_name: USPS generated_tracking_link: http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=EJ958083578US orderCount_Resp: description: '' @@ -3197,6 +3200,10 @@ components: quantity: type: integer example: 2 + shipping_provider_display_name: + type: string + description: The human-readable name for the `shipping_provider`. + readOnly: true generated_tracking_link: type: string description: The tracking link that is generated using the combination of either the `tracking_number` and `shipping_provider` or `tracking_number` and `tracking_carrier`. This will be empty if the custom `tracking_link` value is provided. From 0a2de471003b780302cf6f2ed384f4c93050aecf Mon Sep 17 00:00:00 2001 From: Matthew Volk Date: Fri, 15 Dec 2023 11:25:33 -0600 Subject: [PATCH 356/360] (no ticket): [revise] query param include should accept comma separated list of values (#1527) --- reference/catalog/products_catalog.v3.yml | 46 +++++++++++++---------- reference/customers.v3.yml | 17 ++++++--- reference/orders.sf.yml | 21 ++++++----- reference/price_lists.v3.yml | 22 +++++++---- 4 files changed, 63 insertions(+), 43 deletions(-) diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml index a8118691f..d40fd8f66 100644 --- a/reference/catalog/products_catalog.v3.yml +++ b/reference/catalog/products_catalog.v3.yml @@ -302,17 +302,20 @@ paths: * modifiers * options * videos + explode: false schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos + type: array + items: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' @@ -1348,17 +1351,20 @@ paths: - name: include in: query description: 'Sub-resources to include on a product, in a comma-separated list. If `options` or `modifiers` is used, results are limited to 10 per page.' + explode: false schema: - type: string - enum: - - variants - - images - - custom_fields - - bulk_pricing_rules - - primary_image - - modifiers - - options - - videos + type: array + items: + type: string + enum: + - variants + - images + - custom_fields + - bulk_pricing_rules + - primary_image + - modifiers + - options + - videos - name: include_fields in: query description: 'Fields to include, in a comma-separated list. The ID and the specified fields will be returned.' diff --git a/reference/customers.v3.yml b/reference/customers.v3.yml index 643f29e0a..7362cdd31 100644 --- a/reference/customers.v3.yml +++ b/reference/customers.v3.yml @@ -171,13 +171,18 @@ paths: * `segment_ids`- segments the customer belongs to (Beta) `include=addresses,storecredit,attributes,formfields,shopper_profile_id,segment_ids` + explode: false schema: - type: string - enum: - - addresses - - storecredit - - attributes - - formfields + type: array + items: + type: string + enum: + - addresses + - storecredit + - attributes + - formfields + - shopper_profile_id + - segment_ids - in: query name: sort description: 'Sort items by date_created, date_modified, or last_name:* `date_created:asc` - date created, ascending* `date_created:desc` - date created, descending* `last_name:asc` - last name, ascending* `last_name:desc` - last name, descending * `date_modified:asc` - date modified, ascending* `date_modified:desc`- date modified, descending Example: `sort=last_name:asc`' diff --git a/reference/orders.sf.yml b/reference/orders.sf.yml index 5f0970acf..99f339cae 100644 --- a/reference/orders.sf.yml +++ b/reference/orders.sf.yml @@ -47,16 +47,19 @@ paths: - name: include in: query description: Sub-resources to include in an Order, in a comma-separated list. The ID and the specified fields will be returned. + explode: false schema: - type: string - enum: - - lineItems - - billingAddress - - coupons - - currency - - taxes - - payments - - consignments + type: array + items: + type: string + enum: + - lineItems + - billingAddress + - coupons + - currency + - taxes + - payments + - consignments responses: '200': description: '' diff --git a/reference/price_lists.v3.yml b/reference/price_lists.v3.yml index 970c65c54..38832d3aa 100644 --- a/reference/price_lists.v3.yml +++ b/reference/price_lists.v3.yml @@ -849,11 +849,14 @@ paths: in: query description: | Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. + explode: false schema: - type: string - enum: - - bulk_pricing_tiers - - sku + type: array + items: + type: string + enum: + - bulk_pricing_tiers + - sku - name: price in: query description: | @@ -1927,11 +1930,14 @@ paths: description: | Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. Sub-resources to include on a price record, in a comma-separated list. Valid expansions currently include `bulk_pricing_tiers` and `sku`. Other values will be ignored. + explode: false schema: - type: string - enum: - - bulk_pricing_tiers - - sku + type: array + items: + type: string + enum: + - bulk_pricing_tiers + - sku responses: '200': description: '' From 73c03dd7eacced02b8d1c90ca94cab41ca8c8aa4 Mon Sep 17 00:00:00 2001 From: Tom Robertshaw Date: Fri, 15 Dec 2023 17:27:54 +0000 Subject: [PATCH 357/360] (external): [update] Abandoned Carts, remove duplicate channel_id param (#1474) --- reference/abandoned_carts.v3.yml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/reference/abandoned_carts.v3.yml b/reference/abandoned_carts.v3.yml index c788bd9e3..b53d3f156 100644 --- a/reference/abandoned_carts.v3.yml +++ b/reference/abandoned_carts.v3.yml @@ -87,13 +87,6 @@ paths: operationId: getChannelAbandonedCartSettings tags: - Abandoned Carts Settings - parameters: - - name: channel_id - description: The channel ID of the settings overrides - in: path - required: true - schema: - type: integer responses: '200': description: OK @@ -120,12 +113,6 @@ paths: tags: - Abandoned Carts Settings parameters: - - name: channel_id - description: The channel ID of the settings overrides - in: path - required: true - schema: - type: integer - $ref: '#/components/parameters/ContentType' requestBody: required: true @@ -154,13 +141,13 @@ paths: $ref: '#/components/schemas/ErrorResponse' security: [] parameters: - - $ref: '#/components/parameters/Accept' - - schema: - type: string - name: channel_id + - name: channel_id + description: The channel ID of the settings overrides in: path required: true + schema: + type: integer '/abandoned-carts/{token}': get: responses: From be16641936a8d652531e309f2c13aadc3d358bda Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Fri, 15 Dec 2023 12:20:56 -0600 Subject: [PATCH 358/360] (no ticket): [update] Widgets, change widget datetime string format to one that exists (#1494) --- reference/widgets.v3.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/reference/widgets.v3.yml b/reference/widgets.v3.yml index a16660a9e..3dc19e234 100644 --- a/reference/widgets.v3.yml +++ b/reference/widgets.v3.yml @@ -753,11 +753,11 @@ components: description: The HTML layout which defines complex positioning for placements. date_created: type: string - format: datetime + format: date-time description: The date on which this object was initially created. date_modified: type: string - format: datetime + format: date-time description: The date on which this object was last updated. title: Layout meta: @@ -854,11 +854,11 @@ components: description: The HTML layout which defines complex positioning for placements. date_created: type: string - format: datetime + format: date-time description: The date on which this object was initially created. date_modified: type: string - format: datetime + format: date-time description: The date on which this object was last updated. title: Layout PlacementsCollection_Resp: @@ -1385,11 +1385,11 @@ components: description: The kind of widget template. date_created: type: string - format: datetime + format: date-time description: The date on which this object was initially created. date_modified: type: string - format: datetime + format: date-time description: The date on which this object was last updated. current_version_uuid: type: string @@ -1415,11 +1415,11 @@ components: $ref: '#/components/schemas/widgetTemplate_Full' date_created: type: string - format: datetime + format: date-time description: The date on which this object was initially created. date_modified: type: string - format: datetime + format: date-time description: The date on which this object was last updated. version_uuid: type: string @@ -1517,11 +1517,11 @@ components: description: The template file that you would like to target. date_created: type: string - format: datetime + format: date-time description: The date on which this object was initially created. date_modified: type: string - format: datetime + format: date-time description: The date on which this object was last updated. channel_id: type: integer From 16a8d0b350e0875c398949d6691a76e75ec44b92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Dec 2023 12:26:15 -0600 Subject: [PATCH 359/360] Bump word-wrap from 1.2.3 to 1.2.4 (#1384) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sarah Riehl --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a22c54782..4e3f8f486 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3322,9 +3322,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true, "engines": { "node": ">=0.10.0" From a01890e7a943faa130bff7b74d0cee0313504175 Mon Sep 17 00:00:00 2001 From: Lee Dunkley <56807262+leeBigCommerce@users.noreply.github.com> Date: Sat, 16 Dec 2023 05:34:16 +1100 Subject: [PATCH 360/360] PROMO-702: [update] Channels, tighten definitions (#1179) --- reference/channels.v3.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml index 8e5b6ff44..7c6d11b55 100644 --- a/reference/channels.v3.yml +++ b/reference/channels.v3.yml @@ -996,6 +996,9 @@ components: $ref: '#/components/schemas/ChannelWithoutCurrencies' meta: $ref: '#/components/schemas/MetaWithFullPagination' + required: + - data + - meta examples: response: $ref: '#/components/examples/multiple_channels_without_currencies_resp_example' @@ -2567,6 +2570,9 @@ components: $ref: '#/components/schemas/ChannelDateModified' icon_url: $ref: '#/components/schemas/IconUrl' + required: + - id + - name x-internal: false ChannelWithCurrencies: type: object